text: exports.id=0,exports.modules={"./build/contracts/FlightSuretyApp.json":function(e){e.exports=JSON.parse('{"contractName":"FlightSuretyApp","abi":[{"constant":true,"inputs":[],"name":"REGISTRATION_FEE","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"dataContract","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"airline","type":"address"},{"indexed":false,"name":"flight","type":"string"},{"indexed":false,"name":"timestamp","type":"uint256"},{"indexed":false,"name":"status","type":"uint8"}],"name":"FlightStatusInfo","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"airline","type":"address"},{"indexed":false,"name":"flight","type":"string"},{"indexed":false,"name":"timestamp","type":"uint256"},{"indexed":false,"name":"status","type":"uint8"}],"name":"OracleReport","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"index","type":"uint8"},{"indexed":false,"name":"airline","type":"address"},{"indexed":false,"name":"flight","type":"string"},{"indexed":false,"name":"timestamp","type":"uint256"}],"name":"OracleRequest","type":"event"},{"constant":true,"inputs":[],"name":"isOperational","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"airline","type":"address"}],"name":"registerAirline","outputs":[{"name":"success","type":"bool"},{"name":"votes","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"airline","type":"address"},{"name":"flight","type":"string"},{"name":"timestamp","type":"uint256"}],"name":"registerFlight","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"airline","type":"address"}],"name":"fund","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[],"name":"withdraw","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"airline","type":"address"},{"name":"flight","type":"string"}],"name":"buy","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"getFlightNumbers","outputs":[{"name":"","type":"string[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"airline","type":"address"},{"name":"flight","type":"string"},{"name":"timestamp","type":"uint256"}],"name":"fetchFlightStatus","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"registerOracle","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"getMyIndexes","outputs":[{"name":"","type":"uint8[3]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"index","type":"uint8"},{"name":"airline","type":"address"},{"name":"flight","type":"string"},{"name":"timestamp","type":"uint256"},{"name":"statusCode","type":"uint8"}],"name":"submitOracleResponse","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}],"metadata":"{\\"compiler\\":{\\"version\\":\\"0.4.26+commit.4563c3fc\\"},\\"language\\":\\"Solidity\\",\\"output\\":{\\"abi\\":[{\\"constant\\":true,\\"inputs\\":[],\\"name\\":\\"getFlightNumbers\\",\\"outputs\\":[{\\"name\\":\\"\\",\\"type\\":\\"string[]\\"}],\\"payable\\":false,\\"stateMutability\\":\\"view\\",\\"type\\":\\"function\\"},{\\"constant\\":false,\\"inputs\\":[{\\"name\\":\\"airline\\",\\"type\\":\\"address\\"}],\\"name\\":\\"fund\\",\\"outputs\\":[],\\"payable\\":true,\\"stateMutability\\":\\"payable\\",\\"type\\":\\"function\\"},{\\"constant\\":false,\\"inputs\\":[],\\"name\\":\\"registerOracle\\",\\"outputs\\":[],\\"payable\\":true,\\"stateMutability\\":\\"payable\\",\\"type\\":\\"function\\"},{\\"constant\\":false,\\"inputs\\":[{\\"name\\":\\"airline\\",\\"type\\":\\"address\\"},{\\"name\\":\\"flight\\",\\"type\\":\\"string\\"},{\\"name\\":\\"timestamp\\",\\"type\\":\\"uint256\\"}],\\"name\\":\\"registerFlight\\",\\"outputs\\":[],\\"payable\\":false,\\"stateMutability\\":\\"nonpayable\\",\\"type\\":\\"function\\"},{\\"constant\\":false,\\"inputs\\":[],\\"name\\":\\"withdraw\\",\\"outputs\\":[],\\"payable\\":true,\\"stateMutability\\":\\"payable\\",\\"type\\":\\"function\\"},{\\"constant\\":true,\\"inputs\\":[],\\"name\\":\\"getMyIndexes\\",\\"outputs\\":[{\\"name\\":\\"\\",\\"type\\":\\"uint8[3]\\"}],\\"payable\\":false,\\"stateMutability\\":\\"view\\",\\"type\\":\\"function\\"},{\\"constant\\":true,\\"inputs\\":[],\\"name\\":\\"REGISTRATION_FEE\\",\\"outputs\\":[{\\"name\\":\\"\\",\\"type\\":\\"uint256\\"}],\\"payable\\":false,\\"stateMutability\\":\\"view\\",\\"type\\":\\"function\\"},{\\"constant\\":false,\\"inputs\\":[{\\"name\\":\\"airline\\",\\"type\\":\\"address\\"},{\\"name\\":\\"flight\\",\\"type\\":\\"string\\"}],\\"name\\":\\"buy\\",\\"outputs\\":[],\\"payable\\":true,\\"stateMutability\\":\\"payable\\",\\"type\\":\\"function\\"},{\\"constant\\":false,\\"inputs\\":[{\\"name\\":\\"airline\\",\\"type\\":\\"address\\"}],\\"name\\":\\"registerAirline\\",\\"outputs\\":[{\\"name\\":\\"success\\",\\"type\\":\\"bool\\"},{\\"name\\":\\"votes\\",\\"type\\":\\"uint256\\"}],\\"payable\\":false,\\"stateMutability\\":\\"nonpayable\\",\\"type\\":\\"function\\"},{\\"constant\\":false,\\"inputs\\":[{\\"name\\":\\"index\\",\\"type\\":\\"uint8\\"},{\\"name\\":\\"airline\\",\\"type\\":\\"address\\"},{\\"name\\":\\"flight\\",\\"type\\":\\"string\\"},{\\"name\\":\\"timestamp\\",\\"type\\":\\"uint256\\"},{\\"name\\":\\"statusCode\\",\\"type\\":\\"uint8\\"}],\\"name\\":\\"submitOracleResponse\\",\\"outputs\\":[],\\"payable\\":false,\\"stateMutability\\":\\"nonpayable\\",\\"type\\":\\"function\\"},{\\"constant\\":true,\\"inputs\\":[],\\"name\\":\\"isOperational\\",\\"outputs\\":[{\\"name\\":\\"\\",\\"type\\":\\"bool\\"}],\\"payable\\":false,\\"stateMutability\\":\\"view\\",\\"type\\":\\"function\\"},{\\"constant\\":false,\\"inputs\\":[{\\"name\\":\\"airline\\",\\"type\\":\\"address\\"},{\\"name\\":\\"flight\\",\\"type\\":\\"string\\"},{\\"name\\":\\"timestamp\\",\\"type\\":\\"uint256\\"}],\\"name\\":\\"fetchFlightStatus\\",\\"outputs\\":[],\\"payable\\":false,\\"stateMutability\\":\\"nonpayable\\",\\"type\\":\\"function\\"},{\\"inputs\\":[{\\"name\\":\\"dataContract\\",\\"type\\":\\"address\\"}],\\"payable\\":false,\\"stateMutability\\":\\"nonpayable\\",\\"type\\":\\"constructor\\"},{\\"anonymous\\":false,\\"inputs\\":[{\\"indexed\\":false,\\"name\\":\\"airline\\",\\"type\\":\\"address\\"},{\\"indexed\\":false,\\"name\\":\\"flight\\",\\"type\\":\\"string\\"},{\\"indexed\\":false,\\"name\\":\\"timestamp\\",\\"type\\":\\"uint256\\"},{\\"indexed\\":false,\\"name\\":\\"status\\",\\"type\\":\\"uint8\\"}],\\"name\\":\\"FlightStatusInfo\\",\\"type\\":\\"event\\"},{\\"anonymous\\":false,\\"inputs\\":[{\\"indexed\\":false,\\"name\\":\\"airline\\",\\"type\\":\\"address\\"},{\\"indexed\\":false,\\"name\\":\\"flight\\",\\"type\\":\\"string\\"},{\\"indexed\\":false,\\"name\\":\\"timestamp\\",\\"type\\":\\"uint256\\"},{\\"indexed\\":false,\\"name\\":\\"status\\",\\"type\\":\\"uint8\\"}],\\"name\\":\\"OracleReport\\",\\"type\\":\\"event\\"},{\\"anonymous\\":false,\\"inputs\\":[{\\"indexed\\":false,\\"name\\":\\"index\\",\\"type\\":\\"uint8\\"},{\\"indexed\\":false,\\"name\\":\\"airline\\",\\"type\\":\\"address\\"},{\\"indexed\\":false,\\"name\\":\\"flight\\",\\"type\\":\\"string\\"},{\\"indexed\\":false,\\"name\\":\\"timestamp\\",\\"type\\":\\"uint256\\"}],\\"name\\":\\"OracleRequest\\",\\"type\\":\\"event\\"}],\\"devdoc\\":{\\"methods\\":{\\"buy(address,string)\\":{\\"details\\":\\"Called when user wants to buy flight insurance     \\"},\\"fund(address)\\":{\\"details\\":\\"An airline has to provide fund to register other airilines.     \\"},\\"getFlightNumbers()\\":{\\"details\\":\\"Gets the flight numbers     \\"},\\"registerAirline(address)\\":{\\"details\\":\\"Add an airline to the registration queue    \\"},\\"registerFlight(address,string,uint256)\\":{\\"details\\":\\"Register a future flight for insuring.    \\"},\\"withdraw()\\":{\\"details\\":\\"Called after oracle has updated flight status     \\"}}},\\"userdoc\\":{\\"methods\\":{\\"isOperational()\\":{\\"notice\\":\\"*****************************************************************************************\\"}}}},\\"settings\\":{\\"compilationTarget\\":{\\"/Users/stockbit/Documents/Tutorials/FlightSurety/contracts/FlightSuretyApp.sol\\":\\"FlightSuretyApp\\"},\\"evmVersion\\":\\"byzantium\\",\\"libraries\\":{},\\"optimizer\\":{\\"enabled\\":false,\\"runs\\":200},\\"remappings\\":[]},\\"sources\\":{\\"/Users/stockbit/Documents/Tutorials/FlightSurety/contracts/FlightSuretyApp.sol\\":{\\"keccak256\\":\\"0x51c620f58dd48b308516db3887cfcf6c8c03d95993910a2e712de1803afcaa85\\",\\"urls\\":[\\"bzzr://a2994d23b9bfd9df89d7c9a9187040ae565328faf51e54daf3dc73a9130c0ff6\\"]},\\"/Users/stockbit/Documents/Tutorials/FlightSurety/contracts/FlightSuretyData.sol\\":{\\"keccak256\\":\\"0x5ad9a2b071d022dd9af749a32371eac772187c71f7357933a1ad11a2401db7ac\\",\\"urls\\":[\\"bzzr://8dc5aad76f6314ca575bc0e36baa178178b312e16508f5ed88545769f5c90a54\\"]},\\"/Users/stockbit/Documents/Tutorials/FlightSurety/node_modules/openzeppelin-solidity/contracts/math/SafeMath.sol\\":{\\"keccak256\\":\\"0xa1c5e1d9ebbf654d332ca8e7a5c04a6a6a9d142eeaab3b988c2c909c81a62bef\\",\\"urls\\":[\\"bzzr://d062fb4a1b6de1f036ee0e73364a2532c4757eb68e95dd8c5cbb2d17b8732c6a\\"]}},\\"version\\":1}","bytecode":"0x60806040526000600160146101000a81548160ff021916908360ff1602179055503480156200002d57600080fd5b506040516020806200285483398101806040526200004f9190810190620000ed565b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505062000139565b6000620000e5825162000119565b905092915050565b6000602082840312156200010057600080fd5b60006200011084828501620000d7565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b61270b80620001496000396000f3006080604052600436106100ba576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806302bc6190146100bf57806323024408146100ea578063339d2590146101065780633cc0be9c146101105780633ccfd60b146101395780635f1cc0e61461014357806364b4f7511461016e5780638345183814610199578063bdfd9877146101b5578063c10f2700146101f3578063cd905dff1461021c578063f83f11c014610247575b600080fd5b3480156100cb57600080fd5b506100d4610270565b6040516100e19190612370565b60405180910390f35b61010460048036036100ff9190810190611cbc565b61037d565b005b61010e61046d565b005b34801561011c57600080fd5b5061013760048036036101329190810190611d3d565b610562565b005b61014161065a565b005b34801561014f57600080fd5b50610158610748565b6040516101659190612392565b60405180910390f35b34801561017a57600080fd5b5061018361088a565b60405161019091906124b1565b60405180910390f35b6101b360048036036101ae9190810190611ce5565b610896565b005b3480156101c157600080fd5b506101dc60048036036101d79190810190611cbc565b61098d565b6040516101ea9291906123c8565b60405180910390f35b3480156101ff57600080fd5b5061021a60048036036102159190810190611e3c565b610ebc565b005b34801561022857600080fd5b5061023161136a565b60405161023e91906123ad565b60405180910390f35b34801561025357600080fd5b5061026e60048036036102699190810190611d3d565b61142f565b005b6060600115156102b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102ac90612451565b60405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166302bc61906040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401600060405180830381600087803b15801561033b57600080fd5b505af115801561034f573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052506103789190810190611da9565b905090565b600115156103c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103b790612451565b60405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16632302440834836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401610438919061223b565b6000604051808303818588803b15801561045157600080fd5b505af1158015610465573d6000803e3d6000fd5b505050505050565b610475611a53565b670de0b6b3a764000034101515156104c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104b990612471565b60405180910390fd5b6104cb3361163d565b9050604080519081016040528060011515815260200182815250600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548160ff02191690831515021790555060208201518160010190600361055b929190611a76565b5090505050565b600115156105a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161059c90612451565b60405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633cc0be9c858585856040518563ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004016106229493929190612296565b600060405180830381600087803b15801561063c57600080fd5b505af1158015610650573d6000803e3d6000fd5b5050505050505050565b6001151561069d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161069490612451565b60405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630c11dedd336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401610714919061223b565b600060405180830381600087803b15801561072e57600080fd5b505af1158015610742573d6000803e3d6000fd5b50505050565b610750611a53565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900460ff1615156107e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107d890612431565b60405180910390fd5b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101600380602002604051908101604052809291908260038015610880576020028201916000905b82829054906101000a900460ff1660ff16815260200190600101906020826000010492830192600103820291508084116108495790505b5050505050905090565b670de0b6b3a764000081565b600115156108d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108d090612451565b60405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663bce877ab338585856040518563ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004016109569493929190612256565b600060405180830381600087803b15801561097057600080fd5b505af1158015610984573d6000803e3d6000fd5b50505050505050565b6000806000600115156109d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109cc90612451565b60405180910390fd5b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663570e30e1336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401610a4e919061223b565b602060405180830381600087803b158015610a6857600080fd5b505af1158015610a7c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610aa09190810190611dea565b905060011515811515141515610aeb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ae290612411565b60405180910390fd5b60009350600192506004600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633c85380f6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015610b7b57600080fd5b505af1158015610b8f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610bb39190810190611e13565b101515610e0157600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e36ed7b3866040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401610c31919061223b565b600060405180830381600087803b158015610c4b57600080fd5b505af1158015610c5f573d6000803e3d6000fd5b50505050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663dab6ce6a866040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401610cda919061223b565b602060405180830381600087803b158015610cf457600080fd5b505af1158015610d08573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610d2c9190810190611e13565b9250610d43600260046117e390919063ffffffff16565b91508183101515610dfc57600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663bdfd9877866040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401610dc5919061223b565b600060405180830381600087803b158015610ddf57600080fd5b505af1158015610df3573d6000803e3d6000fd5b50505050600193505b610eaf565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663bdfd9877866040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401610e78919061223b565b600060405180830381600087803b158015610e9257600080fd5b505af1158015610ea6573d6000803e3d6000fd5b50505050600193505b8383935093505050915091565b60008660ff16600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001016000600381101515610f1257fe5b602091828204019190069054906101000a900460ff1660ff161480610fa157508660ff16600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001016001600381101515610f8657fe5b602091828204019190069054906101000a900460ff1660ff16145b8061101657508660ff16600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001016002600381101515610ffb57fe5b602091828204019190069054906101000a900460ff1660ff16145b1515611057576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161104e90612491565b60405180910390fd5b8686868686604051602001808660ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018484808284378201915050828152602001955050505050506040516020818303038152906040526040518082805190602001908083835b60208310151561112e5780518252602082019150602081019050602083039250611109565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020905060036000826000191660001916815260200190815260200160002060000160149054906101000a900460ff1615156111ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111c1906123f1565b60405180910390fd5b60036000826000191660001916815260200190815260200160002060010160008360ff1660ff1681526020019081526020016000203390806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550507f43c853095c2752648493c88b4baac4d580d2594ffb00c6f1d4242d844514f783868686868660405161129a9594939291906122d6565b60405180910390a16003806000836000191660001916815260200190815260200160002060010160008460ff1660ff16815260200190815260200160002080549050101515611361577fe23f5229de535c091e3b7bec2665f5d698192d3b31393066e8987b7a05076b6c868686868660405161131a9594939291906122d6565b60405180910390a16113608686868080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505085856117f9565b5b50505050505050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663cd905dff6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156113f257600080fd5b505af1158015611406573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061142a9190810190611dea565b905090565b60008061143b336118f1565b91508186868686604051602001808660ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018484808284378201915050828152602001955050505050506040516020818303038152906040526040518082805190602001908083835b60208310151561151457805182526020820191506020810190506020830392506114ef565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020905060408051908101604052803373ffffffffffffffffffffffffffffffffffffffff1681526020016001151581525060036000836000191660001916815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160000160146101000a81548160ff0219169083151502179055509050507f3ed01f2c3fc24c6b329d931e35b03e390d23497d22b3f90e15b600343e93df11828787878760405161162d9594939291906124cc565b60405180910390a1505050505050565b611645611a53565b61164d611a53565b611656836118f1565b81600060038110151561166557fe5b602002019060ff16908160ff168152505080600060038110151561168557fe5b602002015181600160038110151561169957fe5b602002019060ff16908160ff16815250505b8060006003811015156116ba57fe5b602002015160ff168160016003811015156116d157fe5b602002015160ff16141561170d576116e8836118f1565b8160016003811015156116f757fe5b602002019060ff16908160ff16815250506116ab565b80600160038110151561171c57fe5b602002015181600260038110151561173057fe5b602002019060ff16908160ff16815250505b80600060038110151561175157fe5b602002015160ff1681600260038110151561176857fe5b602002015160ff1614806117a7575080600160038110151561178657fe5b602002015160ff1681600260038110151561179d57fe5b602002015160ff16145b156117da576117b5836118f1565b8160026003811015156117c457fe5b602002019060ff16908160ff1681525050611742565b80915050919050565b600081838115156117f057fe5b04905092915050565b6001151561183c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161183390612451565b60405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634337bdd4858585856040518563ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004016118b99493929190612324565b600060405180830381600087803b1580156118d357600080fd5b505af11580156118e7573d6000803e3d6000fd5b5050505050505050565b6000806000600a91508160ff166001601481819054906101000a900460ff168092919060010191906101000a81548160ff021916908360ff16021790555060ff16430340856040516020018083600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401925050506040516020818303038152906040526040518082805190602001908083835b6020831015156119d457805182526020820191506020810190506020830392506119af565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060019004811515611a0e57fe5b06905060fa600160149054906101000a900460ff1660ff161115611a49576000600160146101000a81548160ff021916908360ff1602179055505b8092505050919050565b606060405190810160405280600390602082028038833980820191505090505090565b826003601f01602090048101928215611aff5791602002820160005b83821115611ad057835183826101000a81548160ff021916908360ff1602179055509260200192600101602081600001049283019260010302611a92565b8015611afd5782816101000a81549060ff0219169055600101602081600001049283019260010302611ad0565b505b509050611b0c9190611b10565b5090565b611b3d91905b80821115611b3957600081816101000a81549060ff021916905550600101611b16565b5090565b90565b6000611b4c823561263b565b905092915050565b600082601f8301121515611b6757600080fd5b8151611b7a611b7582612547565b61251a565b9150818183526020840193506020810190508360005b83811015611bc05781518601611ba68882611c2a565b845260208401935060208301925050600181019050611b90565b5050505092915050565b6000611bd6825161265b565b905092915050565b60008083601f8401121515611bf257600080fd5b8235905067ffffffffffffffff811115611c0b57600080fd5b602083019150836001820283011115611c2357600080fd5b9250929050565b600082601f8301121515611c3d57600080fd5b8151611c50611c4b8261256f565b61251a565b91508082526020830160208301858383011115611c6c57600080fd5b611c7783828461268d565b50505092915050565b6000611c8c8235612667565b905092915050565b6000611ca08251612667565b905092915050565b6000611cb48235612671565b905092915050565b600060208284031215611cce57600080fd5b6000611cdc84828501611b40565b91505092915050565b600080600060408486031215611cfa57600080fd5b6000611d0886828701611b40565b935050602084013567ffffffffffffffff811115611d2557600080fd5b611d3186828701611bde565b92509250509250925092565b60008060008060608587031215611d5357600080fd5b6000611d6187828801611b40565b945050602085013567ffffffffffffffff811115611d7e57600080fd5b611d8a87828801611bde565b93509350506040611d9d87828801611c80565b91505092959194509250565b600060208284031215611dbb57600080fd5b600082015167ffffffffffffffff811115611dd557600080fd5b611de184828501611b54565b91505092915050565b600060208284031215611dfc57600080fd5b6000611e0a84828501611bca565b91505092915050565b600060208284031215611e2557600080fd5b6000611e3384828501611c94565b91505092915050565b60008060008060008060a08789031215611e5557600080fd5b6000611e6389828a01611ca8565b9650506020611e7489828a01611b40565b955050604087013567ffffffffffffffff811115611e9157600080fd5b611e9d89828a01611bde565b94509450506060611eb089828a01611c80565b9250506080611ec189828a01611ca8565b9150509295509295509295565b611ed7816125f8565b82525050565b6000611ee8826125b2565b80845260208401935083602082028501611f018561259b565b60005b84811015611f3a578383038852611f1c838351612005565b9250611f27826125de565b9150602088019750600181019050611f04565b508196508694505050505092915050565b611f54816125bd565b611f5d826125a8565b60005b82811015611f8f57611f7385835161222c565b611f7c826125eb565b9150602085019450600181019050611f60565b5050505050565b611f9f81612618565b82525050565b6000828452602084019350611fbb83858461267e565b611fc4836126c0565b840190509392505050565b6000611fda826125d3565b808452611fee81602086016020860161268d565b611ff7816126c0565b602085010191505092915050565b6000612010826125c8565b80845261202481602086016020860161268d565b61202d816126c0565b602085010191505092915050565b6000602f82527f466c69676874206f722074696d657374616d7020646f206e6f74206d6174636860208301527f206f7261636c65207265717565737400000000000000000000000000000000006040830152606082019050919050565b6000602582527f4169726c696e6520686173206e6f74207061696420726567697374726174696f60208301527f6e206665650000000000000000000000000000000000000000000000000000006040830152606082019050919050565b6000601b82527f4e6f74207265676973746572656420617320616e206f7261636c6500000000006020830152604082019050919050565b6000602582527f436f6e74726163742069732063757272656e746c79206e6f74206f706572617460208301527f696f6e616c0000000000000000000000000000000000000000000000000000006040830152606082019050919050565b6000601c82527f526567697374726174696f6e20666565206973207265717569726564000000006020830152604082019050919050565b6000602382527f496e64657820646f6573206e6f74206d61746368206f7261636c65207265717560208301527f65737400000000000000000000000000000000000000000000000000000000006040830152606082019050919050565b61222681612624565b82525050565b6122358161262e565b82525050565b60006020820190506122506000830184611ece565b92915050565b600060608201905061226b6000830187611ece565b6122786020830186611ece565b818103604083015261228b818486611fa5565b905095945050505050565b60006060820190506122ab6000830187611ece565b81810360208301526122be818587611fa5565b90506122cd604083018461221d565b95945050505050565b60006080820190506122eb6000830188611ece565b81810360208301526122fe818688611fa5565b905061230d604083018561221d565b61231a606083018461222c565b9695505050505050565b60006080820190506123396000830187611ece565b818103602083015261234b8186611fcf565b905061235a604083018561221d565b612367606083018461222c565b95945050505050565b6000602082019050818103600083015261238a8184611edd565b905092915050565b60006060820190506123a76000830184611f4b565b92915050565b60006020820190506123c26000830184611f96565b92915050565b60006040820190506123dd6000830185611f96565b6123ea602083018461221d565b9392505050565b6000602082019050818103600083015261240a8161203b565b9050919050565b6000602082019050818103600083015261242a81612098565b9050919050565b6000602082019050818103600083015261244a816120f5565b9050919050565b6000602082019050818103600083015261246a8161212c565b9050919050565b6000602082019050818103600083015261248a81612189565b9050919050565b600060208201905081810360008301526124aa816121c0565b9050919050565b60006020820190506124c6600083018461221d565b92915050565b60006080820190506124e1600083018861222c565b6124ee6020830187611ece565b8181036040830152612501818587611fa5565b9050612510606083018461221d565b9695505050505050565b6000604051905081810181811067ffffffffffffffff8211171561253d57600080fd5b8060405250919050565b600067ffffffffffffffff82111561255e57600080fd5b602082029050602081019050919050565b600067ffffffffffffffff82111561258657600080fd5b601f19601f8301169050602081019050919050565b6000602082019050919050565b6000819050919050565b600081519050919050565b600060039050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b6000602082019050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60008115159050919050565b6000819050919050565b600060ff82169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60008115159050919050565b6000819050919050565b600060ff82169050919050565b82818337600083830152505050565b60005b838110156126ab578082015181840152602081019050612690565b838111156126ba576000848401525b50505050565b6000601f19601f83011690509190505600a265627a7a723058206c123de46a20c74c6065369c94a611075c54c96df3cc773e5c5b7a06e005fd5b6c6578706572696d656e74616cf50037","deployedBytecode":"0x6080604052600436106100ba576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806302bc6190146100bf57806323024408146100ea578063339d2590146101065780633cc0be9c146101105780633ccfd60b146101395780635f1cc0e61461014357806364b4f7511461016e5780638345183814610199578063bdfd9877146101b5578063c10f2700146101f3578063cd905dff1461021c578063f83f11c014610247575b600080fd5b3480156100cb57600080fd5b506100d4610270565b6040516100e19190612370565b60405180910390f35b61010460048036036100ff9190810190611cbc565b61037d565b005b61010e61046d565b005b34801561011c57600080fd5b5061013760048036036101329190810190611d3d565b610562565b005b61014161065a565b005b34801561014f57600080fd5b50610158610748565b6040516101659190612392565b60405180910390f35b34801561017a57600080fd5b5061018361088a565b60405161019091906124b1565b60405180910390f35b6101b360048036036101ae9190810190611ce5565b610896565b005b3480156101c157600080fd5b506101dc60048036036101d79190810190611cbc565b61098d565b6040516101ea9291906123c8565b60405180910390f35b3480156101ff57600080fd5b5061021a60048036036102159190810190611e3c565b610ebc565b005b34801561022857600080fd5b5061023161136a565b60405161023e91906123ad565b60405180910390f35b34801561025357600080fd5b5061026e60048036036102699190810190611d3d565b61142f565b005b6060600115156102b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102ac90612451565b60405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166302bc61906040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401600060405180830381600087803b15801561033b57600080fd5b505af115801561034f573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052506103789190810190611da9565b905090565b600115156103c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103b790612451565b60405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16632302440834836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401610438919061223b565b6000604051808303818588803b15801561045157600080fd5b505af1158015610465573d6000803e3d6000fd5b505050505050565b610475611a53565b670de0b6b3a764000034101515156104c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104b990612471565b60405180910390fd5b6104cb3361163d565b9050604080519081016040528060011515815260200182815250600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548160ff02191690831515021790555060208201518160010190600361055b929190611a76565b5090505050565b600115156105a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161059c90612451565b60405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633cc0be9c858585856040518563ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004016106229493929190612296565b600060405180830381600087803b15801561063c57600080fd5b505af1158015610650573d6000803e3d6000fd5b5050505050505050565b6001151561069d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161069490612451565b60405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630c11dedd336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401610714919061223b565b600060405180830381600087803b15801561072e57600080fd5b505af1158015610742573d6000803e3d6000fd5b50505050565b610750611a53565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900460ff1615156107e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107d890612431565b60405180910390fd5b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101600380602002604051908101604052809291908260038015610880576020028201916000905b82829054906101000a900460ff1660ff16815260200190600101906020826000010492830192600103820291508084116108495790505b5050505050905090565b670de0b6b3a764000081565b600115156108d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108d090612451565b60405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663bce877ab338585856040518563ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004016109569493929190612256565b600060405180830381600087803b15801561097057600080fd5b505af1158015610984573d6000803e3d6000fd5b50505050505050565b6000806000600115156109d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109cc90612451565b60405180910390fd5b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663570e30e1336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401610a4e919061223b565b602060405180830381600087803b158015610a6857600080fd5b505af1158015610a7c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610aa09190810190611dea565b905060011515811515141515610aeb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ae290612411565b60405180910390fd5b60009350600192506004600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633c85380f6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015610b7b57600080fd5b505af1158015610b8f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610bb39190810190611e13565b101515610e0157600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e36ed7b3866040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401610c31919061223b565b600060405180830381600087803b158015610c4b57600080fd5b505af1158015610c5f573d6000803e3d6000fd5b50505050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663dab6ce6a866040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401610cda919061223b565b602060405180830381600087803b158015610cf457600080fd5b505af1158015610d08573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610d2c9190810190611e13565b9250610d43600260046117e390919063ffffffff16565b91508183101515610dfc57600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663bdfd9877866040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401610dc5919061223b565b600060405180830381600087803b158015610ddf57600080fd5b505af1158015610df3573d6000803e3d6000fd5b50505050600193505b610eaf565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663bdfd9877866040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401610e78919061223b565b600060405180830381600087803b158015610e9257600080fd5b505af1158015610ea6573d6000803e3d6000fd5b50505050600193505b8383935093505050915091565b60008660ff16600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001016000600381101515610f1257fe5b602091828204019190069054906101000a900460ff1660ff161480610fa157508660ff16600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001016001600381101515610f8657fe5b602091828204019190069054906101000a900460ff1660ff16145b8061101657508660ff16600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001016002600381101515610ffb57fe5b602091828204019190069054906101000a900460ff1660ff16145b1515611057576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161104e90612491565b60405180910390fd5b8686868686604051602001808660ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018484808284378201915050828152602001955050505050506040516020818303038152906040526040518082805190602001908083835b60208310151561112e5780518252602082019150602081019050602083039250611109565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020905060036000826000191660001916815260200190815260200160002060000160149054906101000a900460ff1615156111ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111c1906123f1565b60405180910390fd5b60036000826000191660001916815260200190815260200160002060010160008360ff1660ff1681526020019081526020016000203390806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550507f43c853095c2752648493c88b4baac4d580d2594ffb00c6f1d4242d844514f783868686868660405161129a9594939291906122d6565b60405180910390a16003806000836000191660001916815260200190815260200160002060010160008460ff1660ff16815260200190815260200160002080549050101515611361577fe23f5229de535c091e3b7bec2665f5d698192d3b31393066e8987b7a05076b6c868686868660405161131a9594939291906122d6565b60405180910390a16113608686868080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505085856117f9565b5b50505050505050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663cd905dff6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156113f257600080fd5b505af1158015611406573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061142a9190810190611dea565b905090565b60008061143b336118f1565b91508186868686604051602001808660ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018484808284378201915050828152602001955050505050506040516020818303038152906040526040518082805190602001908083835b60208310151561151457805182526020820191506020810190506020830392506114ef565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020905060408051908101604052803373ffffffffffffffffffffffffffffffffffffffff1681526020016001151581525060036000836000191660001916815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160000160146101000a81548160ff0219169083151502179055509050507f3ed01f2c3fc24c6b329d931e35b03e390d23497d22b3f90e15b600343e93df11828787878760405161162d9594939291906124cc565b60405180910390a1505050505050565b611645611a53565b61164d611a53565b611656836118f1565b81600060038110151561166557fe5b602002019060ff16908160ff168152505080600060038110151561168557fe5b602002015181600160038110151561169957fe5b602002019060ff16908160ff16815250505b8060006003811015156116ba57fe5b602002015160ff168160016003811015156116d157fe5b602002015160ff16141561170d576116e8836118f1565b8160016003811015156116f757fe5b602002019060ff16908160ff16815250506116ab565b80600160038110151561171c57fe5b602002015181600260038110151561173057fe5b602002019060ff16908160ff16815250505b80600060038110151561175157fe5b602002015160ff1681600260038110151561176857fe5b602002015160ff1614806117a7575080600160038110151561178657fe5b602002015160ff1681600260038110151561179d57fe5b602002015160ff16145b156117da576117b5836118f1565b8160026003811015156117c457fe5b602002019060ff16908160ff1681525050611742565b80915050919050565b600081838115156117f057fe5b04905092915050565b6001151561183c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161183390612451565b60405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634337bdd4858585856040518563ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004016118b99493929190612324565b600060405180830381600087803b1580156118d357600080fd5b505af11580156118e7573d6000803e3d6000fd5b5050505050505050565b6000806000600a91508160ff166001601481819054906101000a900460ff168092919060010191906101000a81548160ff021916908360ff16021790555060ff16430340856040516020018083600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401925050506040516020818303038152906040526040518082805190602001908083835b6020831015156119d457805182526020820191506020810190506020830392506119af565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060019004811515611a0e57fe5b06905060fa600160149054906101000a900460ff1660ff161115611a49576000600160146101000a81548160ff021916908360ff1602179055505b8092505050919050565b606060405190810160405280600390602082028038833980820191505090505090565b826003601f01602090048101928215611aff5791602002820160005b83821115611ad057835183826101000a81548160ff021916908360ff1602179055509260200192600101602081600001049283019260010302611a92565b8015611afd5782816101000a81549060ff0219169055600101602081600001049283019260010302611ad0565b505b509050611b0c9190611b10565b5090565b611b3d91905b80821115611b3957600081816101000a81549060ff021916905550600101611b16565b5090565b90565b6000611b4c823561263b565b905092915050565b600082601f8301121515611b6757600080fd5b8151611b7a611b7582612547565b61251a565b9150818183526020840193506020810190508360005b83811015611bc05781518601611ba68882611c2a565b845260208401935060208301925050600181019050611b90565b5050505092915050565b6000611bd6825161265b565b905092915050565b60008083601f8401121515611bf257600080fd5b8235905067ffffffffffffffff811115611c0b57600080fd5b602083019150836001820283011115611c2357600080fd5b9250929050565b600082601f8301121515611c3d57600080fd5b8151611c50611c4b8261256f565b61251a565b91508082526020830160208301858383011115611c6c57600080fd5b611c7783828461268d565b50505092915050565b6000611c8c8235612667565b905092915050565b6000611ca08251612667565b905092915050565b6000611cb48235612671565b905092915050565b600060208284031215611cce57600080fd5b6000611cdc84828501611b40565b91505092915050565b600080600060408486031215611cfa57600080fd5b6000611d0886828701611b40565b935050602084013567ffffffffffffffff811115611d2557600080fd5b611d3186828701611bde565b92509250509250925092565b60008060008060608587031215611d5357600080fd5b6000611d6187828801611b40565b945050602085013567ffffffffffffffff811115611d7e57600080fd5b611d8a87828801611bde565b93509350506040611d9d87828801611c80565b91505092959194509250565b600060208284031215611dbb57600080fd5b600082015167ffffffffffffffff811115611dd557600080fd5b611de184828501611b54565b91505092915050565b600060208284031215611dfc57600080fd5b6000611e0a84828501611bca565b91505092915050565b600060208284031215611e2557600080fd5b6000611e3384828501611c94565b91505092915050565b60008060008060008060a08789031215611e5557600080fd5b6000611e6389828a01611ca8565b9650506020611e7489828a01611b40565b955050604087013567ffffffffffffffff811115611e9157600080fd5b611e9d89828a01611bde565b94509450506060611eb089828a01611c80565b9250506080611ec189828a01611ca8565b9150509295509295509295565b611ed7816125f8565b82525050565b6000611ee8826125b2565b80845260208401935083602082028501611f018561259b565b60005b84811015611f3a578383038852611f1c838351612005565b9250611f27826125de565b9150602088019750600181019050611f04565b508196508694505050505092915050565b611f54816125bd565b611f5d826125a8565b60005b82811015611f8f57611f7385835161222c565b611f7c826125eb565b9150602085019450600181019050611f60565b5050505050565b611f9f81612618565b82525050565b6000828452602084019350611fbb83858461267e565b611fc4836126c0565b840190509392505050565b6000611fda826125d3565b808452611fee81602086016020860161268d565b611ff7816126c0565b602085010191505092915050565b6000612010826125c8565b80845261202481602086016020860161268d565b61202d816126c0565b602085010191505092915050565b6000602f82527f466c69676874206f722074696d657374616d7020646f206e6f74206d6174636860208301527f206f7261636c65207265717565737400000000000000000000000000000000006040830152606082019050919050565b6000602582527f4169726c696e6520686173206e6f74207061696420726567697374726174696f60208301527f6e206665650000000000000000000000000000000000000000000000000000006040830152606082019050919050565b6000601b82527f4e6f74207265676973746572656420617320616e206f7261636c6500000000006020830152604082019050919050565b6000602582527f436f6e74726163742069732063757272656e746c79206e6f74206f706572617460208301527f696f6e616c0000000000000000000000000000000000000000000000000000006040830152606082019050919050565b6000601c82527f526567697374726174696f6e20666565206973207265717569726564000000006020830152604082019050919050565b6000602382527f496e64657820646f6573206e6f74206d61746368206f7261636c65207265717560208301527f65737400000000000000000000000000000000000000000000000000000000006040830152606082019050919050565b61222681612624565b82525050565b6122358161262e565b82525050565b60006020820190506122506000830184611ece565b92915050565b600060608201905061226b6000830187611ece565b6122786020830186611ece565b818103604083015261228b818486611fa5565b905095945050505050565b60006060820190506122ab6000830187611ece565b81810360208301526122be818587611fa5565b90506122cd604083018461221d565b95945050505050565b60006080820190506122eb6000830188611ece565b81810360208301526122fe818688611fa5565b905061230d604083018561221d565b61231a606083018461222c565b9695505050505050565b60006080820190506123396000830187611ece565b818103602083015261234b8186611fcf565b905061235a604083018561221d565b612367606083018461222c565b95945050505050565b6000602082019050818103600083015261238a8184611edd565b905092915050565b60006060820190506123a76000830184611f4b565b92915050565b60006020820190506123c26000830184611f96565b92915050565b60006040820190506123dd6000830185611f96565b6123ea602083018461221d565b9392505050565b6000602082019050818103600083015261240a8161203b565b9050919050565b6000602082019050818103600083015261242a81612098565b9050919050565b6000602082019050818103600083015261244a816120f5565b9050919050565b6000602082019050818103600083015261246a8161212c565b9050919050565b6000602082019050818103600083015261248a81612189565b9050919050565b600060208201905081810360008301526124aa816121c0565b9050919050565b60006020820190506124c6600083018461221d565b92915050565b60006080820190506124e1600083018861222c565b6124ee6020830187611ece565b8181036040830152612501818587611fa5565b9050612510606083018461221d565b9695505050505050565b6000604051905081810181811067ffffffffffffffff8211171561253d57600080fd5b8060405250919050565b600067ffffffffffffffff82111561255e57600080fd5b602082029050602081019050919050565b600067ffffffffffffffff82111561258657600080fd5b601f19601f8301169050602081019050919050565b6000602082019050919050565b6000819050919050565b600081519050919050565b600060039050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b6000602082019050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60008115159050919050565b6000819050919050565b600060ff82169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60008115159050919050565b6000819050919050565b600060ff82169050919050565b82818337600083830152505050565b60005b838110156126ab578082015181840152602081019050612690565b838111156126ba576000848401525b50505050565b6000601f19601f83011690509190505600a265627a7a723058206c123de46a20c74c6065369c94a611075c54c96df3cc773e5c5b7a06e005fd5b6c6578706572696d656e74616cf50037","sourceMap":"636:12005:0:-;;;7501:1;7479:23;;;;;;;;;;;;;;;;;;;;3552:143;8:9:-1;5:2;;;30:1;27;20:12;5:2;3552:143:0;;;;;;;;;;;;;;;;;;;;;;3619:10;3603:13;;:26;;;;;;;;;;;;;;;;;;3675:12;3639:16;;:49;;;;;;;;;;;;;;;;;;3552:143;636:12005;;5:122:-1;;83:39;114:6;108:13;83:39;;;74:48;;68:59;;;;;134:263;;249:2;237:9;228:7;224:23;220:32;217:2;;;265:1;262;255:12;217:2;300:1;317:64;373:7;364:6;353:9;349:22;317:64;;;307:74;;279:108;211:186;;;;;404:128;;484:42;477:5;473:54;462:65;;456:76;;;;636:12005:0;;;;;;;","deployedSourceMap":"636:12005:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6715:158;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6715:158:0;;;;;;;;;;;;;;;;;;;;5730:146;;;;;;;;;;;;;;;;;;;9129:427;;;;;;5435:193;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5435:193:0;;;;;;;;;;;;;;;;;;;5964:122;;;;;;9562:190;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9562:190:0;;;;;;;;;;;;;;;;;;;;7555:50;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7555:50:0;;;;;;;;;;;;;;;;;;;;6489:161;;;;;;;;;;;;;;;;;;;4525:834;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4525:834:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10074:1291;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10074:1291:0;;;;;;;;;;;;;;;;;;;3999:149;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3999:149:0;;;;;;;;;;;;;;;;;;;;6945:436;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6945:436:0;;;;;;;;;;;;;;;;;;;6715:158;6800:8;2441:4;2433:54;;;;;;;;;;;;;;;;;;;;;;;;6831:16;;;;;;;;;;;:33;;;:35;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6831:35:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6831:35:0;;;;;;39:16:-1;36:1;17:17;2:54;6831:35:0;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;6831:35:0;;;;;;;;;6824:42;;6715:158;:::o;5730:146::-;2441:4;2433:54;;;;;;;;;;;;;;;;;;;;;;;;5821:16;;;;;;;;;;;:21;;;5849:9;5860:7;5821:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5821:47:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5821:47:0;;;;;5730:146;:::o;9129:427::-;9417:23;;:::i;:::-;7598:7;9344:9;:29;;9336:70;;;;;;;;;;;;;;;;;;;;;;;;9443:27;9459:10;9443:15;:27::i;:::-;9417:53;;9503:46;;;;;;;;;9525:4;9503:46;;;;;;9540:7;9503:46;;;9481:7;:19;9489:10;9481:19;;;;;;;;;;;;;;;:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;9129:427;:::o;5435:193::-;2441:4;2433:54;;;;;;;;;;;;;;;;;;;;;;;;5562:16;;;;;;;;;;;:31;;;5594:7;5603:6;;5611:9;5562:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5562:59:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5562:59:0;;;;5435:193;;;;:::o;5964:122::-;2441:4;2433:54;;;;;;;;;;;;;;;;;;;;;;;;6046:16;;;;;;;;;;;:20;;;6067:10;6046:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6046:32:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6046:32:0;;;;5964:122::o;9562:190::-;9608:8;;:::i;:::-;9636:7;:19;9644:10;9636:19;;;;;;;;;;;;;;;:32;;;;;;;;;;;;9628:72;;;;;;;;;;;;;;;;;;;;;;;;9718:7;:19;9726:10;9718:19;;;;;;;;;;;;;;;:27;;9711:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9562:190;:::o;7555:50::-;7598:7;7555:50;:::o;6489:161::-;2441:4;2433:54;;;;;;;;;;;;;;;;;;;;;;;;6594:16;;;;;;;;;;;:20;;;6615:10;6627:7;6636:6;;6594:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6594:49:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6594:49:0;;;;6489:161;;;:::o;4525:834::-;4662:12;4676:13;4983:24;2441:4;2433:54;;;;;;;;;;;;;;;;;;;;;;;;3006:27;3036:16;;;;;;;;;;;:39;;;3076:10;3036:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3036:51:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3036:51:0;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;3036:51:0;;;;;;;;;3006:81;;3131:4;3105:30;;:22;:30;;;3097:80;;;;;;;;;;;;;;;;;;;;;;;;4715:5;4705:15;;4738:1;4730:9;;1527:1;4754:16;;;;;;;;;;;:33;;;:35;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4754:35:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4754:35:0;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;4754:35:0;;;;;;;;;:75;;4750:569;;;4845:16;;;;;;;;;;;:38;;;4884:7;4845:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4845:47:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4845:47:0;;;;4915:16;;;;;;;;;;;:45;;;4961:7;4915:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4915:54:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4915:54:0;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;4915:54:0;;;;;;;;;4907:62;;5010:43;5051:1;1527;5010:40;;:43;;;;:::i;:::-;4983:70;;5081:19;5072:5;:28;;5068:140;;;5120:16;;;;;;;;;;;:32;;;5153:7;5120:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5120:41:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5120:41:0;;;;5189:4;5179:14;;5068:140;4750:569;;;5239:16;;;;;;;;;;;:32;;;5272:7;5239:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5239:41:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5239:41:0;;;;5304:4;5294:14;;4750:569;5337:7;5346:5;5329:23;;;;2497:1;4525:834;;;;:::o;10074:1291::-;10615:11;10467:5;10433:39;;:7;:19;10441:10;10433:19;;;;;;;;;;;;;;;:27;;10461:1;10433:30;;;;;;;;;;;;;;;;;;;;;;;;;;;:39;;;10432:86;;;;10512:5;10478:39;;:7;:19;10486:10;10478:19;;;;;;;;;;;;;;;:27;;10506:1;10478:30;;;;;;;;;;;;;;;;;;;;;;;;;;;:39;;;10432:86;:131;;;;10557:5;10523:39;;:7;:19;10531:10;10523:19;;;;;;;;;;;;;;;:27;;10551:1;10523:30;;;;;;;;;;;;;;;;;;;;;;;;;;;:39;;;10432:131;10424:179;;;;;;;;;;;;;;;;;;;;;;;;10656:5;10663:7;10672:6;;10680:9;10639:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;10639:51:0;;;10629:62;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;10629:62:0;;;;;;;;;;;;;;;;10615:76;;10709:15;:20;10725:3;10709:20;;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;10701:87;;;;;;;;;;;;;;;;;;;;;;;;10799:15;:20;10815:3;10799:20;;;;;;;;;;;;;;;;;:30;;:42;10830:10;10799:42;;;;;;;;;;;;;;;10847:10;10799:59;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;10799:59:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11013:52;11026:7;11035:6;;11043:9;11054:10;11013:52;;;;;;;;;;;;;;;;;;;7713:1;11079:15;:20;11095:3;11079:20;;;;;;;;;;;;;;;;;:30;;:42;11110:10;11079:42;;;;;;;;;;;;;;;:49;;;;:66;;11075:284;;;11167:56;11184:7;11193:6;;11201:9;11212:10;11167:56;;;;;;;;;;;;;;;;;;;11289:59;11309:7;11318:6;;11289:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11326:9;11337:10;11289:19;:59::i;:::-;11075:284;10074:1291;;;;;;;:::o;3999:149::-;4044:4;4067:16;;;;;;;;;;;:30;;;:32;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4067:32:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4067:32:0;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;4067:32:0;;;;;;;;;4060:39;;3999:149;:::o;6945:436::-;7042:11;7150;7056:26;7071:10;7056:14;:26::i;:::-;7042:40;;7191:5;7198:7;7207:6;;7215:9;7174:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;7174:51:0;;;7164:62;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;7164:62:0;;;;;;;;;;;;;;;;7150:76;;7259:51;;;;;;;;;7284:10;7259:51;;;;;;7304:4;7259:51;;;;;7236:15;:20;7252:3;7236:20;;;;;;;;;;;;;;;;;:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7326:48;7340:5;7347:7;7356:6;;7364:9;7326:48;;;;;;;;;;;;;;;;;;;6945:436;;;;;;:::o;11624:484::-;11683:8;;:::i;:::-;11703:23;;:::i;:::-;11749;11764:7;11749:14;:23::i;:::-;11736:7;11744:1;11736:10;;;;;;;;;;;;:36;;;;;;;;;;;11796:7;11804:1;11796:10;;;;;;;;;;;;;11783:7;11791:1;11783:10;;;;;;;;;;;;:23;;;;;;;;;;;11816:93;11836:7;11844:1;11836:10;;;;;;;;;;;;;11822:24;;:7;11830:1;11822:10;;;;;;;;;;;;;:24;;;11816:93;;;11875:23;11890:7;11875:14;:23::i;:::-;11862:7;11870:1;11862:10;;;;;;;;;;;;:36;;;;;;;;;;;11816:93;;;11932:7;11940:1;11932:10;;;;;;;;;;;;;11919:7;11927:1;11919:10;;;;;;;;;;;;:23;;;;;;;;;;;11952:125;11973:7;11981:1;11973:10;;;;;;;;;;;;;11959:24;;:7;11967:1;11959:10;;;;;;;;;;;;;:24;;;11958:56;;;;12003:7;12011:1;12003:10;;;;;;;;;;;;;11989:24;;:7;11997:1;11989:10;;;;;;;;;;;;;:24;;;11958:56;11952:125;;;12043:23;12058:7;12043:14;:23::i;:::-;12030:7;12038:1;12030:10;;;;;;;;;;;;:36;;;;;;;;;;;11952:125;;;12094:7;12087:14;;11624:484;;;;:::o;665:283:2:-;725:7;941:2;936;:7;;;;;;;;929:14;;665:283;;;;:::o;6169:232:0:-;2441:4;2433:54;;;;;;;;;;;;;;;;;;;;;;;;6319:16;;;;;;;;;;;:35;;;6355:7;6364:6;6372:9;6383:10;6319:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6319:75:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6319:75:0;;;;6169:232;;;;:::o;12178:446::-;12237:5;12254:14;12356:12;12271:2;12254:19;;12460:8;12377:91;;12437:5;;:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12422:22;;:12;:22;12412:33;12447:7;12395:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;12395:60:0;;;12385:71;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;12385:71:0;;;;;;;;;;;;;;;;12377:80;;;:91;;;;;;;;12356:113;;12492:3;12484:5;;;;;;;;;;;:11;;;12480:114;;;12519:1;12511:5;;:9;;;;;;;;;;;;;;;;;;12480:114;12611:6;12604:13;;12178:446;;;;;:::o;636:12005::-;;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;148:4;140:6;136:17;126:27;;0:157;636:12005:0;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5:118:-1:-;;72:46;110:6;97:20;72:46;;;63:55;;57:66;;;;;147:704;;281:3;274:4;266:6;262:17;258:27;251:35;248:2;;;299:1;296;289:12;248:2;329:6;323:13;351:86;366:70;429:6;366:70;;;351:86;;;342:95;;454:5;479:6;472:5;465:21;509:4;501:6;497:17;487:27;;531:4;526:3;522:14;515:21;;584:6;617:1;602:243;627:6;624:1;621:13;602:243;;;703:3;697:10;689:6;685:23;727:54;777:3;765:10;727:54;;;722:3;715:67;805:4;800:3;796:14;789:21;;833:4;828:3;824:14;817:21;;659:186;649:1;646;642:9;637:14;;602:243;;;606:14;241:610;;;;;;;;859:116;;934:36;962:6;956:13;934:36;;;925:45;;919:56;;;;;997:336;;;1112:3;1105:4;1097:6;1093:17;1089:27;1082:35;1079:2;;;1130:1;1127;1120:12;1079:2;1163:6;1150:20;1140:30;;1190:18;1182:6;1179:30;1176:2;;;1222:1;1219;1212:12;1176:2;1256:4;1248:6;1244:17;1232:29;;1306:3;1299;1291:6;1287:16;1277:8;1273:31;1270:40;1267:2;;;1323:1;1320;1313:12;1267:2;1072:261;;;;;;1342:436;;1451:3;1444:4;1436:6;1432:17;1428:27;1421:35;1418:2;;;1469:1;1466;1459:12;1418:2;1499:6;1493:13;1521:61;1536:45;1574:6;1536:45;;;1521:61;;;1512:70;;1602:6;1595:5;1588:21;1638:4;1630:6;1626:17;1671:4;1664:5;1660:16;1706:3;1697:6;1692:3;1688:16;1685:25;1682:2;;;1723:1;1720;1713:12;1682:2;1733:39;1765:6;1760:3;1755;1733:39;;;1411:367;;;;;;;;1786:118;;1853:46;1891:6;1878:20;1853:46;;;1844:55;;1838:66;;;;;1911:122;;1989:39;2020:6;2014:13;1989:39;;;1980:48;;1974:59;;;;;2040:114;;2105:44;2141:6;2128:20;2105:44;;;2096:53;;2090:64;;;;;2161:241;;2265:2;2253:9;2244:7;2240:23;2236:32;2233:2;;;2281:1;2278;2271:12;2233:2;2316:1;2333:53;2378:7;2369:6;2358:9;2354:22;2333:53;;;2323:63;;2295:97;2227:175;;;;;2409:492;;;;2550:2;2538:9;2529:7;2525:23;2521:32;2518:2;;;2566:1;2563;2556:12;2518:2;2601:1;2618:53;2663:7;2654:6;2643:9;2639:22;2618:53;;;2608:63;;2580:97;2736:2;2725:9;2721:18;2708:32;2760:18;2752:6;2749:30;2746:2;;;2792:1;2789;2782:12;2746:2;2820:65;2877:7;2868:6;2857:9;2853:22;2820:65;;;2802:83;;;;2687:204;2512:389;;;;;;2908:617;;;;;3066:2;3054:9;3045:7;3041:23;3037:32;3034:2;;;3082:1;3079;3072:12;3034:2;3117:1;3134:53;3179:7;3170:6;3159:9;3155:22;3134:53;;;3124:63;;3096:97;3252:2;3241:9;3237:18;3224:32;3276:18;3268:6;3265:30;3262:2;;;3308:1;3305;3298:12;3262:2;3336:65;3393:7;3384:6;3373:9;3369:22;3336:65;;;3318:83;;;;3203:204;3438:2;3456:53;3501:7;3492:6;3481:9;3477:22;3456:53;;;3446:63;;3417:98;3028:497;;;;;;;;3532:404;;3678:2;3666:9;3657:7;3653:23;3649:32;3646:2;;;3694:1;3691;3684:12;3646:2;3750:1;3739:9;3735:17;3729:24;3773:18;3765:6;3762:30;3759:2;;;3805:1;3802;3795:12;3759:2;3825:95;3912:7;3903:6;3892:9;3888:22;3825:95;;;3815:105;;3708:218;3640:296;;;;;3943:257;;4055:2;4043:9;4034:7;4030:23;4026:32;4023:2;;;4071:1;4068;4061:12;4023:2;4106:1;4123:61;4176:7;4167:6;4156:9;4152:22;4123:61;;;4113:71;;4085:105;4017:183;;;;;4207:263;;4322:2;4310:9;4301:7;4297:23;4293:32;4290:2;;;4338:1;4335;4328:12;4290:2;4373:1;4390:64;4446:7;4437:6;4426:9;4422:22;4390:64;;;4380:74;;4352:108;4284:186;;;;;4477:861;;;;;;;4665:3;4653:9;4644:7;4640:23;4636:33;4633:2;;;4682:1;4679;4672:12;4633:2;4717:1;4734:51;4777:7;4768:6;4757:9;4753:22;4734:51;;;4724:61;;4696:95;4822:2;4840:53;4885:7;4876:6;4865:9;4861:22;4840:53;;;4830:63;;4801:98;4958:2;4947:9;4943:18;4930:32;4982:18;4974:6;4971:30;4968:2;;;5014:1;5011;5004:12;4968:2;5042:65;5099:7;5090:6;5079:9;5075:22;5042:65;;;5024:83;;;;4909:204;5144:2;5162:53;5207:7;5198:6;5187:9;5183:22;5162:53;;;5152:63;;5123:98;5252:3;5271:51;5314:7;5305:6;5294:9;5290:22;5271:51;;;5261:61;;5231:97;4627:711;;;;;;;;;5345:110;5418:31;5443:5;5418:31;;;5413:3;5406:44;5400:55;;;5491:773;;5638:60;5692:5;5638:60;;;5716:6;5711:3;5704:19;5740:4;5735:3;5731:14;5724:21;;5788:3;5830:4;5822:6;5818:17;5813:3;5809:27;5856:62;5912:5;5856:62;;;5939:1;5924:301;5949:6;5946:1;5943:13;5924:301;;;6011:9;6005:4;6001:20;5996:3;5989:33;6037:70;6102:4;6093:6;6087:13;6037:70;;;6029:78;;6124:66;6183:6;6124:66;;;6114:76;;6213:4;6208:3;6204:14;6197:21;;5971:1;5968;5964:9;5959:14;;5924:301;;;5928:14;6238:4;6231:11;;6255:3;6248:10;;5617:647;;;;;;;;;6301:507;6420:50;6464:5;6420:50;;;6516:52;6562:5;6516:52;;;6589:1;6574:222;6599:6;6596:1;6593:13;6574:222;;;6639:49;6684:3;6675:6;6669:13;6639:49;;;6705:56;6754:6;6705:56;;;6695:66;;6784:4;6779:3;6775:14;6768:21;;6621:1;6618;6614:9;6609:14;;6574:222;;;6578:14;6399:409;;;;;6816:101;6883:28;6905:5;6883:28;;;6878:3;6871:41;6865:52;;;6947:263;;7057:6;7052:3;7045:19;7081:4;7076:3;7072:14;7065:21;;7111:43;7147:6;7142:3;7135:5;7111:43;;;7175:29;7197:6;7175:29;;;7170:3;7166:39;7159:46;;7039:171;;;;;;7217:300;;7319:39;7352:5;7319:39;;;7375:6;7370:3;7363:19;7387:63;7443:6;7436:4;7431:3;7427:14;7420:4;7413:5;7409:16;7387:63;;;7482:29;7504:6;7482:29;;;7475:4;7470:3;7466:14;7462:50;7455:57;;7299:218;;;;;;7524:292;;7622:35;7651:5;7622:35;;;7674:6;7669:3;7662:19;7686:63;7742:6;7735:4;7730:3;7726:14;7719:4;7712:5;7708:16;7686:63;;;7781:29;7803:6;7781:29;;;7774:4;7769:3;7765:14;7761:50;7754:57;;7602:214;;;;;;7824:397;;7979:2;7974:3;7967:15;8016:66;8011:2;8006:3;8002:12;7995:88;8117:66;8112:2;8107:3;8103:12;8096:88;8212:2;8207:3;8203:12;8196:19;;7960:261;;;;8230:397;;8385:2;8380:3;8373:15;8422:66;8417:2;8412:3;8408:12;8401:88;8523:66;8518:2;8513:3;8509:12;8502:88;8618:2;8613:3;8609:12;8602:19;;8366:261;;;;8636:296;;8791:2;8786:3;8779:15;8828:66;8823:2;8818:3;8814:12;8807:88;8923:2;8918:3;8914:12;8907:19;;8772:160;;;;8941:397;;9096:2;9091:3;9084:15;9133:66;9128:2;9123:3;9119:12;9112:88;9234:66;9229:2;9224:3;9220:12;9213:88;9329:2;9324:3;9320:12;9313:19;;9077:261;;;;9347:296;;9502:2;9497:3;9490:15;9539:66;9534:2;9529:3;9525:12;9518:88;9634:2;9629:3;9625:12;9618:19;;9483:160;;;;9652:397;;9807:2;9802:3;9795:15;9844:66;9839:2;9834:3;9830:12;9823:88;9945:66;9940:2;9935:3;9931:12;9924:88;10040:2;10035:3;10031:12;10024:19;;9788:261;;;;10057:110;10130:31;10155:5;10130:31;;;10125:3;10118:44;10112:55;;;10174:104;10243:29;10266:5;10243:29;;;10238:3;10231:42;10225:53;;;10285:193;;10393:2;10382:9;10378:18;10370:26;;10407:61;10465:1;10454:9;10450:17;10441:6;10407:61;;;10364:114;;;;;10485:503;;10679:2;10668:9;10664:18;10656:26;;10693:61;10751:1;10740:9;10736:17;10727:6;10693:61;;;10765:62;10823:2;10812:9;10808:18;10799:6;10765:62;;;10875:9;10869:4;10865:20;10860:2;10849:9;10845:18;10838:48;10900:78;10973:4;10964:6;10956;10900:78;;;10892:86;;10650:338;;;;;;;;10995:503;;11189:2;11178:9;11174:18;11166:26;;11203:61;11261:1;11250:9;11246:17;11237:6;11203:61;;;11312:9;11306:4;11302:20;11297:2;11286:9;11282:18;11275:48;11337:78;11410:4;11401:6;11393;11337:78;;;11329:86;;11426:62;11484:2;11473:9;11469:18;11460:6;11426:62;;;11160:338;;;;;;;;11505:597;;11723:3;11712:9;11708:19;11700:27;;11738:61;11796:1;11785:9;11781:17;11772:6;11738:61;;;11847:9;11841:4;11837:20;11832:2;11821:9;11817:18;11810:48;11872:78;11945:4;11936:6;11928;11872:78;;;11864:86;;11961:62;12019:2;12008:9;12004:18;11995:6;11961:62;;;12034:58;12088:2;12077:9;12073:18;12064:6;12034:58;;;11694:408;;;;;;;;;12109:577;;12317:3;12306:9;12302:19;12294:27;;12332:61;12390:1;12379:9;12375:17;12366:6;12332:61;;;12441:9;12435:4;12431:20;12426:2;12415:9;12411:18;12404:48;12466:68;12529:4;12520:6;12466:68;;;12458:76;;12545:62;12603:2;12592:9;12588:18;12579:6;12545:62;;;12618:58;12672:2;12661:9;12657:18;12648:6;12618:58;;;12288:398;;;;;;;;12693:365;;12863:2;12852:9;12848:18;12840:26;;12913:9;12907:4;12903:20;12899:1;12888:9;12884:17;12877:47;12938:110;13043:4;13034:6;12938:110;;;12930:118;;12834:224;;;;;13065:277;;13215:2;13204:9;13200:18;13192:26;;13229:103;13329:1;13318:9;13314:17;13305:6;13229:103;;;13186:156;;;;;13349:181;;13451:2;13440:9;13436:18;13428:26;;13465:55;13517:1;13506:9;13502:17;13493:6;13465:55;;;13422:108;;;;;13537:282;;13667:2;13656:9;13652:18;13644:26;;13681:55;13733:1;13722:9;13718:17;13709:6;13681:55;;;13747:62;13805:2;13794:9;13790:18;13781:6;13747:62;;;13638:181;;;;;;13826:387;;14007:2;13996:9;13992:18;13984:26;;14057:9;14051:4;14047:20;14043:1;14032:9;14028:17;14021:47;14082:121;14198:4;14082:121;;;14074:129;;13978:235;;;;14220:387;;14401:2;14390:9;14386:18;14378:26;;14451:9;14445:4;14441:20;14437:1;14426:9;14422:17;14415:47;14476:121;14592:4;14476:121;;;14468:129;;14372:235;;;;14614:387;;14795:2;14784:9;14780:18;14772:26;;14845:9;14839:4;14835:20;14831:1;14820:9;14816:17;14809:47;14870:121;14986:4;14870:121;;;14862:129;;14766:235;;;;15008:387;;15189:2;15178:9;15174:18;15166:26;;15239:9;15233:4;15229:20;15225:1;15214:9;15210:17;15203:47;15264:121;15380:4;15264:121;;;15256:129;;15160:235;;;;15402:387;;15583:2;15572:9;15568:18;15560:26;;15633:9;15627:4;15623:20;15619:1;15608:9;15604:17;15597:47;15658:121;15774:4;15658:121;;;15650:129;;15554:235;;;;15796:387;;15977:2;15966:9;15962:18;15954:26;;16027:9;16021:4;16017:20;16013:1;16002:9;15998:17;15991:47;16052:121;16168:4;16052:121;;;16044:129;;15948:235;;;;16190:193;;16298:2;16287:9;16283:18;16275:26;;16312:61;16370:1;16359:9;16355:17;16346:6;16312:61;;;16269:114;;;;;16390:597;;16608:3;16597:9;16593:19;16585:27;;16623:57;16677:1;16666:9;16662:17;16653:6;16623:57;;;16691:62;16749:2;16738:9;16734:18;16725:6;16691:62;;;16801:9;16795:4;16791:20;16786:2;16775:9;16771:18;16764:48;16826:78;16899:4;16890:6;16882;16826:78;;;16818:86;;16915:62;16973:2;16962:9;16958:18;16949:6;16915:62;;;16579:408;;;;;;;;;16994:256;;17056:2;17050:9;17040:19;;17094:4;17086:6;17082:17;17193:6;17181:10;17178:22;17157:18;17145:10;17142:34;17139:62;17136:2;;;17214:1;17211;17204:12;17136:2;17234:10;17230:2;17223:22;17034:216;;;;;17257:264;;17422:18;17414:6;17411:30;17408:2;;;17454:1;17451;17444:12;17408:2;17483:4;17475:6;17471:17;17463:25;;17511:4;17505;17501:15;17493:23;;17345:176;;;;17528:255;;17668:18;17660:6;17657:30;17654:2;;;17700:1;17697;17690:12;17654:2;17744:4;17740:9;17733:4;17725:6;17721:17;17717:33;17709:41;;17773:4;17767;17763:15;17755:23;;17591:192;;;;17792:127;;17907:4;17899:6;17895:17;17884:28;;17876:43;;;;17930:106;;18023:6;18012:17;;18004:32;;;;18045:113;;18147:5;18141:12;18131:22;;18125:33;;;;18165:94;;18251:3;18241:13;;18235:24;;;;18266:88;;18343:5;18337:12;18327:22;;18321:33;;;;18361:92;;18442:5;18436:12;18426:22;;18420:33;;;;18461:128;;18578:4;18570:6;18566:17;18555:28;;18548:41;;;;18598:118;;18705:4;18697:6;18693:17;18682:28;;18675:41;;;;18724:128;;18804:42;18797:5;18793:54;18782:65;;18776:76;;;;18859:92;;18939:5;18932:13;18925:21;18914:32;;18908:43;;;;18958:79;;19027:5;19016:16;;19010:27;;;;19044:88;;19122:4;19115:5;19111:16;19100:27;;19094:38;;;;19139:128;;19219:42;19212:5;19208:54;19197:65;;19191:76;;;;19274:92;;19354:5;19347:13;19340:21;19329:32;;19323:43;;;;19373:79;;19442:5;19431:16;;19425:27;;;;19459:88;;19537:4;19530:5;19526:16;19515:27;;19509:38;;;;19555:145;19636:6;19631:3;19626;19613:30;19692:1;19683:6;19678:3;19674:16;19667:27;19606:94;;;;19709:268;19774:1;19781:101;19795:6;19792:1;19789:13;19781:101;;;19871:1;19866:3;19862:11;19856:18;19852:1;19847:3;19843:11;19836:39;19817:2;19814:1;19810:10;19805:15;;19781:101;;;19897:6;19894:1;19891:13;19888:2;;;19962:1;19953:6;19948:3;19944:16;19937:27;19888:2;19758:219;;;;;19985:97;;20073:2;20069:7;20064:2;20057:5;20053:14;20049:28;20039:38;;20033:49;;;","source":"pragma solidity ^0.4.25;\\npragma experimental ABIEncoderV2;\\n\\n// It\'s important to avoid vulnerabilities due to numeric overflow bugs\\n// OpenZeppelin\'s SafeMath library, when used correctly, protects agains such bugs\\n// More info: https://www.nccgroup.trust/us/about-us/newsroom-and-events/blog/2018/november/smart-contract-insecurity-bad-arithmetic/\\n\\nimport \\"../node_modules/openzeppelin-solidity/contracts/math/SafeMath.sol\\";\\nimport \\"../contracts/FlightSuretyData.sol\\";\\n\\n/************************************************** */\\n/* FlightSurety Smart Contract                      */\\n/************************************************** */\\ncontract FlightSuretyApp {\\n    using SafeMath for uint256; // Allow SafeMath functions to be called for all uint256 types (similar to \\"prototype\\" in Javascript)\\n\\n    /********************************************************************************************/\\n    /*                                       DATA VARIABLES                                     */\\n    /********************************************************************************************/\\n\\n    // Flight status codees\\n    uint8 private constant STATUS_CODE_UNKNOWN = 0;\\n    uint8 private constant STATUS_CODE_ON_TIME = 10;\\n    uint8 private constant STATUS_CODE_LATE_AIRLINE = 20;\\n    uint8 private constant STATUS_CODE_LATE_WEATHER = 30;\\n    uint8 private constant STATUS_CODE_LATE_TECHNICAL = 40;\\n    uint8 private constant STATUS_CODE_LATE_OTHER = 50;\\n\\n    uint private constant NUMBER_OF_AIRLINES_FOR_MULTICONSESUS = 4;\\n\\n    address private contractOwner;          // Account used to deploy contract\\n    IFlightSuretyData flightSuretyData;\\n\\n    /********************************************************************************************/\\n    /*                                       FUNCTION MODIFIERS                                 */\\n    /********************************************************************************************/\\n\\n    // Modifiers help avoid duplication of code. They are typically used to validate something\\n    // before a function is allowed to be executed.\\n\\n    /**\\n    * @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\\n    */\\n    modifier requireIsOperational() {\\n         // Modify to call data contract\'s status\\n        require(true, \\"Contract is currently not operational\\");\\n        _;  // All modifiers require an \\"_\\" which indicates where the function body will be added\\n    }\\n\\n    /**\\n    * @dev Modifier that requires the \\"ContractOwner\\" account to be the function caller\\n    */\\n    modifier requireContractOwner() {\\n        require(msg.sender == contractOwner, \\"Caller is not contract owner\\");\\n        _;\\n    }\\n\\n    /**\\n    * @dev Modifier that requires the airline to have paid registration fee to be the function caller\\n    */\\n    modifier requireAirlinePayRegistrationFee() {\\n        bool hasPaidRegistrationFee = flightSuretyData.hasPaidRegistrationFee(msg.sender);\\n        require(hasPaidRegistrationFee == true, \\"Airline has not paid registration fee\\");\\n        _;\\n    }\\n\\n    /********************************************************************************************/\\n    /*                                       CONSTRUCTOR                                        */\\n    /********************************************************************************************/\\n\\n    /**\\n    * @dev Contract constructor\\n    *\\n    */\\n    constructor(address dataContract) public {\\n        contractOwner = msg.sender;\\n        flightSuretyData = FlightSuretyData(dataContract);\\n    }\\n\\n    /********************************************************************************************/\\n    /*                                       UTILITY FUNCTIONS                                  */\\n    /********************************************************************************************/\\n\\n    function isOperational() public view returns(bool) {\\n        return flightSuretyData.isOperational();  // Modify to call data contract\'s status\\n    }\\n\\n    /********************************************************************************************/\\n    /*                                     SMART CONTRACT FUNCTIONS                             */\\n    /********************************************************************************************/\\n\\n\\n   /**\\n    * @dev Add an airline to the registration queue\\n    *\\n    */\\n    function registerAirline(address airline) external\\n        requireIsOperational\\n        requireAirlinePayRegistrationFee\\n        returns(bool success, uint256 votes)\\n    {\\n        success = false;\\n        votes = 1;\\n\\n        if (flightSuretyData.numberOfAirlines() >= NUMBER_OF_AIRLINES_FOR_MULTICONSESUS) {\\n            flightSuretyData.voteToRegisterAirline(airline);\\n\\n            votes = flightSuretyData.getNumberOfRegistrationVotes(airline);\\n            uint numberOfVotesNeeded = NUMBER_OF_AIRLINES_FOR_MULTICONSESUS.div(2);\\n\\n            if (votes >= numberOfVotesNeeded) {\\n                flightSuretyData.registerAirline(airline);\\n                success = true;\\n            }\\n\\n        } else {\\n            flightSuretyData.registerAirline(airline);\\n            success = true;\\n        }\\n\\n        return (success, votes);\\n    }\\n\\n   /**\\n    * @dev Register a future flight for insuring.\\n    *\\n    */\\n    function registerFlight(address airline, string flight, uint256 timestamp) external\\n        requireIsOperational\\n    {\\n        flightSuretyData.registerFlight(airline, flight, timestamp);\\n    }\\n\\n    /**\\n     * @dev An airline has to provide fund to register other airilines.\\n     *\\n     */\\n     function fund(address airline) public payable\\n        requireIsOperational\\n     {\\n         flightSuretyData.fund.value(msg.value)(airline);\\n     }\\n\\n    /**\\n     * @dev Called after oracle has updated flight status\\n     *\\n     */\\n     function withdraw() external payable\\n        requireIsOperational\\n     {\\n         flightSuretyData.pay(msg.sender);\\n     }\\n\\n   /**\\n    * @dev Called after oracle has updated flight status\\n    *\\n    */\\n    function processFlightStatus(address airline, string flight, uint256 timestamp, uint8 statusCode) internal\\n        requireIsOperational\\n    {\\n        flightSuretyData.updateFlightStatus(airline, flight, timestamp, statusCode);\\n    }\\n\\n    /**\\n     * @dev Called when user wants to buy flight insurance\\n     *\\n     */\\n    function buy(address airline, string flight) external payable\\n        requireIsOperational\\n    {\\n        flightSuretyData.buy(msg.sender, airline, flight);\\n    }\\n\\n    /**\\n     * @dev Gets the flight numbers\\n     *\\n     */\\n    function getFlightNumbers() public view\\n        requireIsOperational\\n        returns(string[])\\n    {\\n        return flightSuretyData.getFlightNumbers();\\n    }\\n\\n    // Generate a request for oracles to fetch flight information\\n    function fetchFlightStatus(address airline, string flight, uint256 timestamp) external {\\n        uint8 index = getRandomIndex(msg.sender);\\n\\n        // Generate a unique key for storing the request\\n        bytes32 key = keccak256(abi.encodePacked(index, airline, flight, timestamp));\\n        oracleResponses[key] = ResponseInfo({requester: msg.sender, isOpen: true});\\n\\n        emit OracleRequest(index, airline, flight, timestamp);\\n    }\\n\\n\\n// region ORACLE MANAGEMENT\\n\\n    // Incremented to add pseudo-randomness at various points\\n    uint8 private nonce = 0;\\n\\n    // Fee to be paid when registering oracle\\n    uint256 public constant REGISTRATION_FEE = 1 ether;\\n\\n    // Number of oracles that must respond for valid status\\n    uint256 private constant MIN_RESPONSES = 3;\\n\\n\\n    struct Oracle {\\n        bool isRegistered;\\n        uint8[3] indexes;\\n    }\\n\\n    // Track all registered oracles\\n    mapping(address => Oracle) private oracles;\\n\\n    // Model for responses from oracles\\n    struct ResponseInfo {\\n        address requester;                              // Account that requested status\\n        bool isOpen;                                    // If open, oracle responses are accepted\\n        mapping(uint8 => address[]) responses;          // Mapping key is the status code reported\\n                                                        // This lets us group responses and identify\\n                                                        // the response that majority of the oracles\\n    }\\n\\n    // Track all oracle responses\\n    // Key = hash(index, flight, timestamp)\\n    mapping(bytes32 => ResponseInfo) private oracleResponses;\\n\\n    // Event fired each time an oracle submits a response\\n    event FlightStatusInfo(address airline, string flight, uint256 timestamp, uint8 status);\\n\\n    event OracleReport(address airline, string flight, uint256 timestamp, uint8 status);\\n\\n    // Event fired when flight status request is submitted\\n    // Oracles track this and if they have a matching index\\n    // they fetch data and submit a response\\n    event OracleRequest(uint8 index, address airline, string flight, uint256 timestamp);\\n\\n    // Register an oracle with the contract\\n    function registerOracle\\n                            (\\n                            )\\n                            external\\n                            payable\\n    {\\n        // Require registration fee\\n        require(msg.value >= REGISTRATION_FEE, \\"Registration fee is required\\");\\n\\n        uint8[3] memory indexes = generateIndexes(msg.sender);\\n\\n        oracles[msg.sender] = Oracle({isRegistered: true, indexes: indexes});\\n    }\\n\\n    function getMyIndexes() view external returns(uint8[3]) {\\n        require(oracles[msg.sender].isRegistered, \\"Not registered as an oracle\\");\\n\\n        return oracles[msg.sender].indexes;\\n    }\\n\\n    // Called by oracle when a response is available to an outstanding request\\n    // For the response to be accepted, there must be a pending request that is open\\n    // and matches one of the three Indexes randomly assigned to the oracle at the\\n    // time of registration (i.e. uninvited oracles are not welcome)\\n    function submitOracleResponse\\n                        (\\n                            uint8 index,\\n                            address airline,\\n                            string flight,\\n                            uint256 timestamp,\\n                            uint8 statusCode\\n                        )\\n                        external\\n    {\\n        require((oracles[msg.sender].indexes[0] == index) || (oracles[msg.sender].indexes[1] == index) || (oracles[msg.sender].indexes[2] == index), \\"Index does not match oracle request\\");\\n\\n\\n        bytes32 key = keccak256(abi.encodePacked(index, airline, flight, timestamp));\\n        require(oracleResponses[key].isOpen, \\"Flight or timestamp do not match oracle request\\");\\n\\n        oracleResponses[key].responses[statusCode].push(msg.sender);\\n\\n        // Information isn\'t considered verified until at least MIN_RESPONSES\\n        // oracles respond with the *** same *** information\\n        emit OracleReport(airline, flight, timestamp, statusCode);\\n        if (oracleResponses[key].responses[statusCode].length >= MIN_RESPONSES) {\\n\\n            emit FlightStatusInfo(airline, flight, timestamp, statusCode);\\n\\n            // Handle flight status as appropriate\\n            processFlightStatus(airline, flight, timestamp, statusCode);\\n        }\\n    }\\n\\n    function getFlightKey(address airline, string flight, uint256 timestamp) pure internal returns(bytes32) {\\n        return keccak256(abi.encodePacked(airline, flight, timestamp));\\n    }\\n\\n    // Returns array of three non-duplicating integers from 0-9\\n    function generateIndexes(address account) internal returns(uint8[3]) {\\n        uint8[3] memory indexes;\\n        indexes[0] = getRandomIndex(account);\\n\\n        indexes[1] = indexes[0];\\n        while(indexes[1] == indexes[0]) {\\n            indexes[1] = getRandomIndex(account);\\n        }\\n\\n        indexes[2] = indexes[1];\\n        while((indexes[2] == indexes[0]) || (indexes[2] == indexes[1])) {\\n            indexes[2] = getRandomIndex(account);\\n        }\\n\\n        return indexes;\\n    }\\n\\n    // Returns array of three non-duplicating integers from 0-9\\n    function getRandomIndex(address account) internal returns (uint8) {\\n        uint8 maxValue = 10;\\n\\n        // Pseudo random number...the incrementing nonce adds variation\\n        uint8 random = uint8(uint256(keccak256(abi.encodePacked(blockhash(block.number - nonce++), account))) % maxValue);\\n\\n        if (nonce > 250) {\\n            nonce = 0;  // Can only fetch blockhashes for last 256 blocks so we adapt\\n        }\\n\\n        return random;\\n    }\\n\\n// endregion\\n\\n}\\n","sourcePath":"/Users/stockbit/Documents/Tutorials/FlightSurety/contracts/FlightSuretyApp.sol","ast":{"absolutePath":"/Users/stockbit/Documents/Tutorials/FlightSurety/contracts/FlightSuretyApp.sol","exportedSymbols":{"FlightSuretyApp":[716]},"id":717,"nodeType":"SourceUnit","nodes":[{"id":1,"literals":["solidity","^","0.4",".25"],"nodeType":"PragmaDirective","src":"0:24:0"},{"id":2,"literals":["experimental","ABIEncoderV2"],"nodeType":"PragmaDirective","src":"25:33:0"},{"absolutePath":"/Users/stockbit/Documents/Tutorials/FlightSurety/node_modules/openzeppelin-solidity/contracts/math/SafeMath.sol","file":"../node_modules/openzeppelin-solidity/contracts/math/SafeMath.sol","id":3,"nodeType":"ImportDirective","scope":717,"sourceUnit":1581,"src":"350:75:0","symbolAliases":[],"unitAlias":""},{"absolutePath":"/Users/stockbit/Documents/Tutorials/FlightSurety/contracts/FlightSuretyData.sol","file":"../contracts/FlightSuretyData.sol","id":4,"nodeType":"ImportDirective","scope":717,"sourceUnit":1487,"src":"426:43:0","symbolAliases":[],"unitAlias":""},{"baseContracts":[],"contractDependencies":[],"contractKind":"contract","documentation":"************************************************ ","fullyImplemented":true,"id":716,"linearizedBaseContracts":[716],"name":"FlightSuretyApp","nodeType":"ContractDefinition","nodes":[{"id":7,"libraryName":{"contractScope":null,"id":5,"name":"SafeMath","nodeType":"UserDefinedTypeName","referencedDeclaration":1580,"src":"673:8:0","typeDescriptions":{"typeIdentifier":"t_contract$_SafeMath_$1580","typeString":"library SafeMath"}},"nodeType":"UsingForDirective","src":"667:27:0","typeName":{"id":6,"name":"uint256","nodeType":"ElementaryTypeName","src":"686:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},{"constant":true,"id":10,"name":"STATUS_CODE_UNKNOWN","nodeType":"VariableDeclaration","scope":716,"src":"1128:46:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":8,"name":"uint8","nodeType":"ElementaryTypeName","src":"1128:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"value":{"argumentTypes":null,"hexValue":"30","id":9,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1173:1:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"visibility":"private"},{"constant":true,"id":13,"name":"STATUS_CODE_ON_TIME","nodeType":"VariableDeclaration","scope":716,"src":"1180:47:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":11,"name":"uint8","nodeType":"ElementaryTypeName","src":"1180:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"value":{"argumentTypes":null,"hexValue":"3130","id":12,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1225:2:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"visibility":"private"},{"constant":true,"id":16,"name":"STATUS_CODE_LATE_AIRLINE","nodeType":"VariableDeclaration","scope":716,"src":"1233:52:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":14,"name":"uint8","nodeType":"ElementaryTypeName","src":"1233:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"value":{"argumentTypes":null,"hexValue":"3230","id":15,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1283:2:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_20_by_1","typeString":"int_const 20"},"value":"20"},"visibility":"private"},{"constant":true,"id":19,"name":"STATUS_CODE_LATE_WEATHER","nodeType":"VariableDeclaration","scope":716,"src":"1291:52:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":17,"name":"uint8","nodeType":"ElementaryTypeName","src":"1291:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"value":{"argumentTypes":null,"hexValue":"3330","id":18,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1341:2:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_30_by_1","typeString":"int_const 30"},"value":"30"},"visibility":"private"},{"constant":true,"id":22,"name":"STATUS_CODE_LATE_TECHNICAL","nodeType":"VariableDeclaration","scope":716,"src":"1349:54:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":20,"name":"uint8","nodeType":"ElementaryTypeName","src":"1349:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"value":{"argumentTypes":null,"hexValue":"3430","id":21,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1401:2:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_40_by_1","typeString":"int_const 40"},"value":"40"},"visibility":"private"},{"constant":true,"id":25,"name":"STATUS_CODE_LATE_OTHER","nodeType":"VariableDeclaration","scope":716,"src":"1409:50:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":23,"name":"uint8","nodeType":"ElementaryTypeName","src":"1409:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"value":{"argumentTypes":null,"hexValue":"3530","id":24,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1457:2:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"visibility":"private"},{"constant":true,"id":28,"name":"NUMBER_OF_AIRLINES_FOR_MULTICONSESUS","nodeType":"VariableDeclaration","scope":716,"src":"1466:62:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26,"name":"uint","nodeType":"ElementaryTypeName","src":"1466:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"argumentTypes":null,"hexValue":"34","id":27,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1527:1:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"visibility":"private"},{"constant":false,"id":30,"name":"contractOwner","nodeType":"VariableDeclaration","scope":716,"src":"1535:29:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29,"name":"address","nodeType":"ElementaryTypeName","src":"1535:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"private"},{"constant":false,"id":32,"name":"flightSuretyData","nodeType":"VariableDeclaration","scope":716,"src":"1614:34:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IFlightSuretyData_$800","typeString":"contract IFlightSuretyData"},"typeName":{"contractScope":null,"id":31,"name":"IFlightSuretyData","nodeType":"UserDefinedTypeName","referencedDeclaration":800,"src":"1614:17:0","typeDescriptions":{"typeIdentifier":"t_contract$_IFlightSuretyData_$800","typeString":"contract IFlightSuretyData"}},"value":null,"visibility":"internal"},{"body":{"id":40,"nodeType":"Block","src":"2373:219:0","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"hexValue":"74727565","id":35,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"2441:4:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"argumentTypes":null,"hexValue":"436f6e74726163742069732063757272656e746c79206e6f74206f7065726174696f6e616c","id":36,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2447:39:0","subdenomination":null,"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":34,"name":"require","nodeType":"Identifier","overloadedDeclarations":[1598,1599],"referencedDeclaration":1599,"src":"2433:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":37,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2433:54:0","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38,"nodeType":"ExpressionStatement","src":"2433:54:0"},{"id":39,"nodeType":"PlaceholderStatement","src":"2497:1:0"}]},"documentation":"@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":41,"name":"requireIsOperational","nodeType":"ModifierDefinition","parameters":{"id":33,"nodeType":"ParameterList","parameters":[],"src":"2370:2:0"},"src":"2341:251:0","visibility":"internal"},{"body":{"id":52,"nodeType":"Block","src":"2733:96:0","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":47,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":44,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1595,"src":"2751:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":45,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"2751:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"argumentTypes":null,"id":46,"name":"contractOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30,"src":"2765:13:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2751:27:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"argumentTypes":null,"hexValue":"43616c6c6572206973206e6f7420636f6e7472616374206f776e6572","id":48,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2780:30:0","subdenomination":null,"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":43,"name":"require","nodeType":"Identifier","overloadedDeclarations":[1598,1599],"referencedDeclaration":1599,"src":"2743:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":49,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2743:68:0","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50,"nodeType":"ExpressionStatement","src":"2743:68:0"},{"id":51,"nodeType":"PlaceholderStatement","src":"2821:1:0"}]},"documentation":"@dev Modifier that requires the \\"ContractOwner\\" account to be the function caller","id":53,"name":"requireContractOwner","nodeType":"ModifierDefinition","parameters":{"id":42,"nodeType":"ParameterList","parameters":[],"src":"2730:2:0"},"src":"2701:128:0","visibility":"internal"},{"body":{"id":71,"nodeType":"Block","src":"2996:199:0","statements":[{"assignments":[56],"declarations":[{"constant":false,"id":56,"name":"hasPaidRegistrationFee","nodeType":"VariableDeclaration","scope":72,"src":"3006:27:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":55,"name":"bool","nodeType":"ElementaryTypeName","src":"3006:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":null,"visibility":"internal"}],"id":62,"initialValue":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"expression":{"argumentTypes":null,"id":59,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1595,"src":"3076:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":60,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"3076:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"argumentTypes":null,"id":57,"name":"flightSuretyData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32,"src":"3036:16:0","typeDescriptions":{"typeIdentifier":"t_contract$_IFlightSuretyData_$800","typeString":"contract IFlightSuretyData"}},"id":58,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"hasPaidRegistrationFee","nodeType":"MemberAccess","referencedDeclaration":776,"src":"3036:39:0","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view external returns (bool)"}},"id":61,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3036:51:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"3006:81:0"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":66,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":64,"name":"hasPaidRegistrationFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56,"src":"3105:22:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"argumentTypes":null,"hexValue":"74727565","id":65,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3131:4:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"3105:30:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"argumentTypes":null,"hexValue":"4169726c696e6520686173206e6f74207061696420726567697374726174696f6e20666565","id":67,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3137:39:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_0d6501fc701c8894f10bd4931e50125375ca36399e3933d17125d2a578f3ed45","typeString":"literal_string \\"Airline has not paid registration fee\\""},"value":"Airline has not paid registration fee"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_0d6501fc701c8894f10bd4931e50125375ca36399e3933d17125d2a578f3ed45","typeString":"literal_string \\"Airline has not paid registration fee\\""}],"id":63,"name":"require","nodeType":"Identifier","overloadedDeclarations":[1598,1599],"referencedDeclaration":1599,"src":"3097:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":68,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3097:80:0","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69,"nodeType":"ExpressionStatement","src":"3097:80:0"},{"id":70,"nodeType":"PlaceholderStatement","src":"3187:1:0"}]},"documentation":"@dev Modifier that requires the airline to have paid registration fee to be the function caller","id":72,"name":"requireAirlinePayRegistrationFee","nodeType":"ModifierDefinition","parameters":{"id":54,"nodeType":"ParameterList","parameters":[],"src":"2993:2:0"},"src":"2952:243:0","visibility":"internal"},{"body":{"id":88,"nodeType":"Block","src":"3593:102:0","statements":[{"expression":{"argumentTypes":null,"id":80,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"id":77,"name":"contractOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30,"src":"3603:13:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":78,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1595,"src":"3619:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":79,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"3619:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3603:26:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":81,"nodeType":"ExpressionStatement","src":"3603:26:0"},{"expression":{"argumentTypes":null,"id":86,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"id":82,"name":"flightSuretyData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32,"src":"3639:16:0","typeDescriptions":{"typeIdentifier":"t_contract$_IFlightSuretyData_$800","typeString":"contract IFlightSuretyData"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":84,"name":"dataContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74,"src":"3675:12:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":83,"name":"FlightSuretyData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1486,"src":"3658:16:0","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_FlightSuretyData_$1486_$","typeString":"type(contract FlightSuretyData)"}},"id":85,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3658:30:0","typeDescriptions":{"typeIdentifier":"t_contract$_FlightSuretyData_$1486","typeString":"contract FlightSuretyData"}},"src":"3639:49:0","typeDescriptions":{"typeIdentifier":"t_contract$_IFlightSuretyData_$800","typeString":"contract IFlightSuretyData"}},"id":87,"nodeType":"ExpressionStatement","src":"3639:49:0"}]},"documentation":"@dev Contract constructor\\n    ","id":89,"implemented":true,"isConstructor":true,"isDeclaredConst":false,"modifiers":[],"name":"","nodeType":"FunctionDefinition","parameters":{"id":75,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74,"name":"dataContract","nodeType":"VariableDeclaration","scope":89,"src":"3564:20:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73,"name":"address","nodeType":"ElementaryTypeName","src":"3564:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"}],"src":"3563:22:0"},"payable":false,"returnParameters":{"id":76,"nodeType":"ParameterList","parameters":[],"src":"3593:0:0"},"scope":716,"src":"3552:143:0","stateMutability":"nonpayable","superFunction":null,"visibility":"public"},{"body":{"id":98,"nodeType":"Block","src":"4050:98:0","statements":[{"expression":{"argumentTypes":null,"arguments":[],"expression":{"argumentTypes":[],"expression":{"argumentTypes":null,"id":94,"name":"flightSuretyData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32,"src":"4067:16:0","typeDescriptions":{"typeIdentifier":"t_contract$_IFlightSuretyData_$800","typeString":"contract IFlightSuretyData"}},"id":95,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"isOperational","nodeType":"MemberAccess","referencedDeclaration":741,"src":"4067:30:0","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bool_$","typeString":"function () view external returns (bool)"}},"id":96,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4067:32:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":93,"id":97,"nodeType":"Return","src":"4060:39:0"}]},"documentation":"*****************************************************************************************","id":99,"implemented":true,"isConstructor":false,"isDeclaredConst":true,"modifiers":[],"name":"isOperational","nodeType":"FunctionDefinition","parameters":{"id":90,"nodeType":"ParameterList","parameters":[],"src":"4021:2:0"},"payable":false,"returnParameters":{"id":93,"nodeType":"ParameterList","parameters":[{"constant":false,"id":92,"name":"","nodeType":"VariableDeclaration","scope":99,"src":"4044:4:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":91,"name":"bool","nodeType":"ElementaryTypeName","src":"4044:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":null,"visibility":"internal"}],"src":"4043:6:0"},"scope":716,"src":"3999:149:0","stateMutability":"view","superFunction":null,"visibility":"public"},{"body":{"id":177,"nodeType":"Block","src":"4695:664:0","statements":[{"expression":{"argumentTypes":null,"id":114,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"id":112,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":108,"src":"4705:7:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"hexValue":"66616c7365","id":113,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4715:5:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"src":"4705:15:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":115,"nodeType":"ExpressionStatement","src":"4705:15:0"},{"expression":{"argumentTypes":null,"id":118,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"id":116,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":110,"src":"4730:5:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"hexValue":"31","id":117,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4738:1:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"4730:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":119,"nodeType":"ExpressionStatement","src":"4730:9:0"},{"condition":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":124,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"arguments":[],"expression":{"argumentTypes":[],"expression":{"argumentTypes":null,"id":120,"name":"flightSuretyData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32,"src":"4754:16:0","typeDescriptions":{"typeIdentifier":"t_contract$_IFlightSuretyData_$800","typeString":"contract IFlightSuretyData"}},"id":121,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"numberOfAirlines","nodeType":"MemberAccess","referencedDeclaration":730,"src":"4754:33:0","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":122,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4754:35:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"argumentTypes":null,"id":123,"name":"NUMBER_OF_AIRLINES_FOR_MULTICONSESUS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28,"src":"4793:36:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4754:75:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":171,"nodeType":"Block","src":"5225:94:0","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":164,"name":"airline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101,"src":"5272:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"argumentTypes":null,"id":161,"name":"flightSuretyData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32,"src":"5239:16:0","typeDescriptions":{"typeIdentifier":"t_contract$_IFlightSuretyData_$800","typeString":"contract IFlightSuretyData"}},"id":163,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"registerAirline","nodeType":"MemberAccess","referencedDeclaration":725,"src":"5239:32:0","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":165,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5239:41:0","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":166,"nodeType":"ExpressionStatement","src":"5239:41:0"},{"expression":{"argumentTypes":null,"id":169,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"id":167,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":108,"src":"5294:7:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"hexValue":"74727565","id":168,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"5304:4:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"5294:14:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":170,"nodeType":"ExpressionStatement","src":"5294:14:0"}]},"id":172,"nodeType":"IfStatement","src":"4750:569:0","trueBody":{"id":160,"nodeType":"Block","src":"4831:388:0","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":128,"name":"airline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101,"src":"4884:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"argumentTypes":null,"id":125,"name":"flightSuretyData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32,"src":"4845:16:0","typeDescriptions":{"typeIdentifier":"t_contract$_IFlightSuretyData_$800","typeString":"contract IFlightSuretyData"}},"id":127,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"voteToRegisterAirline","nodeType":"MemberAccess","referencedDeclaration":792,"src":"4845:38:0","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":129,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4845:47:0","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":130,"nodeType":"ExpressionStatement","src":"4845:47:0"},{"expression":{"argumentTypes":null,"id":136,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"id":131,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":110,"src":"4907:5:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":134,"name":"airline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101,"src":"4961:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"argumentTypes":null,"id":132,"name":"flightSuretyData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32,"src":"4915:16:0","typeDescriptions":{"typeIdentifier":"t_contract$_IFlightSuretyData_$800","typeString":"contract IFlightSuretyData"}},"id":133,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getNumberOfRegistrationVotes","nodeType":"MemberAccess","referencedDeclaration":799,"src":"4915:45:0","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$_t_uint256_$","typeString":"function (address) external returns (uint256)"}},"id":135,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4915:54:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4907:62:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":137,"nodeType":"ExpressionStatement","src":"4907:62:0"},{"assignments":[139],"declarations":[{"constant":false,"id":139,"name":"numberOfVotesNeeded","nodeType":"VariableDeclaration","scope":178,"src":"4983:24:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":138,"name":"uint","nodeType":"ElementaryTypeName","src":"4983:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"id":144,"initialValue":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"hexValue":"32","id":142,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5051:1:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"}],"expression":{"argumentTypes":null,"id":140,"name":"NUMBER_OF_AIRLINES_FOR_MULTICONSESUS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28,"src":"5010:36:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":141,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"div","nodeType":"MemberAccess","referencedDeclaration":1535,"src":"5010:40: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":143,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5010:43:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"4983:70:0"},{"condition":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":147,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":145,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":110,"src":"5072:5:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"argumentTypes":null,"id":146,"name":"numberOfVotesNeeded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":139,"src":"5081:19:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5072:28:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":null,"id":159,"nodeType":"IfStatement","src":"5068:140:0","trueBody":{"id":158,"nodeType":"Block","src":"5102:106:0","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":151,"name":"airline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101,"src":"5153:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"argumentTypes":null,"id":148,"name":"flightSuretyData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32,"src":"5120:16:0","typeDescriptions":{"typeIdentifier":"t_contract$_IFlightSuretyData_$800","typeString":"contract IFlightSuretyData"}},"id":150,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"registerAirline","nodeType":"MemberAccess","referencedDeclaration":725,"src":"5120:32:0","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":152,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5120:41:0","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":153,"nodeType":"ExpressionStatement","src":"5120:41:0"},{"expression":{"argumentTypes":null,"id":156,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"id":154,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":108,"src":"5179:7:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"hexValue":"74727565","id":155,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"5189:4:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"5179:14:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":157,"nodeType":"ExpressionStatement","src":"5179:14:0"}]}}]}},{"expression":{"argumentTypes":null,"components":[{"argumentTypes":null,"id":173,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":108,"src":"5337:7:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"argumentTypes":null,"id":174,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":110,"src":"5346:5:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":175,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"5336:16:0","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_uint256_$","typeString":"tuple(bool,uint256)"}},"functionReturnParameters":111,"id":176,"nodeType":"Return","src":"5329:23:0"}]},"documentation":"@dev Add an airline to the registration queue\\n    ","id":178,"implemented":true,"isConstructor":false,"isDeclaredConst":false,"modifiers":[{"arguments":null,"id":104,"modifierName":{"argumentTypes":null,"id":103,"name":"requireIsOperational","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41,"src":"4584:20:0","typeDescriptions":{"typeIdentifier":"t_modifier$__$","typeString":"modifier ()"}},"nodeType":"ModifierInvocation","src":"4584:20:0"},{"arguments":null,"id":106,"modifierName":{"argumentTypes":null,"id":105,"name":"requireAirlinePayRegistrationFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72,"src":"4613:32:0","typeDescriptions":{"typeIdentifier":"t_modifier$__$","typeString":"modifier ()"}},"nodeType":"ModifierInvocation","src":"4613:32:0"}],"name":"registerAirline","nodeType":"FunctionDefinition","parameters":{"id":102,"nodeType":"ParameterList","parameters":[{"constant":false,"id":101,"name":"airline","nodeType":"VariableDeclaration","scope":178,"src":"4550:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":100,"name":"address","nodeType":"ElementaryTypeName","src":"4550:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"}],"src":"4549:17:0"},"payable":false,"returnParameters":{"id":111,"nodeType":"ParameterList","parameters":[{"constant":false,"id":108,"name":"success","nodeType":"VariableDeclaration","scope":178,"src":"4662:12:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":107,"name":"bool","nodeType":"ElementaryTypeName","src":"4662:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":null,"visibility":"internal"},{"constant":false,"id":110,"name":"votes","nodeType":"VariableDeclaration","scope":178,"src":"4676:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":109,"name":"uint256","nodeType":"ElementaryTypeName","src":"4676:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"4661:29:0"},"scope":716,"src":"4525:834:0","stateMutability":"nonpayable","superFunction":null,"visibility":"external"},{"body":{"id":197,"nodeType":"Block","src":"5552:76:0","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":192,"name":"airline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180,"src":"5594:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":193,"name":"flight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":182,"src":"5603:6:0","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}},{"argumentTypes":null,"id":194,"name":"timestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":184,"src":"5611:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"id":189,"name":"flightSuretyData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32,"src":"5562:16:0","typeDescriptions":{"typeIdentifier":"t_contract$_IFlightSuretyData_$800","typeString":"contract IFlightSuretyData"}},"id":191,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"registerFlight","nodeType":"MemberAccess","referencedDeclaration":750,"src":"5562:31:0","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (address,string memory,uint256) external"}},"id":195,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5562:59:0","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":196,"nodeType":"ExpressionStatement","src":"5562:59:0"}]},"documentation":"@dev Register a future flight for insuring.\\n    ","id":198,"implemented":true,"isConstructor":false,"isDeclaredConst":false,"modifiers":[{"arguments":null,"id":187,"modifierName":{"argumentTypes":null,"id":186,"name":"requireIsOperational","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41,"src":"5527:20:0","typeDescriptions":{"typeIdentifier":"t_modifier$__$","typeString":"modifier ()"}},"nodeType":"ModifierInvocation","src":"5527:20:0"}],"name":"registerFlight","nodeType":"FunctionDefinition","parameters":{"id":185,"nodeType":"ParameterList","parameters":[{"constant":false,"id":180,"name":"airline","nodeType":"VariableDeclaration","scope":198,"src":"5459:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":179,"name":"address","nodeType":"ElementaryTypeName","src":"5459:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":182,"name":"flight","nodeType":"VariableDeclaration","scope":198,"src":"5476:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":181,"name":"string","nodeType":"ElementaryTypeName","src":"5476:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":null,"visibility":"internal"},{"constant":false,"id":184,"name":"timestamp","nodeType":"VariableDeclaration","scope":198,"src":"5491:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":183,"name":"uint256","nodeType":"ElementaryTypeName","src":"5491:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"5458:51:0"},"payable":false,"returnParameters":{"id":188,"nodeType":"ParameterList","parameters":[],"src":"5552:0:0"},"scope":716,"src":"5435:193:0","stateMutability":"nonpayable","superFunction":null,"visibility":"external"},{"body":{"id":216,"nodeType":"Block","src":"5810:66:0","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":213,"name":"airline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":200,"src":"5860:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"arguments":[{"argumentTypes":null,"expression":{"argumentTypes":null,"id":210,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1595,"src":"5849:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":211,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"value","nodeType":"MemberAccess","referencedDeclaration":null,"src":"5849:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":205,"name":"flightSuretyData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32,"src":"5821:16:0","typeDescriptions":{"typeIdentifier":"t_contract$_IFlightSuretyData_$800","typeString":"contract IFlightSuretyData"}},"id":208,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"fund","nodeType":"MemberAccess","referencedDeclaration":755,"src":"5821:21:0","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_address_$returns$__$","typeString":"function (address) payable external"}},"id":209,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"value","nodeType":"MemberAccess","referencedDeclaration":null,"src":"5821:27:0","typeDescriptions":{"typeIdentifier":"t_function_setvalue_nonpayable$_t_uint256_$returns$_t_function_external_payable$_t_address_$returns$__$value_$","typeString":"function (uint256) returns (function (address) payable external)"}},"id":212,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5821:38:0","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_address_$returns$__$value","typeString":"function (address) payable external"}},"id":214,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5821:47:0","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":215,"nodeType":"ExpressionStatement","src":"5821:47:0"}]},"documentation":"@dev An airline has to provide fund to register other airilines.\\n     ","id":217,"implemented":true,"isConstructor":false,"isDeclaredConst":false,"modifiers":[{"arguments":null,"id":203,"modifierName":{"argumentTypes":null,"id":202,"name":"requireIsOperational","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41,"src":"5784:20:0","typeDescriptions":{"typeIdentifier":"t_modifier$__$","typeString":"modifier ()"}},"nodeType":"ModifierInvocation","src":"5784:20:0"}],"name":"fund","nodeType":"FunctionDefinition","parameters":{"id":201,"nodeType":"ParameterList","parameters":[{"constant":false,"id":200,"name":"airline","nodeType":"VariableDeclaration","scope":217,"src":"5744:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":199,"name":"address","nodeType":"ElementaryTypeName","src":"5744:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"}],"src":"5743:17:0"},"payable":true,"returnParameters":{"id":204,"nodeType":"ParameterList","parameters":[],"src":"5810:0:0"},"scope":716,"src":"5730:146:0","stateMutability":"payable","superFunction":null,"visibility":"public"},{"body":{"id":229,"nodeType":"Block","src":"6035:51:0","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"expression":{"argumentTypes":null,"id":225,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1595,"src":"6067:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":226,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"6067:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"argumentTypes":null,"id":222,"name":"flightSuretyData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32,"src":"6046:16:0","typeDescriptions":{"typeIdentifier":"t_contract$_IFlightSuretyData_$800","typeString":"contract IFlightSuretyData"}},"id":224,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"pay","nodeType":"MemberAccess","referencedDeclaration":769,"src":"6046:20:0","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":227,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6046:32:0","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":228,"nodeType":"ExpressionStatement","src":"6046:32:0"}]},"documentation":"@dev Called after oracle has updated flight status\\n     ","id":230,"implemented":true,"isConstructor":false,"isDeclaredConst":false,"modifiers":[{"arguments":null,"id":220,"modifierName":{"argumentTypes":null,"id":219,"name":"requireIsOperational","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41,"src":"6009:20:0","typeDescriptions":{"typeIdentifier":"t_modifier$__$","typeString":"modifier ()"}},"nodeType":"ModifierInvocation","src":"6009:20:0"}],"name":"withdraw","nodeType":"FunctionDefinition","parameters":{"id":218,"nodeType":"ParameterList","parameters":[],"src":"5981:2:0"},"payable":true,"returnParameters":{"id":221,"nodeType":"ParameterList","parameters":[],"src":"6035:0:0"},"scope":716,"src":"5964:122:0","stateMutability":"payable","superFunction":null,"visibility":"external"},{"body":{"id":252,"nodeType":"Block","src":"6309:92:0","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":246,"name":"airline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":232,"src":"6355:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":247,"name":"flight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":234,"src":"6364:6:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"argumentTypes":null,"id":248,"name":"timestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":236,"src":"6372:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"id":249,"name":"statusCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":238,"src":"6383: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"}],"expression":{"argumentTypes":null,"id":243,"name":"flightSuretyData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32,"src":"6319:16:0","typeDescriptions":{"typeIdentifier":"t_contract$_IFlightSuretyData_$800","typeString":"contract IFlightSuretyData"}},"id":245,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"updateFlightStatus","nodeType":"MemberAccess","referencedDeclaration":787,"src":"6319:35:0","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_string_memory_ptr_$_t_uint256_$_t_uint8_$returns$__$","typeString":"function (address,string memory,uint256,uint8) external"}},"id":250,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6319:75:0","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":251,"nodeType":"ExpressionStatement","src":"6319:75:0"}]},"documentation":"@dev Called after oracle has updated flight status\\n    ","id":253,"implemented":true,"isConstructor":false,"isDeclaredConst":false,"modifiers":[{"arguments":null,"id":241,"modifierName":{"argumentTypes":null,"id":240,"name":"requireIsOperational","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41,"src":"6284:20:0","typeDescriptions":{"typeIdentifier":"t_modifier$__$","typeString":"modifier ()"}},"nodeType":"ModifierInvocation","src":"6284:20:0"}],"name":"processFlightStatus","nodeType":"FunctionDefinition","parameters":{"id":239,"nodeType":"ParameterList","parameters":[{"constant":false,"id":232,"name":"airline","nodeType":"VariableDeclaration","scope":253,"src":"6198:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":231,"name":"address","nodeType":"ElementaryTypeName","src":"6198:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":234,"name":"flight","nodeType":"VariableDeclaration","scope":253,"src":"6215:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":233,"name":"string","nodeType":"ElementaryTypeName","src":"6215:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":null,"visibility":"internal"},{"constant":false,"id":236,"name":"timestamp","nodeType":"VariableDeclaration","scope":253,"src":"6230:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":235,"name":"uint256","nodeType":"ElementaryTypeName","src":"6230:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":238,"name":"statusCode","nodeType":"VariableDeclaration","scope":253,"src":"6249:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":237,"name":"uint8","nodeType":"ElementaryTypeName","src":"6249:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"value":null,"visibility":"internal"}],"src":"6197:69:0"},"payable":false,"returnParameters":{"id":242,"nodeType":"ParameterList","parameters":[],"src":"6309:0:0"},"scope":716,"src":"6169:232:0","stateMutability":"nonpayable","superFunction":null,"visibility":"internal"},{"body":{"id":271,"nodeType":"Block","src":"6584:66:0","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"expression":{"argumentTypes":null,"id":265,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1595,"src":"6615:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":266,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"6615:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":267,"name":"airline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":255,"src":"6627:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":268,"name":"flight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":257,"src":"6636:6:0","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}],"expression":{"argumentTypes":null,"id":262,"name":"flightSuretyData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32,"src":"6594:16:0","typeDescriptions":{"typeIdentifier":"t_contract$_IFlightSuretyData_$800","typeString":"contract IFlightSuretyData"}},"id":264,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"buy","nodeType":"MemberAccess","referencedDeclaration":764,"src":"6594:20:0","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_address_$_t_address_$_t_string_memory_ptr_$returns$__$","typeString":"function (address,address,string memory) payable external"}},"id":269,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6594:49:0","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":270,"nodeType":"ExpressionStatement","src":"6594:49:0"}]},"documentation":"@dev Called when user wants to buy flight insurance\\n     ","id":272,"implemented":true,"isConstructor":false,"isDeclaredConst":false,"modifiers":[{"arguments":null,"id":260,"modifierName":{"argumentTypes":null,"id":259,"name":"requireIsOperational","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41,"src":"6559:20:0","typeDescriptions":{"typeIdentifier":"t_modifier$__$","typeString":"modifier ()"}},"nodeType":"ModifierInvocation","src":"6559:20:0"}],"name":"buy","nodeType":"FunctionDefinition","parameters":{"id":258,"nodeType":"ParameterList","parameters":[{"constant":false,"id":255,"name":"airline","nodeType":"VariableDeclaration","scope":272,"src":"6502:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":254,"name":"address","nodeType":"ElementaryTypeName","src":"6502:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":257,"name":"flight","nodeType":"VariableDeclaration","scope":272,"src":"6519:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":256,"name":"string","nodeType":"ElementaryTypeName","src":"6519:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":null,"visibility":"internal"}],"src":"6501:32:0"},"payable":true,"returnParameters":{"id":261,"nodeType":"ParameterList","parameters":[],"src":"6584:0:0"},"scope":716,"src":"6489:161:0","stateMutability":"payable","superFunction":null,"visibility":"external"},{"body":{"id":284,"nodeType":"Block","src":"6814:59:0","statements":[{"expression":{"argumentTypes":null,"arguments":[],"expression":{"argumentTypes":[],"expression":{"argumentTypes":null,"id":280,"name":"flightSuretyData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32,"src":"6831:16:0","typeDescriptions":{"typeIdentifier":"t_contract$_IFlightSuretyData_$800","typeString":"contract IFlightSuretyData"}},"id":281,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getFlightNumbers","nodeType":"MemberAccess","referencedDeclaration":736,"src":"6831:33:0","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_array$_t_string_memory_$dyn_memory_ptr_$","typeString":"function () view external returns (string memory[] memory)"}},"id":282,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6831:35:0","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_$dyn_memory_ptr","typeString":"string memory[] memory"}},"functionReturnParameters":279,"id":283,"nodeType":"Return","src":"6824:42:0"}]},"documentation":"@dev Gets the flight numbers\\n     ","id":285,"implemented":true,"isConstructor":false,"isDeclaredConst":true,"modifiers":[{"arguments":null,"id":275,"modifierName":{"argumentTypes":null,"id":274,"name":"requireIsOperational","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41,"src":"6763:20:0","typeDescriptions":{"typeIdentifier":"t_modifier$__$","typeString":"modifier ()"}},"nodeType":"ModifierInvocation","src":"6763:20:0"}],"name":"getFlightNumbers","nodeType":"FunctionDefinition","parameters":{"id":273,"nodeType":"ParameterList","parameters":[],"src":"6740:2:0"},"payable":false,"returnParameters":{"id":279,"nodeType":"ParameterList","parameters":[{"constant":false,"id":278,"name":"","nodeType":"VariableDeclaration","scope":285,"src":"6800:8:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":276,"name":"string","nodeType":"ElementaryTypeName","src":"6800:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":277,"length":null,"nodeType":"ArrayTypeName","src":"6800:8:0","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"value":null,"visibility":"internal"}],"src":"6799:10:0"},"scope":716,"src":"6715:158:0","stateMutability":"view","superFunction":null,"visibility":"public"},{"body":{"id":330,"nodeType":"Block","src":"7032:349:0","statements":[{"assignments":[295],"declarations":[{"constant":false,"id":295,"name":"index","nodeType":"VariableDeclaration","scope":331,"src":"7042:11:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":294,"name":"uint8","nodeType":"ElementaryTypeName","src":"7042:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"value":null,"visibility":"internal"}],"id":300,"initialValue":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"expression":{"argumentTypes":null,"id":297,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1595,"src":"7071:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":298,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"7071:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":296,"name":"getRandomIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":715,"src":"7056:14:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$_t_uint8_$","typeString":"function (address) returns (uint8)"}},"id":299,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7056:26:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"VariableDeclarationStatement","src":"7042:40:0"},{"assignments":[302],"declarations":[{"constant":false,"id":302,"name":"key","nodeType":"VariableDeclaration","scope":331,"src":"7150:11:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":301,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7150:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"}],"id":312,"initialValue":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":306,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":295,"src":"7191:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"argumentTypes":null,"id":307,"name":"airline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":287,"src":"7198:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":308,"name":"flight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":289,"src":"7207:6:0","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}},{"argumentTypes":null,"id":309,"name":"timestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":291,"src":"7215:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"id":304,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1582,"src":"7174:3:0","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":305,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","referencedDeclaration":null,"src":"7174:16:0","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":310,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7174:51:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":303,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1589,"src":"7164:9:0","typeDescriptions":{"typeIdentifier":"t_function_sha3_pure$__$returns$_t_bytes32_$","typeString":"function () pure returns (bytes32)"}},"id":311,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7164:62:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"7150:76:0"},{"expression":{"argumentTypes":null,"id":321,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":313,"name":"oracleResponses","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":365,"src":"7236:15:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_ResponseInfo_$361_storage_$","typeString":"mapping(bytes32 => struct FlightSuretyApp.ResponseInfo storage ref)"}},"id":315,"indexExpression":{"argumentTypes":null,"id":314,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":302,"src":"7252:3:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"7236:20:0","typeDescriptions":{"typeIdentifier":"t_struct$_ResponseInfo_$361_storage","typeString":"struct FlightSuretyApp.ResponseInfo storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"expression":{"argumentTypes":null,"id":317,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1595,"src":"7284:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":318,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"7284:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"hexValue":"74727565","id":319,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"7304:4:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":null,"id":316,"name":"ResponseInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":361,"src":"7259:12:0","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ResponseInfo_$361_storage_ptr_$","typeString":"type(struct FlightSuretyApp.ResponseInfo storage pointer)"}},"id":320,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":["requester","isOpen"],"nodeType":"FunctionCall","src":"7259:51:0","typeDescriptions":{"typeIdentifier":"t_struct$_ResponseInfo_$361_memory","typeString":"struct FlightSuretyApp.ResponseInfo memory"}},"src":"7236:74:0","typeDescriptions":{"typeIdentifier":"t_struct$_ResponseInfo_$361_storage","typeString":"struct FlightSuretyApp.ResponseInfo storage ref"}},"id":322,"nodeType":"ExpressionStatement","src":"7236:74:0"},{"eventCall":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":324,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":295,"src":"7340:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"argumentTypes":null,"id":325,"name":"airline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":287,"src":"7347:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":326,"name":"flight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":289,"src":"7356:6:0","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}},{"argumentTypes":null,"id":327,"name":"timestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":291,"src":"7364:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":323,"name":"OracleRequest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":395,"src":"7326: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":328,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7326:48:0","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":329,"nodeType":"EmitStatement","src":"7321:53:0"}]},"documentation":null,"id":331,"implemented":true,"isConstructor":false,"isDeclaredConst":false,"modifiers":[],"name":"fetchFlightStatus","nodeType":"FunctionDefinition","parameters":{"id":292,"nodeType":"ParameterList","parameters":[{"constant":false,"id":287,"name":"airline","nodeType":"VariableDeclaration","scope":331,"src":"6972:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":286,"name":"address","nodeType":"ElementaryTypeName","src":"6972:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":289,"name":"flight","nodeType":"VariableDeclaration","scope":331,"src":"6989:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":288,"name":"string","nodeType":"ElementaryTypeName","src":"6989:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":null,"visibility":"internal"},{"constant":false,"id":291,"name":"timestamp","nodeType":"VariableDeclaration","scope":331,"src":"7004:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":290,"name":"uint256","nodeType":"ElementaryTypeName","src":"7004:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"6971:51:0"},"payable":false,"returnParameters":{"id":293,"nodeType":"ParameterList","parameters":[],"src":"7032:0:0"},"scope":716,"src":"6945:436:0","stateMutability":"nonpayable","superFunction":null,"visibility":"external"},{"constant":false,"id":334,"name":"nonce","nodeType":"VariableDeclaration","scope":716,"src":"7479:23:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":332,"name":"uint8","nodeType":"ElementaryTypeName","src":"7479:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"value":{"argumentTypes":null,"hexValue":"30","id":333,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7501:1:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"visibility":"private"},{"constant":true,"id":337,"name":"REGISTRATION_FEE","nodeType":"VariableDeclaration","scope":716,"src":"7555:50:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":335,"name":"uint256","nodeType":"ElementaryTypeName","src":"7555:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"argumentTypes":null,"hexValue":"31","id":336,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7598:7:0","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"value":"1"},"visibility":"public"},{"constant":true,"id":340,"name":"MIN_RESPONSES","nodeType":"VariableDeclaration","scope":716,"src":"7672:42:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":338,"name":"uint256","nodeType":"ElementaryTypeName","src":"7672:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"argumentTypes":null,"hexValue":"33","id":339,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7713:1:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},"visibility":"private"},{"canonicalName":"FlightSuretyApp.Oracle","id":347,"members":[{"constant":false,"id":342,"name":"isRegistered","nodeType":"VariableDeclaration","scope":347,"src":"7746:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":341,"name":"bool","nodeType":"ElementaryTypeName","src":"7746:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":null,"visibility":"internal"},{"constant":false,"id":346,"name":"indexes","nodeType":"VariableDeclaration","scope":347,"src":"7773:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$3_storage_ptr","typeString":"uint8[3]"},"typeName":{"baseType":{"id":343,"name":"uint8","nodeType":"ElementaryTypeName","src":"7773:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":345,"length":{"argumentTypes":null,"hexValue":"33","id":344,"isConstant":false,"isLValue":false,"isPure":false,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7779:1:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":null,"typeString":null},"value":"3"},"nodeType":"ArrayTypeName","src":"7773:8:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$3_storage_ptr","typeString":"uint8[3]"}},"value":null,"visibility":"internal"}],"name":"Oracle","nodeType":"StructDefinition","scope":716,"src":"7722:74:0","visibility":"public"},{"constant":false,"id":351,"name":"oracles","nodeType":"VariableDeclaration","scope":716,"src":"7838:42:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Oracle_$347_storage_$","typeString":"mapping(address => struct FlightSuretyApp.Oracle)"},"typeName":{"id":350,"keyType":{"id":348,"name":"address","nodeType":"ElementaryTypeName","src":"7846:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"7838:26:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Oracle_$347_storage_$","typeString":"mapping(address => struct FlightSuretyApp.Oracle)"},"valueType":{"contractScope":null,"id":349,"name":"Oracle","nodeType":"UserDefinedTypeName","referencedDeclaration":347,"src":"7857:6:0","typeDescriptions":{"typeIdentifier":"t_struct$_Oracle_$347_storage_ptr","typeString":"struct FlightSuretyApp.Oracle"}}},"value":null,"visibility":"private"},{"canonicalName":"FlightSuretyApp.ResponseInfo","id":361,"members":[{"constant":false,"id":353,"name":"requester","nodeType":"VariableDeclaration","scope":361,"src":"7957:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":352,"name":"address","nodeType":"ElementaryTypeName","src":"7957:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":355,"name":"isOpen","nodeType":"VariableDeclaration","scope":361,"src":"8046:11:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":354,"name":"bool","nodeType":"ElementaryTypeName","src":"8046:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":null,"visibility":"internal"},{"constant":false,"id":360,"name":"responses","nodeType":"VariableDeclaration","scope":361,"src":"8144:37:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(uint8 => address[])"},"typeName":{"id":359,"keyType":{"id":356,"name":"uint8","nodeType":"ElementaryTypeName","src":"8152:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"Mapping","src":"8144:27:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(uint8 => address[])"},"valueType":{"baseType":{"id":357,"name":"address","nodeType":"ElementaryTypeName","src":"8161:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":358,"length":null,"nodeType":"ArrayTypeName","src":"8161:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}}},"value":null,"visibility":"internal"}],"name":"ResponseInfo","nodeType":"StructDefinition","scope":716,"src":"7927:515:0","visibility":"public"},{"constant":false,"id":365,"name":"oracleResponses","nodeType":"VariableDeclaration","scope":716,"src":"8526:56:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_ResponseInfo_$361_storage_$","typeString":"mapping(bytes32 => struct FlightSuretyApp.ResponseInfo)"},"typeName":{"id":364,"keyType":{"id":362,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8534:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Mapping","src":"8526:32:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_ResponseInfo_$361_storage_$","typeString":"mapping(bytes32 => struct FlightSuretyApp.ResponseInfo)"},"valueType":{"contractScope":null,"id":363,"name":"ResponseInfo","nodeType":"UserDefinedTypeName","referencedDeclaration":361,"src":"8545:12:0","typeDescriptions":{"typeIdentifier":"t_struct$_ResponseInfo_$361_storage_ptr","typeString":"struct FlightSuretyApp.ResponseInfo"}}},"value":null,"visibility":"private"},{"anonymous":false,"documentation":null,"id":375,"name":"FlightStatusInfo","nodeType":"EventDefinition","parameters":{"id":374,"nodeType":"ParameterList","parameters":[{"constant":false,"id":367,"indexed":false,"name":"airline","nodeType":"VariableDeclaration","scope":375,"src":"8670:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":366,"name":"address","nodeType":"ElementaryTypeName","src":"8670:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":369,"indexed":false,"name":"flight","nodeType":"VariableDeclaration","scope":375,"src":"8687:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":368,"name":"string","nodeType":"ElementaryTypeName","src":"8687:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":null,"visibility":"internal"},{"constant":false,"id":371,"indexed":false,"name":"timestamp","nodeType":"VariableDeclaration","scope":375,"src":"8702:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":370,"name":"uint256","nodeType":"ElementaryTypeName","src":"8702:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":373,"indexed":false,"name":"status","nodeType":"VariableDeclaration","scope":375,"src":"8721:12:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":372,"name":"uint8","nodeType":"ElementaryTypeName","src":"8721:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"value":null,"visibility":"internal"}],"src":"8669:65:0"},"src":"8647:88:0"},{"anonymous":false,"documentation":null,"id":385,"name":"OracleReport","nodeType":"EventDefinition","parameters":{"id":384,"nodeType":"ParameterList","parameters":[{"constant":false,"id":377,"indexed":false,"name":"airline","nodeType":"VariableDeclaration","scope":385,"src":"8760:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":376,"name":"address","nodeType":"ElementaryTypeName","src":"8760:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":379,"indexed":false,"name":"flight","nodeType":"VariableDeclaration","scope":385,"src":"8777:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":378,"name":"string","nodeType":"ElementaryTypeName","src":"8777:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":null,"visibility":"internal"},{"constant":false,"id":381,"indexed":false,"name":"timestamp","nodeType":"VariableDeclaration","scope":385,"src":"8792:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":380,"name":"uint256","nodeType":"ElementaryTypeName","src":"8792:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":383,"indexed":false,"name":"status","nodeType":"VariableDeclaration","scope":385,"src":"8811:12:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":382,"name":"uint8","nodeType":"ElementaryTypeName","src":"8811:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"value":null,"visibility":"internal"}],"src":"8759:65:0"},"src":"8741:84:0"},{"anonymous":false,"documentation":null,"id":395,"name":"OracleRequest","nodeType":"EventDefinition","parameters":{"id":394,"nodeType":"ParameterList","parameters":[{"constant":false,"id":387,"indexed":false,"name":"index","nodeType":"VariableDeclaration","scope":395,"src":"9015:11:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":386,"name":"uint8","nodeType":"ElementaryTypeName","src":"9015:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"value":null,"visibility":"internal"},{"constant":false,"id":389,"indexed":false,"name":"airline","nodeType":"VariableDeclaration","scope":395,"src":"9028:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":388,"name":"address","nodeType":"ElementaryTypeName","src":"9028:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":391,"indexed":false,"name":"flight","nodeType":"VariableDeclaration","scope":395,"src":"9045:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":390,"name":"string","nodeType":"ElementaryTypeName","src":"9045:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":null,"visibility":"internal"},{"constant":false,"id":393,"indexed":false,"name":"timestamp","nodeType":"VariableDeclaration","scope":395,"src":"9060:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":392,"name":"uint256","nodeType":"ElementaryTypeName","src":"9060:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"9014:64:0"},"src":"8995:84:0"},{"body":{"id":426,"nodeType":"Block","src":"9290:266:0","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":402,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":399,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1595,"src":"9344:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":400,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"value","nodeType":"MemberAccess","referencedDeclaration":null,"src":"9344:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"argumentTypes":null,"id":401,"name":"REGISTRATION_FEE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":337,"src":"9357:16:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9344:29:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"argumentTypes":null,"hexValue":"526567697374726174696f6e20666565206973207265717569726564","id":403,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9375:30:0","subdenomination":null,"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":398,"name":"require","nodeType":"Identifier","overloadedDeclarations":[1598,1599],"referencedDeclaration":1599,"src":"9336:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":404,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9336:70:0","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":405,"nodeType":"ExpressionStatement","src":"9336:70:0"},{"assignments":[410],"declarations":[{"constant":false,"id":410,"name":"indexes","nodeType":"VariableDeclaration","scope":427,"src":"9417:23:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$3_memory_ptr","typeString":"uint8[3]"},"typeName":{"baseType":{"id":408,"name":"uint8","nodeType":"ElementaryTypeName","src":"9417:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":409,"length":{"argumentTypes":null,"hexValue":"33","id":407,"isConstant":false,"isLValue":false,"isPure":false,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9423:1:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":null,"typeString":null},"value":"3"},"nodeType":"ArrayTypeName","src":"9417:8:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$3_storage_ptr","typeString":"uint8[3]"}},"value":null,"visibility":"internal"}],"id":415,"initialValue":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"expression":{"argumentTypes":null,"id":412,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1595,"src":"9459:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":413,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"9459:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":411,"name":"generateIndexes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":670,"src":"9443: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":414,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9443:27:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$3_memory_ptr","typeString":"uint8[3] memory"}},"nodeType":"VariableDeclarationStatement","src":"9417:53:0"},{"expression":{"argumentTypes":null,"id":424,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":416,"name":"oracles","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":351,"src":"9481:7:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Oracle_$347_storage_$","typeString":"mapping(address => struct FlightSuretyApp.Oracle storage ref)"}},"id":419,"indexExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":417,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1595,"src":"9489:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":418,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"9489:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"9481:19:0","typeDescriptions":{"typeIdentifier":"t_struct$_Oracle_$347_storage","typeString":"struct FlightSuretyApp.Oracle storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"hexValue":"74727565","id":421,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"9525:4:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"argumentTypes":null,"id":422,"name":"indexes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":410,"src":"9540:7:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$3_memory_ptr","typeString":"uint8[3] memory"}}],"expression":{"argumentTypes":null,"id":420,"name":"Oracle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":347,"src":"9503:6:0","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Oracle_$347_storage_ptr_$","typeString":"type(struct FlightSuretyApp.Oracle storage pointer)"}},"id":423,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":["isRegistered","indexes"],"nodeType":"FunctionCall","src":"9503:46:0","typeDescriptions":{"typeIdentifier":"t_struct$_Oracle_$347_memory","typeString":"struct FlightSuretyApp.Oracle memory"}},"src":"9481:68:0","typeDescriptions":{"typeIdentifier":"t_struct$_Oracle_$347_storage","typeString":"struct FlightSuretyApp.Oracle storage ref"}},"id":425,"nodeType":"ExpressionStatement","src":"9481:68:0"}]},"documentation":null,"id":427,"implemented":true,"isConstructor":false,"isDeclaredConst":false,"modifiers":[],"name":"registerOracle","nodeType":"FunctionDefinition","parameters":{"id":396,"nodeType":"ParameterList","parameters":[],"src":"9181:31:0"},"payable":true,"returnParameters":{"id":397,"nodeType":"ParameterList","parameters":[],"src":"9290:0:0"},"scope":716,"src":"9129:427:0","stateMutability":"payable","superFunction":null,"visibility":"external"},{"body":{"id":449,"nodeType":"Block","src":"9618:134:0","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":435,"name":"oracles","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":351,"src":"9636:7:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Oracle_$347_storage_$","typeString":"mapping(address => struct FlightSuretyApp.Oracle storage ref)"}},"id":438,"indexExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":436,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1595,"src":"9644:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":437,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"9644:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9636:19:0","typeDescriptions":{"typeIdentifier":"t_struct$_Oracle_$347_storage","typeString":"struct FlightSuretyApp.Oracle storage ref"}},"id":439,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"isRegistered","nodeType":"MemberAccess","referencedDeclaration":342,"src":"9636:32:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"argumentTypes":null,"hexValue":"4e6f74207265676973746572656420617320616e206f7261636c65","id":440,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9670:29:0","subdenomination":null,"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":434,"name":"require","nodeType":"Identifier","overloadedDeclarations":[1598,1599],"referencedDeclaration":1599,"src":"9628:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":441,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9628:72:0","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":442,"nodeType":"ExpressionStatement","src":"9628:72:0"},{"expression":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":443,"name":"oracles","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":351,"src":"9718:7:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Oracle_$347_storage_$","typeString":"mapping(address => struct FlightSuretyApp.Oracle storage ref)"}},"id":446,"indexExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":444,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1595,"src":"9726:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":445,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"9726:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9718:19:0","typeDescriptions":{"typeIdentifier":"t_struct$_Oracle_$347_storage","typeString":"struct FlightSuretyApp.Oracle storage ref"}},"id":447,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"indexes","nodeType":"MemberAccess","referencedDeclaration":346,"src":"9718:27:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$3_storage","typeString":"uint8[3] storage ref"}},"functionReturnParameters":433,"id":448,"nodeType":"Return","src":"9711:34:0"}]},"documentation":null,"id":450,"implemented":true,"isConstructor":false,"isDeclaredConst":true,"modifiers":[],"name":"getMyIndexes","nodeType":"FunctionDefinition","parameters":{"id":428,"nodeType":"ParameterList","parameters":[],"src":"9583:2:0"},"payable":false,"returnParameters":{"id":433,"nodeType":"ParameterList","parameters":[{"constant":false,"id":432,"name":"","nodeType":"VariableDeclaration","scope":450,"src":"9608:8:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$3_memory_ptr","typeString":"uint8[3]"},"typeName":{"baseType":{"id":429,"name":"uint8","nodeType":"ElementaryTypeName","src":"9608:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":431,"length":{"argumentTypes":null,"hexValue":"33","id":430,"isConstant":false,"isLValue":false,"isPure":false,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9614:1:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":null,"typeString":null},"value":"3"},"nodeType":"ArrayTypeName","src":"9608:8:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$3_storage_ptr","typeString":"uint8[3]"}},"value":null,"visibility":"internal"}],"src":"9607:10:0"},"scope":716,"src":"9562:190:0","stateMutability":"view","superFunction":null,"visibility":"external"},{"body":{"id":562,"nodeType":"Block","src":"10414:951:0","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":495,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":484,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"components":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":472,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":464,"name":"oracles","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":351,"src":"10433:7:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Oracle_$347_storage_$","typeString":"mapping(address => struct FlightSuretyApp.Oracle storage ref)"}},"id":467,"indexExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":465,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1595,"src":"10441:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":466,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"10441:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10433:19:0","typeDescriptions":{"typeIdentifier":"t_struct$_Oracle_$347_storage","typeString":"struct FlightSuretyApp.Oracle storage ref"}},"id":468,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"indexes","nodeType":"MemberAccess","referencedDeclaration":346,"src":"10433:27:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$3_storage","typeString":"uint8[3] storage ref"}},"id":470,"indexExpression":{"argumentTypes":null,"hexValue":"30","id":469,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10461:1:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10433:30:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"argumentTypes":null,"id":471,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":452,"src":"10467:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"10433:39:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":473,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"10432:41:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"argumentTypes":null,"components":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":482,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":474,"name":"oracles","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":351,"src":"10478:7:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Oracle_$347_storage_$","typeString":"mapping(address => struct FlightSuretyApp.Oracle storage ref)"}},"id":477,"indexExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":475,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1595,"src":"10486:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":476,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"10486:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10478:19:0","typeDescriptions":{"typeIdentifier":"t_struct$_Oracle_$347_storage","typeString":"struct FlightSuretyApp.Oracle storage ref"}},"id":478,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"indexes","nodeType":"MemberAccess","referencedDeclaration":346,"src":"10478:27:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$3_storage","typeString":"uint8[3] storage ref"}},"id":480,"indexExpression":{"argumentTypes":null,"hexValue":"31","id":479,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10506:1:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10478:30:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"argumentTypes":null,"id":481,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":452,"src":"10512:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"10478:39:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":483,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"10477:41:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"10432:86:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"argumentTypes":null,"components":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":493,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":485,"name":"oracles","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":351,"src":"10523:7:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Oracle_$347_storage_$","typeString":"mapping(address => struct FlightSuretyApp.Oracle storage ref)"}},"id":488,"indexExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":486,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1595,"src":"10531:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":487,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"10531:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10523:19:0","typeDescriptions":{"typeIdentifier":"t_struct$_Oracle_$347_storage","typeString":"struct FlightSuretyApp.Oracle storage ref"}},"id":489,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"indexes","nodeType":"MemberAccess","referencedDeclaration":346,"src":"10523:27:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$3_storage","typeString":"uint8[3] storage ref"}},"id":491,"indexExpression":{"argumentTypes":null,"hexValue":"32","id":490,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10551:1:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10523:30:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"argumentTypes":null,"id":492,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":452,"src":"10557:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"10523:39:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":494,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"10522:41:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"10432:131:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"argumentTypes":null,"hexValue":"496e64657820646f6573206e6f74206d61746368206f7261636c652072657175657374","id":496,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10565:37:0","subdenomination":null,"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":463,"name":"require","nodeType":"Identifier","overloadedDeclarations":[1598,1599],"referencedDeclaration":1599,"src":"10424:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":497,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10424:179:0","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":498,"nodeType":"ExpressionStatement","src":"10424:179:0"},{"assignments":[500],"declarations":[{"constant":false,"id":500,"name":"key","nodeType":"VariableDeclaration","scope":563,"src":"10615:11:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":499,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10615:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"}],"id":510,"initialValue":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":504,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":452,"src":"10656:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"argumentTypes":null,"id":505,"name":"airline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":454,"src":"10663:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":506,"name":"flight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":456,"src":"10672:6:0","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}},{"argumentTypes":null,"id":507,"name":"timestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":458,"src":"10680:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"id":502,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1582,"src":"10639:3:0","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":503,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","referencedDeclaration":null,"src":"10639:16:0","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":508,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10639:51:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":501,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1589,"src":"10629:9:0","typeDescriptions":{"typeIdentifier":"t_function_sha3_pure$__$returns$_t_bytes32_$","typeString":"function () pure returns (bytes32)"}},"id":509,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10629:62:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"10615:76:0"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":512,"name":"oracleResponses","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":365,"src":"10709:15:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_ResponseInfo_$361_storage_$","typeString":"mapping(bytes32 => struct FlightSuretyApp.ResponseInfo storage ref)"}},"id":514,"indexExpression":{"argumentTypes":null,"id":513,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":500,"src":"10725:3:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10709:20:0","typeDescriptions":{"typeIdentifier":"t_struct$_ResponseInfo_$361_storage","typeString":"struct FlightSuretyApp.ResponseInfo storage ref"}},"id":515,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"isOpen","nodeType":"MemberAccess","referencedDeclaration":355,"src":"10709:27:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"argumentTypes":null,"hexValue":"466c69676874206f722074696d657374616d7020646f206e6f74206d61746368206f7261636c652072657175657374","id":516,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10738:49:0","subdenomination":null,"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":511,"name":"require","nodeType":"Identifier","overloadedDeclarations":[1598,1599],"referencedDeclaration":1599,"src":"10701:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":517,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10701:87:0","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":518,"nodeType":"ExpressionStatement","src":"10701:87:0"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"expression":{"argumentTypes":null,"id":526,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1595,"src":"10847:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":527,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"10847:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":519,"name":"oracleResponses","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":365,"src":"10799:15:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_ResponseInfo_$361_storage_$","typeString":"mapping(bytes32 => struct FlightSuretyApp.ResponseInfo storage ref)"}},"id":521,"indexExpression":{"argumentTypes":null,"id":520,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":500,"src":"10815:3:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10799:20:0","typeDescriptions":{"typeIdentifier":"t_struct$_ResponseInfo_$361_storage","typeString":"struct FlightSuretyApp.ResponseInfo storage ref"}},"id":522,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"responses","nodeType":"MemberAccess","referencedDeclaration":360,"src":"10799:30:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(uint8 => address[] storage ref)"}},"id":524,"indexExpression":{"argumentTypes":null,"id":523,"name":"statusCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":460,"src":"10830:10:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10799:42:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"id":525,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"push","nodeType":"MemberAccess","referencedDeclaration":null,"src":"10799:47:0","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_address_$returns$_t_uint256_$","typeString":"function (address) returns (uint256)"}},"id":528,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10799:59:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":529,"nodeType":"ExpressionStatement","src":"10799:59:0"},{"eventCall":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":531,"name":"airline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":454,"src":"11026:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":532,"name":"flight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":456,"src":"11035:6:0","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}},{"argumentTypes":null,"id":533,"name":"timestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":458,"src":"11043:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"id":534,"name":"statusCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":460,"src":"11054:10:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":530,"name":"OracleReport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":385,"src":"11013: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":535,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11013:52:0","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":536,"nodeType":"EmitStatement","src":"11008:57:0"},{"condition":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":545,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":537,"name":"oracleResponses","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":365,"src":"11079:15:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_ResponseInfo_$361_storage_$","typeString":"mapping(bytes32 => struct FlightSuretyApp.ResponseInfo storage ref)"}},"id":539,"indexExpression":{"argumentTypes":null,"id":538,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":500,"src":"11095:3:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11079:20:0","typeDescriptions":{"typeIdentifier":"t_struct$_ResponseInfo_$361_storage","typeString":"struct FlightSuretyApp.ResponseInfo storage ref"}},"id":540,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"responses","nodeType":"MemberAccess","referencedDeclaration":360,"src":"11079:30:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(uint8 => address[] storage ref)"}},"id":542,"indexExpression":{"argumentTypes":null,"id":541,"name":"statusCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":460,"src":"11110:10:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11079:42:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"id":543,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","referencedDeclaration":null,"src":"11079:49:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"argumentTypes":null,"id":544,"name":"MIN_RESPONSES","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":340,"src":"11132:13:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11079:66:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":null,"id":561,"nodeType":"IfStatement","src":"11075:284:0","trueBody":{"id":560,"nodeType":"Block","src":"11147:212:0","statements":[{"eventCall":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":547,"name":"airline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":454,"src":"11184:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":548,"name":"flight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":456,"src":"11193:6:0","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}},{"argumentTypes":null,"id":549,"name":"timestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":458,"src":"11201:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"id":550,"name":"statusCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":460,"src":"11212:10:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":546,"name":"FlightStatusInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":375,"src":"11167: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":551,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11167:56:0","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":552,"nodeType":"EmitStatement","src":"11162:61:0"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":554,"name":"airline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":454,"src":"11309:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":555,"name":"flight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":456,"src":"11318:6:0","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}},{"argumentTypes":null,"id":556,"name":"timestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":458,"src":"11326:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"id":557,"name":"statusCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":460,"src":"11337:10:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":553,"name":"processFlightStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":253,"src":"11289: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":558,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11289:59:0","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":559,"nodeType":"ExpressionStatement","src":"11289:59:0"}]}}]},"documentation":null,"id":563,"implemented":true,"isConstructor":false,"isDeclaredConst":false,"modifiers":[],"name":"submitOracleResponse","nodeType":"FunctionDefinition","parameters":{"id":461,"nodeType":"ParameterList","parameters":[{"constant":false,"id":452,"name":"index","nodeType":"VariableDeclaration","scope":563,"src":"10158:11:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":451,"name":"uint8","nodeType":"ElementaryTypeName","src":"10158:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"value":null,"visibility":"internal"},{"constant":false,"id":454,"name":"airline","nodeType":"VariableDeclaration","scope":563,"src":"10199:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":453,"name":"address","nodeType":"ElementaryTypeName","src":"10199:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":456,"name":"flight","nodeType":"VariableDeclaration","scope":563,"src":"10244:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":455,"name":"string","nodeType":"ElementaryTypeName","src":"10244:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":null,"visibility":"internal"},{"constant":false,"id":458,"name":"timestamp","nodeType":"VariableDeclaration","scope":563,"src":"10287:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":457,"name":"uint256","nodeType":"ElementaryTypeName","src":"10287:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":460,"name":"statusCode","nodeType":"VariableDeclaration","scope":563,"src":"10334:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":459,"name":"uint8","nodeType":"ElementaryTypeName","src":"10334:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"value":null,"visibility":"internal"}],"src":"10128:248:0"},"payable":false,"returnParameters":{"id":462,"nodeType":"ParameterList","parameters":[],"src":"10414:0:0"},"scope":716,"src":"10074:1291:0","stateMutability":"nonpayable","superFunction":null,"visibility":"external"},{"body":{"id":583,"nodeType":"Block","src":"11475:79:0","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":577,"name":"airline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":565,"src":"11519:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":578,"name":"flight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":567,"src":"11528:6:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"argumentTypes":null,"id":579,"name":"timestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":569,"src":"11536: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":{"argumentTypes":null,"id":575,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1582,"src":"11502:3:0","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":576,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","referencedDeclaration":null,"src":"11502:16:0","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":580,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11502:44:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":574,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1589,"src":"11492:9:0","typeDescriptions":{"typeIdentifier":"t_function_sha3_pure$__$returns$_t_bytes32_$","typeString":"function () pure returns (bytes32)"}},"id":581,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11492:55:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":573,"id":582,"nodeType":"Return","src":"11485:62:0"}]},"documentation":null,"id":584,"implemented":true,"isConstructor":false,"isDeclaredConst":true,"modifiers":[],"name":"getFlightKey","nodeType":"FunctionDefinition","parameters":{"id":570,"nodeType":"ParameterList","parameters":[{"constant":false,"id":565,"name":"airline","nodeType":"VariableDeclaration","scope":584,"src":"11393:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":564,"name":"address","nodeType":"ElementaryTypeName","src":"11393:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":567,"name":"flight","nodeType":"VariableDeclaration","scope":584,"src":"11410:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":566,"name":"string","nodeType":"ElementaryTypeName","src":"11410:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":null,"visibility":"internal"},{"constant":false,"id":569,"name":"timestamp","nodeType":"VariableDeclaration","scope":584,"src":"11425:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":568,"name":"uint256","nodeType":"ElementaryTypeName","src":"11425:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"11392:51:0"},"payable":false,"returnParameters":{"id":573,"nodeType":"ParameterList","parameters":[{"constant":false,"id":572,"name":"","nodeType":"VariableDeclaration","scope":584,"src":"11466:7:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":571,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11466:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"}],"src":"11465:9:0"},"scope":716,"src":"11371:183:0","stateMutability":"pure","superFunction":null,"visibility":"internal"},{"body":{"id":669,"nodeType":"Block","src":"11693:415:0","statements":[{"assignments":[],"declarations":[{"constant":false,"id":597,"name":"indexes","nodeType":"VariableDeclaration","scope":670,"src":"11703:23:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$3_memory_ptr","typeString":"uint8[3]"},"typeName":{"baseType":{"id":595,"name":"uint8","nodeType":"ElementaryTypeName","src":"11703:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":596,"length":{"argumentTypes":null,"hexValue":"33","id":594,"isConstant":false,"isLValue":false,"isPure":false,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11709:1:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":null,"typeString":null},"value":"3"},"nodeType":"ArrayTypeName","src":"11703:8:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$3_storage_ptr","typeString":"uint8[3]"}},"value":null,"visibility":"internal"}],"id":598,"initialValue":null,"nodeType":"VariableDeclarationStatement","src":"11703:23:0"},{"expression":{"argumentTypes":null,"id":605,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":599,"name":"indexes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":597,"src":"11736:7:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$3_memory_ptr","typeString":"uint8[3] memory"}},"id":601,"indexExpression":{"argumentTypes":null,"hexValue":"30","id":600,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11744:1:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"11736:10:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":603,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":586,"src":"11764:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":602,"name":"getRandomIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":715,"src":"11749:14:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$_t_uint8_$","typeString":"function (address) returns (uint8)"}},"id":604,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11749:23:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"11736:36:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":606,"nodeType":"ExpressionStatement","src":"11736:36:0"},{"expression":{"argumentTypes":null,"id":613,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":607,"name":"indexes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":597,"src":"11783:7:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$3_memory_ptr","typeString":"uint8[3] memory"}},"id":609,"indexExpression":{"argumentTypes":null,"hexValue":"31","id":608,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11791:1:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"11783:10:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":610,"name":"indexes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":597,"src":"11796:7:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$3_memory_ptr","typeString":"uint8[3] memory"}},"id":612,"indexExpression":{"argumentTypes":null,"hexValue":"30","id":611,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11804:1:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11796:10:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"11783:23:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":614,"nodeType":"ExpressionStatement","src":"11783:23:0"},{"body":{"id":630,"nodeType":"Block","src":"11848:61:0","statements":[{"expression":{"argumentTypes":null,"id":628,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":622,"name":"indexes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":597,"src":"11862:7:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$3_memory_ptr","typeString":"uint8[3] memory"}},"id":624,"indexExpression":{"argumentTypes":null,"hexValue":"31","id":623,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11870:1:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"11862:10:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":626,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":586,"src":"11890:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":625,"name":"getRandomIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":715,"src":"11875:14:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$_t_uint8_$","typeString":"function (address) returns (uint8)"}},"id":627,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11875:23:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"11862:36:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":629,"nodeType":"ExpressionStatement","src":"11862:36:0"}]},"condition":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":621,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":615,"name":"indexes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":597,"src":"11822:7:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$3_memory_ptr","typeString":"uint8[3] memory"}},"id":617,"indexExpression":{"argumentTypes":null,"hexValue":"31","id":616,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11830:1:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11822:10:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":618,"name":"indexes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":597,"src":"11836:7:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$3_memory_ptr","typeString":"uint8[3] memory"}},"id":620,"indexExpression":{"argumentTypes":null,"hexValue":"30","id":619,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11844:1:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11836:10:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"11822:24:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":631,"nodeType":"WhileStatement","src":"11816:93:0"},{"expression":{"argumentTypes":null,"id":638,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":632,"name":"indexes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":597,"src":"11919:7:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$3_memory_ptr","typeString":"uint8[3] memory"}},"id":634,"indexExpression":{"argumentTypes":null,"hexValue":"32","id":633,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11927:1:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"11919:10:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":635,"name":"indexes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":597,"src":"11932:7:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$3_memory_ptr","typeString":"uint8[3] memory"}},"id":637,"indexExpression":{"argumentTypes":null,"hexValue":"31","id":636,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11940:1:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11932:10:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"11919:23:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":639,"nodeType":"ExpressionStatement","src":"11919:23:0"},{"body":{"id":665,"nodeType":"Block","src":"12016:61:0","statements":[{"expression":{"argumentTypes":null,"id":663,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":657,"name":"indexes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":597,"src":"12030:7:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$3_memory_ptr","typeString":"uint8[3] memory"}},"id":659,"indexExpression":{"argumentTypes":null,"hexValue":"32","id":658,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12038:1:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"12030:10:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":661,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":586,"src":"12058:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":660,"name":"getRandomIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":715,"src":"12043:14:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$_t_uint8_$","typeString":"function (address) returns (uint8)"}},"id":662,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12043:23:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"12030:36:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":664,"nodeType":"ExpressionStatement","src":"12030:36:0"}]},"condition":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":656,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"components":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":646,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":640,"name":"indexes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":597,"src":"11959:7:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$3_memory_ptr","typeString":"uint8[3] memory"}},"id":642,"indexExpression":{"argumentTypes":null,"hexValue":"32","id":641,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11967:1:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11959:10:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":643,"name":"indexes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":597,"src":"11973:7:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$3_memory_ptr","typeString":"uint8[3] memory"}},"id":645,"indexExpression":{"argumentTypes":null,"hexValue":"30","id":644,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11981:1:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11973:10:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"11959:24:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":647,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"11958:26:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"argumentTypes":null,"components":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":654,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":648,"name":"indexes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":597,"src":"11989:7:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$3_memory_ptr","typeString":"uint8[3] memory"}},"id":650,"indexExpression":{"argumentTypes":null,"hexValue":"32","id":649,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11997:1:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11989:10:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":651,"name":"indexes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":597,"src":"12003:7:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$3_memory_ptr","typeString":"uint8[3] memory"}},"id":653,"indexExpression":{"argumentTypes":null,"hexValue":"31","id":652,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12011:1:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12003:10:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"11989:24:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":655,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"11988:26:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"11958:56:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":666,"nodeType":"WhileStatement","src":"11952:125:0"},{"expression":{"argumentTypes":null,"id":667,"name":"indexes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":597,"src":"12094:7:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$3_memory_ptr","typeString":"uint8[3] memory"}},"functionReturnParameters":592,"id":668,"nodeType":"Return","src":"12087:14:0"}]},"documentation":null,"id":670,"implemented":true,"isConstructor":false,"isDeclaredConst":false,"modifiers":[],"name":"generateIndexes","nodeType":"FunctionDefinition","parameters":{"id":587,"nodeType":"ParameterList","parameters":[{"constant":false,"id":586,"name":"account","nodeType":"VariableDeclaration","scope":670,"src":"11649:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":585,"name":"address","nodeType":"ElementaryTypeName","src":"11649:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"}],"src":"11648:17:0"},"payable":false,"returnParameters":{"id":592,"nodeType":"ParameterList","parameters":[{"constant":false,"id":591,"name":"","nodeType":"VariableDeclaration","scope":670,"src":"11683:8:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$3_memory_ptr","typeString":"uint8[3]"},"typeName":{"baseType":{"id":588,"name":"uint8","nodeType":"ElementaryTypeName","src":"11683:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":590,"length":{"argumentTypes":null,"hexValue":"33","id":589,"isConstant":false,"isLValue":false,"isPure":false,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11689:1:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":null,"typeString":null},"value":"3"},"nodeType":"ArrayTypeName","src":"11683:8:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$3_storage_ptr","typeString":"uint8[3]"}},"value":null,"visibility":"internal"}],"src":"11682:10:0"},"scope":716,"src":"11624:484:0","stateMutability":"nonpayable","superFunction":null,"visibility":"internal"},{"body":{"id":714,"nodeType":"Block","src":"12244:380:0","statements":[{"assignments":[678],"declarations":[{"constant":false,"id":678,"name":"maxValue","nodeType":"VariableDeclaration","scope":715,"src":"12254:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":677,"name":"uint8","nodeType":"ElementaryTypeName","src":"12254:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"value":null,"visibility":"internal"}],"id":680,"initialValue":{"argumentTypes":null,"hexValue":"3130","id":679,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12271:2:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"VariableDeclarationStatement","src":"12254:19:0"},{"assignments":[682],"declarations":[{"constant":false,"id":682,"name":"random","nodeType":"VariableDeclaration","scope":715,"src":"12356:12:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":681,"name":"uint8","nodeType":"ElementaryTypeName","src":"12356:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"value":null,"visibility":"internal"}],"id":702,"initialValue":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":700,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"arguments":[{"argumentTypes":null,"arguments":[{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":693,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":689,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1585,"src":"12422:5:0","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":690,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","referencedDeclaration":null,"src":"12422:12:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"argumentTypes":null,"id":692,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"12437:7:0","subExpression":{"argumentTypes":null,"id":691,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":334,"src":"12437:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"12422:22:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":688,"name":"blockhash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1586,"src":"12412:9:0","typeDescriptions":{"typeIdentifier":"t_function_blockhash_view$_t_uint256_$returns$_t_bytes32_$","typeString":"function (uint256) view returns (bytes32)"}},"id":694,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12412:33:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"argumentTypes":null,"id":695,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":672,"src":"12447:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"argumentTypes":null,"id":686,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1582,"src":"12395:3:0","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":687,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","referencedDeclaration":null,"src":"12395:16:0","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":696,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12395:60:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":685,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1589,"src":"12385:9:0","typeDescriptions":{"typeIdentifier":"t_function_sha3_pure$__$returns$_t_bytes32_$","typeString":"function () pure returns (bytes32)"}},"id":697,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12385:71:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":684,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12377:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":"uint256"},"id":698,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12377:80:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"%","rightExpression":{"argumentTypes":null,"id":699,"name":"maxValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":678,"src":"12460:8:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"12377:91:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":683,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12371:5:0","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":"uint8"},"id":701,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12371:98:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"VariableDeclarationStatement","src":"12356:113:0"},{"condition":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":705,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":703,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":334,"src":"12484:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"argumentTypes":null,"hexValue":"323530","id":704,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12492:3:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_250_by_1","typeString":"int_const 250"},"value":"250"},"src":"12484:11:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":null,"id":711,"nodeType":"IfStatement","src":"12480:114:0","trueBody":{"id":710,"nodeType":"Block","src":"12497:97:0","statements":[{"expression":{"argumentTypes":null,"id":708,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"id":706,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":334,"src":"12511:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"hexValue":"30","id":707,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12519:1:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"12511:9:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":709,"nodeType":"ExpressionStatement","src":"12511:9:0"}]}},{"expression":{"argumentTypes":null,"id":712,"name":"random","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":682,"src":"12611:6:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"functionReturnParameters":676,"id":713,"nodeType":"Return","src":"12604:13:0"}]},"documentation":null,"id":715,"implemented":true,"isConstructor":false,"isDeclaredConst":false,"modifiers":[],"name":"getRandomIndex","nodeType":"FunctionDefinition","parameters":{"id":673,"nodeType":"ParameterList","parameters":[{"constant":false,"id":672,"name":"account","nodeType":"VariableDeclaration","scope":715,"src":"12202:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":671,"name":"address","nodeType":"ElementaryTypeName","src":"12202:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"}],"src":"12201:17:0"},"payable":false,"returnParameters":{"id":676,"nodeType":"ParameterList","parameters":[{"constant":false,"id":675,"name":"","nodeType":"VariableDeclaration","scope":715,"src":"12237:5:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":674,"name":"uint8","nodeType":"ElementaryTypeName","src":"12237:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"value":null,"visibility":"internal"}],"src":"12236:7:0"},"scope":716,"src":"12178:446:0","stateMutability":"nonpayable","superFunction":null,"visibility":"internal"}],"scope":717,"src":"636:12005:0"}],"src":"0:12642:0"},"legacyAST":{"attributes":{"absolutePath":"/Users/stockbit/Documents/Tutorials/FlightSurety/contracts/FlightSuretyApp.sol","exportedSymbols":{"FlightSuretyApp":[716]}},"children":[{"attributes":{"literals":["solidity","^","0.4",".25"]},"id":1,"name":"PragmaDirective","src":"0:24:0"},{"attributes":{"literals":["experimental","ABIEncoderV2"]},"id":2,"name":"PragmaDirective","src":"25:33:0"},{"attributes":{"SourceUnit":1581,"absolutePath":"/Users/stockbit/Documents/Tutorials/FlightSurety/node_modules/openzeppelin-solidity/contracts/math/SafeMath.sol","file":"../node_modules/openzeppelin-solidity/contracts/math/SafeMath.sol","scope":717,"symbolAliases":[null],"unitAlias":""},"id":3,"name":"ImportDirective","src":"350:75:0"},{"attributes":{"SourceUnit":1487,"absolutePath":"/Users/stockbit/Documents/Tutorials/FlightSurety/contracts/FlightSuretyData.sol","file":"../contracts/FlightSuretyData.sol","scope":717,"symbolAliases":[null],"unitAlias":""},"id":4,"name":"ImportDirective","src":"426:43:0"},{"attributes":{"baseContracts":[null],"contractDependencies":[null],"contractKind":"contract","documentation":"************************************************ ","fullyImplemented":true,"linearizedBaseContracts":[716],"name":"FlightSuretyApp","scope":717},"children":[{"children":[{"attributes":{"contractScope":null,"name":"SafeMath","referencedDeclaration":1580,"type":"library SafeMath"},"id":5,"name":"UserDefinedTypeName","src":"673:8:0"},{"attributes":{"name":"uint256","type":"uint256"},"id":6,"name":"ElementaryTypeName","src":"686:7:0"}],"id":7,"name":"UsingForDirective","src":"667:27:0"},{"attributes":{"constant":true,"name":"STATUS_CODE_UNKNOWN","scope":716,"stateVariable":true,"storageLocation":"default","type":"uint8","visibility":"private"},"children":[{"attributes":{"name":"uint8","type":"uint8"},"id":8,"name":"ElementaryTypeName","src":"1128:5:0"},{"attributes":{"argumentTypes":null,"hexvalue":"30","isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"subdenomination":null,"token":"number","type":"int_const 0","value":"0"},"id":9,"name":"Literal","src":"1173:1:0"}],"id":10,"name":"VariableDeclaration","src":"1128:46:0"},{"attributes":{"constant":true,"name":"STATUS_CODE_ON_TIME","scope":716,"stateVariable":true,"storageLocation":"default","type":"uint8","visibility":"private"},"children":[{"attributes":{"name":"uint8","type":"uint8"},"id":11,"name":"ElementaryTypeName","src":"1180:5:0"},{"attributes":{"argumentTypes":null,"hexvalue":"3130","isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"subdenomination":null,"token":"number","type":"int_const 10","value":"10"},"id":12,"name":"Literal","src":"1225:2:0"}],"id":13,"name":"VariableDeclaration","src":"1180:47:0"},{"attributes":{"constant":true,"name":"STATUS_CODE_LATE_AIRLINE","scope":716,"stateVariable":true,"storageLocation":"default","type":"uint8","visibility":"private"},"children":[{"attributes":{"name":"uint8","type":"uint8"},"id":14,"name":"ElementaryTypeName","src":"1233:5:0"},{"attributes":{"argumentTypes":null,"hexvalue":"3230","isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"subdenomination":null,"token":"number","type":"int_const 20","value":"20"},"id":15,"name":"Literal","src":"1283:2:0"}],"id":16,"name":"VariableDeclaration","src":"1233:52:0"},{"attributes":{"constant":true,"name":"STATUS_CODE_LATE_WEATHER","scope":716,"stateVariable":true,"storageLocation":"default","type":"uint8","visibility":"private"},"children":[{"attributes":{"name":"uint8","type":"uint8"},"id":17,"name":"ElementaryTypeName","src":"1291:5:0"},{"attributes":{"argumentTypes":null,"hexvalue":"3330","isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"subdenomination":null,"token":"number","type":"int_const 30","value":"30"},"id":18,"name":"Literal","src":"1341:2:0"}],"id":19,"name":"VariableDeclaration","src":"1291:52:0"},{"attributes":{"constant":true,"name":"STATUS_CODE_LATE_TECHNICAL","scope":716,"stateVariable":true,"storageLocation":"default","type":"uint8","visibility":"private"},"children":[{"attributes":{"name":"uint8","type":"uint8"},"id":20,"name":"ElementaryTypeName","src":"1349:5:0"},{"attributes":{"argumentTypes":null,"hexvalue":"3430","isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"subdenomination":null,"token":"number","type":"int_const 40","value":"40"},"id":21,"name":"Literal","src":"1401:2:0"}],"id":22,"name":"VariableDeclaration","src":"1349:54:0"},{"attributes":{"constant":true,"name":"STATUS_CODE_LATE_OTHER","scope":716,"stateVariable":true,"storageLocation":"default","type":"uint8","visibility":"private"},"children":[{"attributes":{"name":"uint8","type":"uint8"},"id":23,"name":"ElementaryTypeName","src":"1409:5:0"},{"attributes":{"argumentTypes":null,"hexvalue":"3530","isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"subdenomination":null,"token":"number","type":"int_const 50","value":"50"},"id":24,"name":"Literal","src":"1457:2:0"}],"id":25,"name":"VariableDeclaration","src":"1409:50:0"},{"attributes":{"constant":true,"name":"NUMBER_OF_AIRLINES_FOR_MULTICONSESUS","scope":716,"stateVariable":true,"storageLocation":"default","type":"uint256","visibility":"private"},"children":[{"attributes":{"name":"uint","type":"uint256"},"id":26,"name":"ElementaryTypeName","src":"1466:4:0"},{"attributes":{"argumentTypes":null,"hexvalue":"34","isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"subdenomination":null,"token":"number","type":"int_const 4","value":"4"},"id":27,"name":"Literal","src":"1527:1:0"}],"id":28,"name":"VariableDeclaration","src":"1466:62:0"},{"attributes":{"constant":false,"name":"contractOwner","scope":716,"stateVariable":true,"storageLocation":"default","type":"address","value":null,"visibility":"private"},"children":[{"attributes":{"name":"address","type":"address"},"id":29,"name":"ElementaryTypeName","src":"1535:7:0"}],"id":30,"name":"VariableDeclaration","src":"1535:29:0"},{"attributes":{"constant":false,"name":"flightSuretyData","scope":716,"stateVariable":true,"storageLocation":"default","type":"contract IFlightSuretyData","value":null,"visibility":"internal"},"children":[{"attributes":{"contractScope":null,"name":"IFlightSuretyData","referencedDeclaration":800,"type":"contract IFlightSuretyData"},"id":31,"name":"UserDefinedTypeName","src":"1614:17:0"}],"id":32,"name":"VariableDeclaration","src":"1614:34:0"},{"attributes":{"documentation":"@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","name":"requireIsOperational","visibility":"internal"},"children":[{"attributes":{"parameters":[null]},"children":[],"id":33,"name":"ParameterList","src":"2370:2:0"},{"children":[{"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"isStructConstructorCall":false,"lValueRequested":false,"names":[null],"type":"tuple()","type_conversion":false},"children":[{"attributes":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_a944ac63656791076c14949470b85bdffa60627db8794c94b1d70a12e2e21886","typeString":"literal_string \\"Contract is currently not operational\\""}],"overloadedDeclarations":[1598,1599],"referencedDeclaration":1599,"type":"function (bool,string memory) pure","value":"require"},"id":34,"name":"Identifier","src":"2433:7:0"},{"attributes":{"argumentTypes":null,"hexvalue":"74727565","isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"subdenomination":null,"token":"bool","type":"bool","value":"true"},"id":35,"name":"Literal","src":"2441:4:0"},{"attributes":{"argumentTypes":null,"hexvalue":"436f6e74726163742069732063757272656e746c79206e6f74206f7065726174696f6e616c","isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"subdenomination":null,"token":"string","type":"literal_string \\"Contract is currently not operational\\"","value":"Contract is currently not operational"},"id":36,"name":"Literal","src":"2447:39:0"}],"id":37,"name":"FunctionCall","src":"2433:54:0"}],"id":38,"name":"ExpressionStatement","src":"2433:54:0"},{"id":39,"name":"PlaceholderStatement","src":"2497:1:0"}],"id":40,"name":"Block","src":"2373:219:0"}],"id":41,"name":"ModifierDefinition","src":"2341:251:0"},{"attributes":{"documentation":"@dev Modifier that requires the \\"ContractOwner\\" account to be the function caller","name":"requireContractOwner","visibility":"internal"},"children":[{"attributes":{"parameters":[null]},"children":[],"id":42,"name":"ParameterList","src":"2730:2:0"},{"children":[{"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"isStructConstructorCall":false,"lValueRequested":false,"names":[null],"type":"tuple()","type_conversion":false},"children":[{"attributes":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_ad5b8255218fc9200bf271049bc5472a1a7a8192290eba60272e432e608ceea3","typeString":"literal_string \\"Caller is not contract owner\\""}],"overloadedDeclarations":[1598,1599],"referencedDeclaration":1599,"type":"function (bool,string memory) pure","value":"require"},"id":43,"name":"Identifier","src":"2743:7:0"},{"attributes":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_address","typeString":"address"},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"operator":"==","type":"bool"},"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"member_name":"sender","referencedDeclaration":null,"type":"address"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":1595,"type":"msg","value":"msg"},"id":44,"name":"Identifier","src":"2751:3:0"}],"id":45,"name":"MemberAccess","src":"2751:10:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":30,"type":"address","value":"contractOwner"},"id":46,"name":"Identifier","src":"2765:13:0"}],"id":47,"name":"BinaryOperation","src":"2751:27:0"},{"attributes":{"argumentTypes":null,"hexvalue":"43616c6c6572206973206e6f7420636f6e7472616374206f776e6572","isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"subdenomination":null,"token":"string","type":"literal_string \\"Caller is not contract owner\\"","value":"Caller is not contract owner"},"id":48,"name":"Literal","src":"2780:30:0"}],"id":49,"name":"FunctionCall","src":"2743:68:0"}],"id":50,"name":"ExpressionStatement","src":"2743:68:0"},{"id":51,"name":"PlaceholderStatement","src":"2821:1:0"}],"id":52,"name":"Block","src":"2733:96:0"}],"id":53,"name":"ModifierDefinition","src":"2701:128:0"},{"attributes":{"documentation":"@dev Modifier that requires the airline to have paid registration fee to be the function caller","name":"requireAirlinePayRegistrationFee","visibility":"internal"},"children":[{"attributes":{"parameters":[null]},"children":[],"id":54,"name":"ParameterList","src":"2993:2:0"},{"children":[{"attributes":{"assignments":[56]},"children":[{"attributes":{"constant":false,"name":"hasPaidRegistrationFee","scope":72,"stateVariable":false,"storageLocation":"default","type":"bool","value":null,"visibility":"internal"},"children":[{"attributes":{"name":"bool","type":"bool"},"id":55,"name":"ElementaryTypeName","src":"3006:4:0"}],"id":56,"name":"VariableDeclaration","src":"3006:27:0"},{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"isStructConstructorCall":false,"lValueRequested":false,"names":[null],"type":"bool","type_conversion":false},"children":[{"attributes":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"member_name":"hasPaidRegistrationFee","referencedDeclaration":776,"type":"function (address) view external returns (bool)"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":32,"type":"contract IFlightSuretyData","value":"flightSuretyData"},"id":57,"name":"Identifier","src":"3036:16:0"}],"id":58,"name":"MemberAccess","src":"3036:39:0"},{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"member_name":"sender","referencedDeclaration":null,"type":"address"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":1595,"type":"msg","value":"msg"},"id":59,"name":"Identifier","src":"3076:3:0"}],"id":60,"name":"MemberAccess","src":"3076:10:0"}],"id":61,"name":"FunctionCall","src":"3036:51:0"}],"id":62,"name":"VariableDeclarationStatement","src":"3006:81:0"},{"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"isStructConstructorCall":false,"lValueRequested":false,"names":[null],"type":"tuple()","type_conversion":false},"children":[{"attributes":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_0d6501fc701c8894f10bd4931e50125375ca36399e3933d17125d2a578f3ed45","typeString":"literal_string \\"Airline has not paid registration fee\\""}],"overloadedDeclarations":[1598,1599],"referencedDeclaration":1599,"type":"function (bool,string memory) pure","value":"require"},"id":63,"name":"Identifier","src":"3097:7:0"},{"attributes":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"operator":"==","type":"bool"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":56,"type":"bool","value":"hasPaidRegistrationFee"},"id":64,"name":"Identifier","src":"3105:22:0"},{"attributes":{"argumentTypes":null,"hexvalue":"74727565","isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"subdenomination":null,"token":"bool","type":"bool","value":"true"},"id":65,"name":"Literal","src":"3131:4:0"}],"id":66,"name":"BinaryOperation","src":"3105:30:0"},{"attributes":{"argumentTypes":null,"hexvalue":"4169726c696e6520686173206e6f74207061696420726567697374726174696f6e20666565","isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"subdenomination":null,"token":"string","type":"literal_string \\"Airline has not paid registration fee\\"","value":"Airline has not paid registration fee"},"id":67,"name":"Literal","src":"3137:39:0"}],"id":68,"name":"FunctionCall","src":"3097:80:0"}],"id":69,"name":"ExpressionStatement","src":"3097:80:0"},{"id":70,"name":"PlaceholderStatement","src":"3187:1:0"}],"id":71,"name":"Block","src":"2996:199:0"}],"id":72,"name":"ModifierDefinition","src":"2952:243:0"},{"attributes":{"constant":false,"documentation":"@dev Contract constructor\\n    ","implemented":true,"isConstructor":true,"modifiers":[null],"name":"","payable":false,"scope":716,"stateMutability":"nonpayable","superFunction":null,"visibility":"public"},"children":[{"children":[{"attributes":{"constant":false,"name":"dataContract","scope":89,"stateVariable":false,"storageLocation":"default","type":"address","value":null,"visibility":"internal"},"children":[{"attributes":{"name":"address","type":"address"},"id":73,"name":"ElementaryTypeName","src":"3564:7:0"}],"id":74,"name":"VariableDeclaration","src":"3564:20:0"}],"id":75,"name":"ParameterList","src":"3563:22:0"},{"attributes":{"parameters":[null]},"children":[],"id":76,"name":"ParameterList","src":"3593:0:0"},{"children":[{"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"operator":"=","type":"address"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":30,"type":"address","value":"contractOwner"},"id":77,"name":"Identifier","src":"3603:13:0"},{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"member_name":"sender","referencedDeclaration":null,"type":"address"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":1595,"type":"msg","value":"msg"},"id":78,"name":"Identifier","src":"3619:3:0"}],"id":79,"name":"MemberAccess","src":"3619:10:0"}],"id":80,"name":"Assignment","src":"3603:26:0"}],"id":81,"name":"ExpressionStatement","src":"3603:26:0"},{"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"operator":"=","type":"contract IFlightSuretyData"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":32,"type":"contract IFlightSuretyData","value":"flightSuretyData"},"id":82,"name":"Identifier","src":"3639:16:0"},{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"isStructConstructorCall":false,"lValueRequested":false,"names":[null],"type":"contract FlightSuretyData","type_conversion":true},"children":[{"attributes":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"overloadedDeclarations":[null],"referencedDeclaration":1486,"type":"type(contract FlightSuretyData)","value":"FlightSuretyData"},"id":83,"name":"Identifier","src":"3658:16:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":74,"type":"address","value":"dataContract"},"id":84,"name":"Identifier","src":"3675:12:0"}],"id":85,"name":"FunctionCall","src":"3658:30:0"}],"id":86,"name":"Assignment","src":"3639:49:0"}],"id":87,"name":"ExpressionStatement","src":"3639:49:0"}],"id":88,"name":"Block","src":"3593:102:0"}],"id":89,"name":"FunctionDefinition","src":"3552:143:0"},{"attributes":{"constant":true,"documentation":"*****************************************************************************************","implemented":true,"isConstructor":false,"modifiers":[null],"name":"isOperational","payable":false,"scope":716,"stateMutability":"view","superFunction":null,"visibility":"public"},"children":[{"attributes":{"parameters":[null]},"children":[],"id":90,"name":"ParameterList","src":"4021:2:0"},{"children":[{"attributes":{"constant":false,"name":"","scope":99,"stateVariable":false,"storageLocation":"default","type":"bool","value":null,"visibility":"internal"},"children":[{"attributes":{"name":"bool","type":"bool"},"id":91,"name":"ElementaryTypeName","src":"4044:4:0"}],"id":92,"name":"VariableDeclaration","src":"4044:4:0"}],"id":93,"name":"ParameterList","src":"4043:6:0"},{"children":[{"attributes":{"functionReturnParameters":93},"children":[{"attributes":{"argumentTypes":null,"arguments":[null],"isConstant":false,"isLValue":false,"isPure":false,"isStructConstructorCall":false,"lValueRequested":false,"names":[null],"type":"bool","type_conversion":false},"children":[{"attributes":{"argumentTypes":[null],"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"member_name":"isOperational","referencedDeclaration":741,"type":"function () view external returns (bool)"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":32,"type":"contract IFlightSuretyData","value":"flightSuretyData"},"id":94,"name":"Identifier","src":"4067:16:0"}],"id":95,"name":"MemberAccess","src":"4067:30:0"}],"id":96,"name":"FunctionCall","src":"4067:32:0"}],"id":97,"name":"Return","src":"4060:39:0"}],"id":98,"name":"Block","src":"4050:98:0"}],"id":99,"name":"FunctionDefinition","src":"3999:149:0"},{"attributes":{"constant":false,"documentation":"@dev Add an airline to the registration queue\\n    ","implemented":true,"isConstructor":false,"name":"registerAirline","payable":false,"scope":716,"stateMutability":"nonpayable","superFunction":null,"visibility":"external"},"children":[{"children":[{"attributes":{"constant":false,"name":"airline","scope":178,"stateVariable":false,"storageLocation":"default","type":"address","value":null,"visibility":"internal"},"children":[{"attributes":{"name":"address","type":"address"},"id":100,"name":"ElementaryTypeName","src":"4550:7:0"}],"id":101,"name":"VariableDeclaration","src":"4550:15:0"}],"id":102,"name":"ParameterList","src":"4549:17:0"},{"children":[{"attributes":{"constant":false,"name":"success","scope":178,"stateVariable":false,"storageLocation":"default","type":"bool","value":null,"visibility":"internal"},"children":[{"attributes":{"name":"bool","type":"bool"},"id":107,"name":"ElementaryTypeName","src":"4662:4:0"}],"id":108,"name":"VariableDeclaration","src":"4662:12:0"},{"attributes":{"constant":false,"name":"votes","scope":178,"stateVariable":false,"storageLocation":"default","type":"uint256","value":null,"visibility":"internal"},"children":[{"attributes":{"name":"uint256","type":"uint256"},"id":109,"name":"ElementaryTypeName","src":"4676:7:0"}],"id":110,"name":"VariableDeclaration","src":"4676:13:0"}],"id":111,"name":"ParameterList","src":"4661:29:0"},{"attributes":{"arguments":null},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":41,"type":"modifier ()","value":"requireIsOperational"},"id":103,"name":"Identifier","src":"4584:20:0"}],"id":104,"name":"ModifierInvocation","src":"4584:20:0"},{"attributes":{"arguments":null},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":72,"type":"modifier ()","value":"requireAirlinePayRegistrationFee"},"id":105,"name":"Identifier","src":"4613:32:0"}],"id":106,"name":"ModifierInvocation","src":"4613:32:0"},{"children":[{"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"operator":"=","type":"bool"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":108,"type":"bool","value":"success"},"id":112,"name":"Identifier","src":"4705:7:0"},{"attributes":{"argumentTypes":null,"hexvalue":"66616c7365","isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"subdenomination":null,"token":"bool","type":"bool","value":"false"},"id":113,"name":"Literal","src":"4715:5:0"}],"id":114,"name":"Assignment","src":"4705:15:0"}],"id":115,"name":"ExpressionStatement","src":"4705:15:0"},{"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"operator":"=","type":"uint256"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":110,"type":"uint256","value":"votes"},"id":116,"name":"Identifier","src":"4730:5:0"},{"attributes":{"argumentTypes":null,"hexvalue":"31","isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"subdenomination":null,"token":"number","type":"int_const 1","value":"1"},"id":117,"name":"Literal","src":"4738:1:0"}],"id":118,"name":"Assignment","src":"4730:9:0"}],"id":119,"name":"ExpressionStatement","src":"4730:9:0"},{"children":[{"attributes":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"operator":">=","type":"bool"},"children":[{"attributes":{"argumentTypes":null,"arguments":[null],"isConstant":false,"isLValue":false,"isPure":false,"isStructConstructorCall":false,"lValueRequested":false,"names":[null],"type":"uint256","type_conversion":false},"children":[{"attributes":{"argumentTypes":[null],"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"member_name":"numberOfAirlines","referencedDeclaration":730,"type":"function () view external returns (uint256)"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":32,"type":"contract IFlightSuretyData","value":"flightSuretyData"},"id":120,"name":"Identifier","src":"4754:16:0"}],"id":121,"name":"MemberAccess","src":"4754:33:0"}],"id":122,"name":"FunctionCall","src":"4754:35:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":28,"type":"uint256","value":"NUMBER_OF_AIRLINES_FOR_MULTICONSESUS"},"id":123,"name":"Identifier","src":"4793:36:0"}],"id":124,"name":"BinaryOperation","src":"4754:75:0"},{"children":[{"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"isStructConstructorCall":false,"lValueRequested":false,"names":[null],"type":"tuple()","type_conversion":false},"children":[{"attributes":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"member_name":"voteToRegisterAirline","referencedDeclaration":792,"type":"function (address) external"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":32,"type":"contract IFlightSuretyData","value":"flightSuretyData"},"id":125,"name":"Identifier","src":"4845:16:0"}],"id":127,"name":"MemberAccess","src":"4845:38:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":101,"type":"address","value":"airline"},"id":128,"name":"Identifier","src":"4884:7:0"}],"id":129,"name":"FunctionCall","src":"4845:47:0"}],"id":130,"name":"ExpressionStatement","src":"4845:47:0"},{"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"operator":"=","type":"uint256"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":110,"type":"uint256","value":"votes"},"id":131,"name":"Identifier","src":"4907:5:0"},{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"isStructConstructorCall":false,"lValueRequested":false,"names":[null],"type":"uint256","type_conversion":false},"children":[{"attributes":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"member_name":"getNumberOfRegistrationVotes","referencedDeclaration":799,"type":"function (address) external returns (uint256)"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":32,"type":"contract IFlightSuretyData","value":"flightSuretyData"},"id":132,"name":"Identifier","src":"4915:16:0"}],"id":133,"name":"MemberAccess","src":"4915:45:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":101,"type":"address","value":"airline"},"id":134,"name":"Identifier","src":"4961:7:0"}],"id":135,"name":"FunctionCall","src":"4915:54:0"}],"id":136,"name":"Assignment","src":"4907:62:0"}],"id":137,"name":"ExpressionStatement","src":"4907:62:0"},{"attributes":{"assignments":[139]},"children":[{"attributes":{"constant":false,"name":"numberOfVotesNeeded","scope":178,"stateVariable":false,"storageLocation":"default","type":"uint256","value":null,"visibility":"internal"},"children":[{"attributes":{"name":"uint","type":"uint256"},"id":138,"name":"ElementaryTypeName","src":"4983:4:0"}],"id":139,"name":"VariableDeclaration","src":"4983:24:0"},{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"isStructConstructorCall":false,"lValueRequested":false,"names":[null],"type":"uint256","type_conversion":false},"children":[{"attributes":{"argumentTypes":[{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"}],"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"member_name":"div","referencedDeclaration":1535,"type":"function (uint256,uint256) pure returns (uint256)"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":28,"type":"uint256","value":"NUMBER_OF_AIRLINES_FOR_MULTICONSESUS"},"id":140,"name":"Identifier","src":"5010:36:0"}],"id":141,"name":"MemberAccess","src":"5010:40:0"},{"attributes":{"argumentTypes":null,"hexvalue":"32","isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"subdenomination":null,"token":"number","type":"int_const 2","value":"2"},"id":142,"name":"Literal","src":"5051:1:0"}],"id":143,"name":"FunctionCall","src":"5010:43:0"}],"id":144,"name":"VariableDeclarationStatement","src":"4983:70:0"},{"attributes":{"falseBody":null},"children":[{"attributes":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"operator":">=","type":"bool"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":110,"type":"uint256","value":"votes"},"id":145,"name":"Identifier","src":"5072:5:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":139,"type":"uint256","value":"numberOfVotesNeeded"},"id":146,"name":"Identifier","src":"5081:19:0"}],"id":147,"name":"BinaryOperation","src":"5072:28:0"},{"children":[{"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"isStructConstructorCall":false,"lValueRequested":false,"names":[null],"type":"tuple()","type_conversion":false},"children":[{"attributes":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"member_name":"registerAirline","referencedDeclaration":725,"type":"function (address) external"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":32,"type":"contract IFlightSuretyData","value":"flightSuretyData"},"id":148,"name":"Identifier","src":"5120:16:0"}],"id":150,"name":"MemberAccess","src":"5120:32:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":101,"type":"address","value":"airline"},"id":151,"name":"Identifier","src":"5153:7:0"}],"id":152,"name":"FunctionCall","src":"5120:41:0"}],"id":153,"name":"ExpressionStatement","src":"5120:41:0"},{"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"operator":"=","type":"bool"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":108,"type":"bool","value":"success"},"id":154,"name":"Identifier","src":"5179:7:0"},{"attributes":{"argumentTypes":null,"hexvalue":"74727565","isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"subdenomination":null,"token":"bool","type":"bool","value":"true"},"id":155,"name":"Literal","src":"5189:4:0"}],"id":156,"name":"Assignment","src":"5179:14:0"}],"id":157,"name":"ExpressionStatement","src":"5179:14:0"}],"id":158,"name":"Block","src":"5102:106:0"}],"id":159,"name":"IfStatement","src":"5068:140:0"}],"id":160,"name":"Block","src":"4831:388:0"},{"children":[{"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"isStructConstructorCall":false,"lValueRequested":false,"names":[null],"type":"tuple()","type_conversion":false},"children":[{"attributes":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"member_name":"registerAirline","referencedDeclaration":725,"type":"function (address) external"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":32,"type":"contract IFlightSuretyData","value":"flightSuretyData"},"id":161,"name":"Identifier","src":"5239:16:0"}],"id":163,"name":"MemberAccess","src":"5239:32:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":101,"type":"address","value":"airline"},"id":164,"name":"Identifier","src":"5272:7:0"}],"id":165,"name":"FunctionCall","src":"5239:41:0"}],"id":166,"name":"ExpressionStatement","src":"5239:41:0"},{"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"operator":"=","type":"bool"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":108,"type":"bool","value":"success"},"id":167,"name":"Identifier","src":"5294:7:0"},{"attributes":{"argumentTypes":null,"hexvalue":"74727565","isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"subdenomination":null,"token":"bool","type":"bool","value":"true"},"id":168,"name":"Literal","src":"5304:4:0"}],"id":169,"name":"Assignment","src":"5294:14:0"}],"id":170,"name":"ExpressionStatement","src":"5294:14:0"}],"id":171,"name":"Block","src":"5225:94:0"}],"id":172,"name":"IfStatement","src":"4750:569:0"},{"attributes":{"functionReturnParameters":111},"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"type":"tuple(bool,uint256)"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":108,"type":"bool","value":"success"},"id":173,"name":"Identifier","src":"5337:7:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":110,"type":"uint256","value":"votes"},"id":174,"name":"Identifier","src":"5346:5:0"}],"id":175,"name":"TupleExpression","src":"5336:16:0"}],"id":176,"name":"Return","src":"5329:23:0"}],"id":177,"name":"Block","src":"4695:664:0"}],"id":178,"name":"FunctionDefinition","src":"4525:834:0"},{"attributes":{"constant":false,"documentation":"@dev Register a future flight for insuring.\\n    ","implemented":true,"isConstructor":false,"name":"registerFlight","payable":false,"scope":716,"stateMutability":"nonpayable","superFunction":null,"visibility":"external"},"children":[{"children":[{"attributes":{"constant":false,"name":"airline","scope":198,"stateVariable":false,"storageLocation":"default","type":"address","value":null,"visibility":"internal"},"children":[{"attributes":{"name":"address","type":"address"},"id":179,"name":"ElementaryTypeName","src":"5459:7:0"}],"id":180,"name":"VariableDeclaration","src":"5459:15:0"},{"attributes":{"constant":false,"name":"flight","scope":198,"stateVariable":false,"storageLocation":"default","type":"string","value":null,"visibility":"internal"},"children":[{"attributes":{"name":"string","type":"string"},"id":181,"name":"ElementaryTypeName","src":"5476:6:0"}],"id":182,"name":"VariableDeclaration","src":"5476:13:0"},{"attributes":{"constant":false,"name":"timestamp","scope":198,"stateVariable":false,"storageLocation":"default","type":"uint256","value":null,"visibility":"internal"},"children":[{"attributes":{"name":"uint256","type":"uint256"},"id":183,"name":"ElementaryTypeName","src":"5491:7:0"}],"id":184,"name":"VariableDeclaration","src":"5491:17:0"}],"id":185,"name":"ParameterList","src":"5458:51:0"},{"attributes":{"parameters":[null]},"children":[],"id":188,"name":"ParameterList","src":"5552:0:0"},{"attributes":{"arguments":null},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":41,"type":"modifier ()","value":"requireIsOperational"},"id":186,"name":"Identifier","src":"5527:20:0"}],"id":187,"name":"ModifierInvocation","src":"5527:20:0"},{"children":[{"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"isStructConstructorCall":false,"lValueRequested":false,"names":[null],"type":"tuple()","type_conversion":false},"children":[{"attributes":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"member_name":"registerFlight","referencedDeclaration":750,"type":"function (address,string memory,uint256) external"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":32,"type":"contract IFlightSuretyData","value":"flightSuretyData"},"id":189,"name":"Identifier","src":"5562:16:0"}],"id":191,"name":"MemberAccess","src":"5562:31:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":180,"type":"address","value":"airline"},"id":192,"name":"Identifier","src":"5594:7:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":182,"type":"string calldata","value":"flight"},"id":193,"name":"Identifier","src":"5603:6:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":184,"type":"uint256","value":"timestamp"},"id":194,"name":"Identifier","src":"5611:9:0"}],"id":195,"name":"FunctionCall","src":"5562:59:0"}],"id":196,"name":"ExpressionStatement","src":"5562:59:0"}],"id":197,"name":"Block","src":"5552:76:0"}],"id":198,"name":"FunctionDefinition","src":"5435:193:0"},{"attributes":{"constant":false,"documentation":"@dev An airline has to provide fund to register other airilines.\\n     ","implemented":true,"isConstructor":false,"name":"fund","payable":true,"scope":716,"stateMutability":"payable","superFunction":null,"visibility":"public"},"children":[{"children":[{"attributes":{"constant":false,"name":"airline","scope":217,"stateVariable":false,"storageLocation":"default","type":"address","value":null,"visibility":"internal"},"children":[{"attributes":{"name":"address","type":"address"},"id":199,"name":"ElementaryTypeName","src":"5744:7:0"}],"id":200,"name":"VariableDeclaration","src":"5744:15:0"}],"id":201,"name":"ParameterList","src":"5743:17:0"},{"attributes":{"parameters":[null]},"children":[],"id":204,"name":"ParameterList","src":"5810:0:0"},{"attributes":{"arguments":null},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":41,"type":"modifier ()","value":"requireIsOperational"},"id":202,"name":"Identifier","src":"5784:20:0"}],"id":203,"name":"ModifierInvocation","src":"5784:20:0"},{"children":[{"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"isStructConstructorCall":false,"lValueRequested":false,"names":[null],"type":"tuple()","type_conversion":false},"children":[{"attributes":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"isConstant":false,"isLValue":false,"isPure":false,"isStructConstructorCall":false,"lValueRequested":false,"names":[null],"type":"function (address) payable external","type_conversion":false},"children":[{"attributes":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"member_name":"value","referencedDeclaration":null,"type":"function (uint256) returns (function (address) payable external)"},"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"member_name":"fund","referencedDeclaration":755,"type":"function (address) payable external"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":32,"type":"contract IFlightSuretyData","value":"flightSuretyData"},"id":205,"name":"Identifier","src":"5821:16:0"}],"id":208,"name":"MemberAccess","src":"5821:21:0"}],"id":209,"name":"MemberAccess","src":"5821:27:0"},{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"member_name":"value","referencedDeclaration":null,"type":"uint256"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":1595,"type":"msg","value":"msg"},"id":210,"name":"Identifier","src":"5849:3:0"}],"id":211,"name":"MemberAccess","src":"5849:9:0"}],"id":212,"name":"FunctionCall","src":"5821:38:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":200,"type":"address","value":"airline"},"id":213,"name":"Identifier","src":"5860:7:0"}],"id":214,"name":"FunctionCall","src":"5821:47:0"}],"id":215,"name":"ExpressionStatement","src":"5821:47:0"}],"id":216,"name":"Block","src":"5810:66:0"}],"id":217,"name":"FunctionDefinition","src":"5730:146:0"},{"attributes":{"constant":false,"documentation":"@dev Called after oracle has updated flight status\\n     ","implemented":true,"isConstructor":false,"name":"withdraw","payable":true,"scope":716,"stateMutability":"payable","superFunction":null,"visibility":"external"},"children":[{"attributes":{"parameters":[null]},"children":[],"id":218,"name":"ParameterList","src":"5981:2:0"},{"attributes":{"parameters":[null]},"children":[],"id":221,"name":"ParameterList","src":"6035:0:0"},{"attributes":{"arguments":null},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":41,"type":"modifier ()","value":"requireIsOperational"},"id":219,"name":"Identifier","src":"6009:20:0"}],"id":220,"name":"ModifierInvocation","src":"6009:20:0"},{"children":[{"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"isStructConstructorCall":false,"lValueRequested":false,"names":[null],"type":"tuple()","type_conversion":false},"children":[{"attributes":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"member_name":"pay","referencedDeclaration":769,"type":"function (address) external"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":32,"type":"contract IFlightSuretyData","value":"flightSuretyData"},"id":222,"name":"Identifier","src":"6046:16:0"}],"id":224,"name":"MemberAccess","src":"6046:20:0"},{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"member_name":"sender","referencedDeclaration":null,"type":"address"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":1595,"type":"msg","value":"msg"},"id":225,"name":"Identifier","src":"6067:3:0"}],"id":226,"name":"MemberAccess","src":"6067:10:0"}],"id":227,"name":"FunctionCall","src":"6046:32:0"}],"id":228,"name":"ExpressionStatement","src":"6046:32:0"}],"id":229,"name":"Block","src":"6035:51:0"}],"id":230,"name":"FunctionDefinition","src":"5964:122:0"},{"attributes":{"constant":false,"documentation":"@dev Called after oracle has updated flight status\\n    ","implemented":true,"isConstructor":false,"name":"processFlightStatus","payable":false,"scope":716,"stateMutability":"nonpayable","superFunction":null,"visibility":"internal"},"children":[{"children":[{"attributes":{"constant":false,"name":"airline","scope":253,"stateVariable":false,"storageLocation":"default","type":"address","value":null,"visibility":"internal"},"children":[{"attributes":{"name":"address","type":"address"},"id":231,"name":"ElementaryTypeName","src":"6198:7:0"}],"id":232,"name":"VariableDeclaration","src":"6198:15:0"},{"attributes":{"constant":false,"name":"flight","scope":253,"stateVariable":false,"storageLocation":"default","type":"string","value":null,"visibility":"internal"},"children":[{"attributes":{"name":"string","type":"string"},"id":233,"name":"ElementaryTypeName","src":"6215:6:0"}],"id":234,"name":"VariableDeclaration","src":"6215:13:0"},{"attributes":{"constant":false,"name":"timestamp","scope":253,"stateVariable":false,"storageLocation":"default","type":"uint256","value":null,"visibility":"internal"},"children":[{"attributes":{"name":"uint256","type":"uint256"},"id":235,"name":"ElementaryTypeName","src":"6230:7:0"}],"id":236,"name":"VariableDeclaration","src":"6230:17:0"},{"attributes":{"constant":false,"name":"statusCode","scope":253,"stateVariable":false,"storageLocation":"default","type":"uint8","value":null,"visibility":"internal"},"children":[{"attributes":{"name":"uint8","type":"uint8"},"id":237,"name":"ElementaryTypeName","src":"6249:5:0"}],"id":238,"name":"VariableDeclaration","src":"6249:16:0"}],"id":239,"name":"ParameterList","src":"6197:69:0"},{"attributes":{"parameters":[null]},"children":[],"id":242,"name":"ParameterList","src":"6309:0:0"},{"attributes":{"arguments":null},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":41,"type":"modifier ()","value":"requireIsOperational"},"id":240,"name":"Identifier","src":"6284:20:0"}],"id":241,"name":"ModifierInvocation","src":"6284:20:0"},{"children":[{"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"isStructConstructorCall":false,"lValueRequested":false,"names":[null],"type":"tuple()","type_conversion":false},"children":[{"attributes":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint8","typeString":"uint8"}],"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"member_name":"updateFlightStatus","referencedDeclaration":787,"type":"function (address,string memory,uint256,uint8) external"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":32,"type":"contract IFlightSuretyData","value":"flightSuretyData"},"id":243,"name":"Identifier","src":"6319:16:0"}],"id":245,"name":"MemberAccess","src":"6319:35:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":232,"type":"address","value":"airline"},"id":246,"name":"Identifier","src":"6355:7:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":234,"type":"string memory","value":"flight"},"id":247,"name":"Identifier","src":"6364:6:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":236,"type":"uint256","value":"timestamp"},"id":248,"name":"Identifier","src":"6372:9:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":238,"type":"uint8","value":"statusCode"},"id":249,"name":"Identifier","src":"6383:10:0"}],"id":250,"name":"FunctionCall","src":"6319:75:0"}],"id":251,"name":"ExpressionStatement","src":"6319:75:0"}],"id":252,"name":"Block","src":"6309:92:0"}],"id":253,"name":"FunctionDefinition","src":"6169:232:0"},{"attributes":{"constant":false,"documentation":"@dev Called when user wants to buy flight insurance\\n     ","implemented":true,"isConstructor":false,"name":"buy","payable":true,"scope":716,"stateMutability":"payable","superFunction":null,"visibility":"external"},"children":[{"children":[{"attributes":{"constant":false,"name":"airline","scope":272,"stateVariable":false,"storageLocation":"default","type":"address","value":null,"visibility":"internal"},"children":[{"attributes":{"name":"address","type":"address"},"id":254,"name":"ElementaryTypeName","src":"6502:7:0"}],"id":255,"name":"VariableDeclaration","src":"6502:15:0"},{"attributes":{"constant":false,"name":"flight","scope":272,"stateVariable":false,"storageLocation":"default","type":"string","value":null,"visibility":"internal"},"children":[{"attributes":{"name":"string","type":"string"},"id":256,"name":"ElementaryTypeName","src":"6519:6:0"}],"id":257,"name":"VariableDeclaration","src":"6519:13:0"}],"id":258,"name":"ParameterList","src":"6501:32:0"},{"attributes":{"parameters":[null]},"children":[],"id":261,"name":"ParameterList","src":"6584:0:0"},{"attributes":{"arguments":null},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":41,"type":"modifier ()","value":"requireIsOperational"},"id":259,"name":"Identifier","src":"6559:20:0"}],"id":260,"name":"ModifierInvocation","src":"6559:20:0"},{"children":[{"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"isStructConstructorCall":false,"lValueRequested":false,"names":[null],"type":"tuple()","type_conversion":false},"children":[{"attributes":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}],"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"member_name":"buy","referencedDeclaration":764,"type":"function (address,address,string memory) payable external"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":32,"type":"contract IFlightSuretyData","value":"flightSuretyData"},"id":262,"name":"Identifier","src":"6594:16:0"}],"id":264,"name":"MemberAccess","src":"6594:20:0"},{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"member_name":"sender","referencedDeclaration":null,"type":"address"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":1595,"type":"msg","value":"msg"},"id":265,"name":"Identifier","src":"6615:3:0"}],"id":266,"name":"MemberAccess","src":"6615:10:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":255,"type":"address","value":"airline"},"id":267,"name":"Identifier","src":"6627:7:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":257,"type":"string calldata","value":"flight"},"id":268,"name":"Identifier","src":"6636:6:0"}],"id":269,"name":"FunctionCall","src":"6594:49:0"}],"id":270,"name":"ExpressionStatement","src":"6594:49:0"}],"id":271,"name":"Block","src":"6584:66:0"}],"id":272,"name":"FunctionDefinition","src":"6489:161:0"},{"attributes":{"constant":true,"documentation":"@dev Gets the flight numbers\\n     ","implemented":true,"isConstructor":false,"name":"getFlightNumbers","payable":false,"scope":716,"stateMutability":"view","superFunction":null,"visibility":"public"},"children":[{"attributes":{"parameters":[null]},"children":[],"id":273,"name":"ParameterList","src":"6740:2:0"},{"children":[{"attributes":{"constant":false,"name":"","scope":285,"stateVariable":false,"storageLocation":"default","type":"string[]","value":null,"visibility":"internal"},"children":[{"attributes":{"length":null,"type":"string[]"},"children":[{"attributes":{"name":"string","type":"string"},"id":276,"name":"ElementaryTypeName","src":"6800:6:0"}],"id":277,"name":"ArrayTypeName","src":"6800:8:0"}],"id":278,"name":"VariableDeclaration","src":"6800:8:0"}],"id":279,"name":"ParameterList","src":"6799:10:0"},{"attributes":{"arguments":null},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":41,"type":"modifier ()","value":"requireIsOperational"},"id":274,"name":"Identifier","src":"6763:20:0"}],"id":275,"name":"ModifierInvocation","src":"6763:20:0"},{"children":[{"attributes":{"functionReturnParameters":279},"children":[{"attributes":{"argumentTypes":null,"arguments":[null],"isConstant":false,"isLValue":false,"isPure":false,"isStructConstructorCall":false,"lValueRequested":false,"names":[null],"type":"string memory[] memory","type_conversion":false},"children":[{"attributes":{"argumentTypes":[null],"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"member_name":"getFlightNumbers","referencedDeclaration":736,"type":"function () view external returns (string memory[] memory)"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":32,"type":"contract IFlightSuretyData","value":"flightSuretyData"},"id":280,"name":"Identifier","src":"6831:16:0"}],"id":281,"name":"MemberAccess","src":"6831:33:0"}],"id":282,"name":"FunctionCall","src":"6831:35:0"}],"id":283,"name":"Return","src":"6824:42:0"}],"id":284,"name":"Block","src":"6814:59:0"}],"id":285,"name":"FunctionDefinition","src":"6715:158:0"},{"attributes":{"constant":false,"documentation":null,"implemented":true,"isConstructor":false,"modifiers":[null],"name":"fetchFlightStatus","payable":false,"scope":716,"stateMutability":"nonpayable","superFunction":null,"visibility":"external"},"children":[{"children":[{"attributes":{"constant":false,"name":"airline","scope":331,"stateVariable":false,"storageLocation":"default","type":"address","value":null,"visibility":"internal"},"children":[{"attributes":{"name":"address","type":"address"},"id":286,"name":"ElementaryTypeName","src":"6972:7:0"}],"id":287,"name":"VariableDeclaration","src":"6972:15:0"},{"attributes":{"constant":false,"name":"flight","scope":331,"stateVariable":false,"storageLocation":"default","type":"string","value":null,"visibility":"internal"},"children":[{"attributes":{"name":"string","type":"string"},"id":288,"name":"ElementaryTypeName","src":"6989:6:0"}],"id":289,"name":"VariableDeclaration","src":"6989:13:0"},{"attributes":{"constant":false,"name":"timestamp","scope":331,"stateVariable":false,"storageLocation":"default","type":"uint256","value":null,"visibility":"internal"},"children":[{"attributes":{"name":"uint256","type":"uint256"},"id":290,"name":"ElementaryTypeName","src":"7004:7:0"}],"id":291,"name":"VariableDeclaration","src":"7004:17:0"}],"id":292,"name":"ParameterList","src":"6971:51:0"},{"attributes":{"parameters":[null]},"children":[],"id":293,"name":"ParameterList","src":"7032:0:0"},{"children":[{"attributes":{"assignments":[295]},"children":[{"attributes":{"constant":false,"name":"index","scope":331,"stateVariable":false,"storageLocation":"default","type":"uint8","value":null,"visibility":"internal"},"children":[{"attributes":{"name":"uint8","type":"uint8"},"id":294,"name":"ElementaryTypeName","src":"7042:5:0"}],"id":295,"name":"VariableDeclaration","src":"7042:11:0"},{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"isStructConstructorCall":false,"lValueRequested":false,"names":[null],"type":"uint8","type_conversion":false},"children":[{"attributes":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"overloadedDeclarations":[null],"referencedDeclaration":715,"type":"function (address) returns (uint8)","value":"getRandomIndex"},"id":296,"name":"Identifier","src":"7056:14:0"},{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"member_name":"sender","referencedDeclaration":null,"type":"address"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":1595,"type":"msg","value":"msg"},"id":297,"name":"Identifier","src":"7071:3:0"}],"id":298,"name":"MemberAccess","src":"7071:10:0"}],"id":299,"name":"FunctionCall","src":"7056:26:0"}],"id":300,"name":"VariableDeclarationStatement","src":"7042:40:0"},{"attributes":{"assignments":[302]},"children":[{"attributes":{"constant":false,"name":"key","scope":331,"stateVariable":false,"storageLocation":"default","type":"bytes32","value":null,"visibility":"internal"},"children":[{"attributes":{"name":"bytes32","type":"bytes32"},"id":301,"name":"ElementaryTypeName","src":"7150:7:0"}],"id":302,"name":"VariableDeclaration","src":"7150:11:0"},{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"isStructConstructorCall":false,"lValueRequested":false,"names":[null],"type":"bytes32","type_conversion":false},"children":[{"attributes":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"overloadedDeclarations":[null],"referencedDeclaration":1589,"type":"function () pure returns (bytes32)","value":"keccak256"},"id":303,"name":"Identifier","src":"7164:9:0"},{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"isStructConstructorCall":false,"lValueRequested":false,"names":[null],"type":"bytes memory","type_conversion":false},"children":[{"attributes":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"member_name":"encodePacked","referencedDeclaration":null,"type":"function () pure returns (bytes memory)"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":1582,"type":"abi","value":"abi"},"id":304,"name":"Identifier","src":"7174:3:0"}],"id":305,"name":"MemberAccess","src":"7174:16:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":295,"type":"uint8","value":"index"},"id":306,"name":"Identifier","src":"7191:5:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":287,"type":"address","value":"airline"},"id":307,"name":"Identifier","src":"7198:7:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":289,"type":"string calldata","value":"flight"},"id":308,"name":"Identifier","src":"7207:6:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":291,"type":"uint256","value":"timestamp"},"id":309,"name":"Identifier","src":"7215:9:0"}],"id":310,"name":"FunctionCall","src":"7174:51:0"}],"id":311,"name":"FunctionCall","src":"7164:62:0"}],"id":312,"name":"VariableDeclarationStatement","src":"7150:76:0"},{"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"operator":"=","type":"struct FlightSuretyApp.ResponseInfo storage ref"},"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"type":"struct FlightSuretyApp.ResponseInfo storage ref"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":365,"type":"mapping(bytes32 => struct FlightSuretyApp.ResponseInfo storage ref)","value":"oracleResponses"},"id":313,"name":"Identifier","src":"7236:15:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":302,"type":"bytes32","value":"key"},"id":314,"name":"Identifier","src":"7252:3:0"}],"id":315,"name":"IndexAccess","src":"7236:20:0"},{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"isStructConstructorCall":true,"lValueRequested":false,"names":["requester","isOpen"],"type":"struct FlightSuretyApp.ResponseInfo memory","type_conversion":false},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":361,"type":"type(struct FlightSuretyApp.ResponseInfo storage pointer)","value":"ResponseInfo"},"id":316,"name":"Identifier","src":"7259:12:0"},{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"member_name":"sender","referencedDeclaration":null,"type":"address"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":1595,"type":"msg","value":"msg"},"id":317,"name":"Identifier","src":"7284:3:0"}],"id":318,"name":"MemberAccess","src":"7284:10:0"},{"attributes":{"argumentTypes":null,"hexvalue":"74727565","isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"subdenomination":null,"token":"bool","type":"bool","value":"true"},"id":319,"name":"Literal","src":"7304:4:0"}],"id":320,"name":"FunctionCall","src":"7259:51:0"}],"id":321,"name":"Assignment","src":"7236:74:0"}],"id":322,"name":"ExpressionStatement","src":"7236:74:0"},{"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"isStructConstructorCall":false,"lValueRequested":false,"names":[null],"type":"tuple()","type_conversion":false},"children":[{"attributes":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"overloadedDeclarations":[null],"referencedDeclaration":395,"type":"function (uint8,address,string memory,uint256)","value":"OracleRequest"},"id":323,"name":"Identifier","src":"7326:13:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":295,"type":"uint8","value":"index"},"id":324,"name":"Identifier","src":"7340:5:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":287,"type":"address","value":"airline"},"id":325,"name":"Identifier","src":"7347:7:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":289,"type":"string calldata","value":"flight"},"id":326,"name":"Identifier","src":"7356:6:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":291,"type":"uint256","value":"timestamp"},"id":327,"name":"Identifier","src":"7364:9:0"}],"id":328,"name":"FunctionCall","src":"7326:48:0"}],"id":329,"name":"EmitStatement","src":"7321:53:0"}],"id":330,"name":"Block","src":"7032:349:0"}],"id":331,"name":"FunctionDefinition","src":"6945:436:0"},{"attributes":{"constant":false,"name":"nonce","scope":716,"stateVariable":true,"storageLocation":"default","type":"uint8","visibility":"private"},"children":[{"attributes":{"name":"uint8","type":"uint8"},"id":332,"name":"ElementaryTypeName","src":"7479:5:0"},{"attributes":{"argumentTypes":null,"hexvalue":"30","isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"subdenomination":null,"token":"number","type":"int_const 0","value":"0"},"id":333,"name":"Literal","src":"7501:1:0"}],"id":334,"name":"VariableDeclaration","src":"7479:23:0"},{"attributes":{"constant":true,"name":"REGISTRATION_FEE","scope":716,"stateVariable":true,"storageLocation":"default","type":"uint256","visibility":"public"},"children":[{"attributes":{"name":"uint256","type":"uint256"},"id":335,"name":"ElementaryTypeName","src":"7555:7:0"},{"attributes":{"argumentTypes":null,"hexvalue":"31","isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"subdenomination":"ether","token":"number","type":"int_const 1000000000000000000","value":"1"},"id":336,"name":"Literal","src":"7598:7:0"}],"id":337,"name":"VariableDeclaration","src":"7555:50:0"},{"attributes":{"constant":true,"name":"MIN_RESPONSES","scope":716,"stateVariable":true,"storageLocation":"default","type":"uint256","visibility":"private"},"children":[{"attributes":{"name":"uint256","type":"uint256"},"id":338,"name":"ElementaryTypeName","src":"7672:7:0"},{"attributes":{"argumentTypes":null,"hexvalue":"33","isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"subdenomination":null,"token":"number","type":"int_const 3","value":"3"},"id":339,"name":"Literal","src":"7713:1:0"}],"id":340,"name":"VariableDeclaration","src":"7672:42:0"},{"attributes":{"canonicalName":"FlightSuretyApp.Oracle","name":"Oracle","scope":716,"visibility":"public"},"children":[{"attributes":{"constant":false,"name":"isRegistered","scope":347,"stateVariable":false,"storageLocation":"default","type":"bool","value":null,"visibility":"internal"},"children":[{"attributes":{"name":"bool","type":"bool"},"id":341,"name":"ElementaryTypeName","src":"7746:4:0"}],"id":342,"name":"VariableDeclaration","src":"7746:17:0"},{"attributes":{"constant":false,"name":"indexes","scope":347,"stateVariable":false,"storageLocation":"default","type":"uint8[3]","value":null,"visibility":"internal"},"children":[{"attributes":{"type":"uint8[3]"},"children":[{"attributes":{"name":"uint8","type":"uint8"},"id":343,"name":"ElementaryTypeName","src":"7773:5:0"},{"attributes":{"argumentTypes":null,"hexvalue":"33","isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"subdenomination":null,"token":"number","type":null,"value":"3"},"id":344,"name":"Literal","src":"7779:1:0"}],"id":345,"name":"ArrayTypeName","src":"7773:8:0"}],"id":346,"name":"VariableDeclaration","src":"7773:16:0"}],"id":347,"name":"StructDefinition","src":"7722:74:0"},{"attributes":{"constant":false,"name":"oracles","scope":716,"stateVariable":true,"storageLocation":"default","type":"mapping(address => struct FlightSuretyApp.Oracle)","value":null,"visibility":"private"},"children":[{"attributes":{"type":"mapping(address => struct FlightSuretyApp.Oracle)"},"children":[{"attributes":{"name":"address","type":"address"},"id":348,"name":"ElementaryTypeName","src":"7846:7:0"},{"attributes":{"contractScope":null,"name":"Oracle","referencedDeclaration":347,"type":"struct FlightSuretyApp.Oracle"},"id":349,"name":"UserDefinedTypeName","src":"7857:6:0"}],"id":350,"name":"Mapping","src":"7838:26:0"}],"id":351,"name":"VariableDeclaration","src":"7838:42:0"},{"attributes":{"canonicalName":"FlightSuretyApp.ResponseInfo","name":"ResponseInfo","scope":716,"visibility":"public"},"children":[{"attributes":{"constant":false,"name":"requester","scope":361,"stateVariable":false,"storageLocation":"default","type":"address","value":null,"visibility":"internal"},"children":[{"attributes":{"name":"address","type":"address"},"id":352,"name":"ElementaryTypeName","src":"7957:7:0"}],"id":353,"name":"VariableDeclaration","src":"7957:17:0"},{"attributes":{"constant":false,"name":"isOpen","scope":361,"stateVariable":false,"storageLocation":"default","type":"bool","value":null,"visibility":"internal"},"children":[{"attributes":{"name":"bool","type":"bool"},"id":354,"name":"ElementaryTypeName","src":"8046:4:0"}],"id":355,"name":"VariableDeclaration","src":"8046:11:0"},{"attributes":{"constant":false,"name":"responses","scope":361,"stateVariable":false,"storageLocation":"default","type":"mapping(uint8 => address[])","value":null,"visibility":"internal"},"children":[{"attributes":{"type":"mapping(uint8 => address[])"},"children":[{"attributes":{"name":"uint8","type":"uint8"},"id":356,"name":"ElementaryTypeName","src":"8152:5:0"},{"attributes":{"length":null,"type":"address[]"},"children":[{"attributes":{"name":"address","type":"address"},"id":357,"name":"ElementaryTypeName","src":"8161:7:0"}],"id":358,"name":"ArrayTypeName","src":"8161:9:0"}],"id":359,"name":"Mapping","src":"8144:27:0"}],"id":360,"name":"VariableDeclaration","src":"8144:37:0"}],"id":361,"name":"StructDefinition","src":"7927:515:0"},{"attributes":{"constant":false,"name":"oracleResponses","scope":716,"stateVariable":true,"storageLocation":"default","type":"mapping(bytes32 => struct FlightSuretyApp.ResponseInfo)","value":null,"visibility":"private"},"children":[{"attributes":{"type":"mapping(bytes32 => struct FlightSuretyApp.ResponseInfo)"},"children":[{"attributes":{"name":"bytes32","type":"bytes32"},"id":362,"name":"ElementaryTypeName","src":"8534:7:0"},{"attributes":{"contractScope":null,"name":"ResponseInfo","referencedDeclaration":361,"type":"struct FlightSuretyApp.ResponseInfo"},"id":363,"name":"UserDefinedTypeName","src":"8545:12:0"}],"id":364,"name":"Mapping","src":"8526:32:0"}],"id":365,"name":"VariableDeclaration","src":"8526:56:0"},{"attributes":{"anonymous":false,"documentation":null,"name":"FlightStatusInfo"},"children":[{"children":[{"attributes":{"constant":false,"indexed":false,"name":"airline","scope":375,"stateVariable":false,"storageLocation":"default","type":"address","value":null,"visibility":"internal"},"children":[{"attributes":{"name":"address","type":"address"},"id":366,"name":"ElementaryTypeName","src":"8670:7:0"}],"id":367,"name":"VariableDeclaration","src":"8670:15:0"},{"attributes":{"constant":false,"indexed":false,"name":"flight","scope":375,"stateVariable":false,"storageLocation":"default","type":"string","value":null,"visibility":"internal"},"children":[{"attributes":{"name":"string","type":"string"},"id":368,"name":"ElementaryTypeName","src":"8687:6:0"}],"id":369,"name":"VariableDeclaration","src":"8687:13:0"},{"attributes":{"constant":false,"indexed":false,"name":"timestamp","scope":375,"stateVariable":false,"storageLocation":"default","type":"uint256","value":null,"visibility":"internal"},"children":[{"attributes":{"name":"uint256","type":"uint256"},"id":370,"name":"ElementaryTypeName","src":"8702:7:0"}],"id":371,"name":"VariableDeclaration","src":"8702:17:0"},{"attributes":{"constant":false,"indexed":false,"name":"status","scope":375,"stateVariable":false,"storageLocation":"default","type":"uint8","value":null,"visibility":"internal"},"children":[{"attributes":{"name":"uint8","type":"uint8"},"id":372,"name":"ElementaryTypeName","src":"8721:5:0"}],"id":373,"name":"VariableDeclaration","src":"8721:12:0"}],"id":374,"name":"ParameterList","src":"8669:65:0"}],"id":375,"name":"EventDefinition","src":"8647:88:0"},{"attributes":{"anonymous":false,"documentation":null,"name":"OracleReport"},"children":[{"children":[{"attributes":{"constant":false,"indexed":false,"name":"airline","scope":385,"stateVariable":false,"storageLocation":"default","type":"address","value":null,"visibility":"internal"},"children":[{"attributes":{"name":"address","type":"address"},"id":376,"name":"ElementaryTypeName","src":"8760:7:0"}],"id":377,"name":"VariableDeclaration","src":"8760:15:0"},{"attributes":{"constant":false,"indexed":false,"name":"flight","scope":385,"stateVariable":false,"storageLocation":"default","type":"string","value":null,"visibility":"internal"},"children":[{"attributes":{"name":"string","type":"string"},"id":378,"name":"ElementaryTypeName","src":"8777:6:0"}],"id":379,"name":"VariableDeclaration","src":"8777:13:0"},{"attributes":{"constant":false,"indexed":false,"name":"timestamp","scope":385,"stateVariable":false,"storageLocation":"default","type":"uint256","value":null,"visibility":"internal"},"children":[{"attributes":{"name":"uint256","type":"uint256"},"id":380,"name":"ElementaryTypeName","src":"8792:7:0"}],"id":381,"name":"VariableDeclaration","src":"8792:17:0"},{"attributes":{"constant":false,"indexed":false,"name":"status","scope":385,"stateVariable":false,"storageLocation":"default","type":"uint8","value":null,"visibility":"internal"},"children":[{"attributes":{"name":"uint8","type":"uint8"},"id":382,"name":"ElementaryTypeName","src":"8811:5:0"}],"id":383,"name":"VariableDeclaration","src":"8811:12:0"}],"id":384,"name":"ParameterList","src":"8759:65:0"}],"id":385,"name":"EventDefinition","src":"8741:84:0"},{"attributes":{"anonymous":false,"documentation":null,"name":"OracleRequest"},"children":[{"children":[{"attributes":{"constant":false,"indexed":false,"name":"index","scope":395,"stateVariable":false,"storageLocation":"default","type":"uint8","value":null,"visibility":"internal"},"children":[{"attributes":{"name":"uint8","type":"uint8"},"id":386,"name":"ElementaryTypeName","src":"9015:5:0"}],"id":387,"name":"VariableDeclaration","src":"9015:11:0"},{"attributes":{"constant":false,"indexed":false,"name":"airline","scope":395,"stateVariable":false,"storageLocation":"default","type":"address","value":null,"visibility":"internal"},"children":[{"attributes":{"name":"address","type":"address"},"id":388,"name":"ElementaryTypeName","src":"9028:7:0"}],"id":389,"name":"VariableDeclaration","src":"9028:15:0"},{"attributes":{"constant":false,"indexed":false,"name":"flight","scope":395,"stateVariable":false,"storageLocation":"default","type":"string","value":null,"visibility":"internal"},"children":[{"attributes":{"name":"string","type":"string"},"id":390,"name":"ElementaryTypeName","src":"9045:6:0"}],"id":391,"name":"VariableDeclaration","src":"9045:13:0"},{"attributes":{"constant":false,"indexed":false,"name":"timestamp","scope":395,"stateVariable":false,"storageLocation":"default","type":"uint256","value":null,"visibility":"internal"},"children":[{"attributes":{"name":"uint256","type":"uint256"},"id":392,"name":"ElementaryTypeName","src":"9060:7:0"}],"id":393,"name":"VariableDeclaration","src":"9060:17:0"}],"id":394,"name":"ParameterList","src":"9014:64:0"}],"id":395,"name":"EventDefinition","src":"8995:84:0"},{"attributes":{"constant":false,"documentation":null,"implemented":true,"isConstructor":false,"modifiers":[null],"name":"registerOracle","payable":true,"scope":716,"stateMutability":"payable","superFunction":null,"visibility":"external"},"children":[{"attributes":{"parameters":[null]},"children":[],"id":396,"name":"ParameterList","src":"9181:31:0"},{"attributes":{"parameters":[null]},"children":[],"id":397,"name":"ParameterList","src":"9290:0:0"},{"children":[{"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"isStructConstructorCall":false,"lValueRequested":false,"names":[null],"type":"tuple()","type_conversion":false},"children":[{"attributes":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_d816be12125be1158710c749733a799c8c31accb3458bded1228070a0ef4fba1","typeString":"literal_string \\"Registration fee is required\\""}],"overloadedDeclarations":[1598,1599],"referencedDeclaration":1599,"type":"function (bool,string memory) pure","value":"require"},"id":398,"name":"Identifier","src":"9336:7:0"},{"attributes":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"operator":">=","type":"bool"},"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"member_name":"value","referencedDeclaration":null,"type":"uint256"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":1595,"type":"msg","value":"msg"},"id":399,"name":"Identifier","src":"9344:3:0"}],"id":400,"name":"MemberAccess","src":"9344:9:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":337,"type":"uint256","value":"REGISTRATION_FEE"},"id":401,"name":"Identifier","src":"9357:16:0"}],"id":402,"name":"BinaryOperation","src":"9344:29:0"},{"attributes":{"argumentTypes":null,"hexvalue":"526567697374726174696f6e20666565206973207265717569726564","isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"subdenomination":null,"token":"string","type":"literal_string \\"Registration fee is required\\"","value":"Registration fee is required"},"id":403,"name":"Literal","src":"9375:30:0"}],"id":404,"name":"FunctionCall","src":"9336:70:0"}],"id":405,"name":"ExpressionStatement","src":"9336:70:0"},{"attributes":{"assignments":[410]},"children":[{"attributes":{"constant":false,"name":"indexes","scope":427,"stateVariable":false,"storageLocation":"memory","type":"uint8[3]","value":null,"visibility":"internal"},"children":[{"attributes":{"type":"uint8[3]"},"children":[{"attributes":{"name":"uint8","type":"uint8"},"id":408,"name":"ElementaryTypeName","src":"9417:5:0"},{"attributes":{"argumentTypes":null,"hexvalue":"33","isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"subdenomination":null,"token":"number","type":null,"value":"3"},"id":407,"name":"Literal","src":"9423:1:0"}],"id":409,"name":"ArrayTypeName","src":"9417:8:0"}],"id":410,"name":"VariableDeclaration","src":"9417:23:0"},{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"isStructConstructorCall":false,"lValueRequested":false,"names":[null],"type":"uint8[3] memory","type_conversion":false},"children":[{"attributes":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"overloadedDeclarations":[null],"referencedDeclaration":670,"type":"function (address) returns (uint8[3] memory)","value":"generateIndexes"},"id":411,"name":"Identifier","src":"9443:15:0"},{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"member_name":"sender","referencedDeclaration":null,"type":"address"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":1595,"type":"msg","value":"msg"},"id":412,"name":"Identifier","src":"9459:3:0"}],"id":413,"name":"MemberAccess","src":"9459:10:0"}],"id":414,"name":"FunctionCall","src":"9443:27:0"}],"id":415,"name":"VariableDeclarationStatement","src":"9417:53:0"},{"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"operator":"=","type":"struct FlightSuretyApp.Oracle storage ref"},"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"type":"struct FlightSuretyApp.Oracle storage ref"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":351,"type":"mapping(address => struct FlightSuretyApp.Oracle storage ref)","value":"oracles"},"id":416,"name":"Identifier","src":"9481:7:0"},{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"member_name":"sender","referencedDeclaration":null,"type":"address"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":1595,"type":"msg","value":"msg"},"id":417,"name":"Identifier","src":"9489:3:0"}],"id":418,"name":"MemberAccess","src":"9489:10:0"}],"id":419,"name":"IndexAccess","src":"9481:19:0"},{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"isStructConstructorCall":true,"lValueRequested":false,"names":["isRegistered","indexes"],"type":"struct FlightSuretyApp.Oracle memory","type_conversion":false},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":347,"type":"type(struct FlightSuretyApp.Oracle storage pointer)","value":"Oracle"},"id":420,"name":"Identifier","src":"9503:6:0"},{"attributes":{"argumentTypes":null,"hexvalue":"74727565","isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"subdenomination":null,"token":"bool","type":"bool","value":"true"},"id":421,"name":"Literal","src":"9525:4:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":410,"type":"uint8[3] memory","value":"indexes"},"id":422,"name":"Identifier","src":"9540:7:0"}],"id":423,"name":"FunctionCall","src":"9503:46:0"}],"id":424,"name":"Assignment","src":"9481:68:0"}],"id":425,"name":"ExpressionStatement","src":"9481:68:0"}],"id":426,"name":"Block","src":"9290:266:0"}],"id":427,"name":"FunctionDefinition","src":"9129:427:0"},{"attributes":{"constant":true,"documentation":null,"implemented":true,"isConstructor":false,"modifiers":[null],"name":"getMyIndexes","payable":false,"scope":716,"stateMutability":"view","superFunction":null,"visibility":"external"},"children":[{"attributes":{"parameters":[null]},"children":[],"id":428,"name":"ParameterList","src":"9583:2:0"},{"children":[{"attributes":{"constant":false,"name":"","scope":450,"stateVariable":false,"storageLocation":"default","type":"uint8[3]","value":null,"visibility":"internal"},"children":[{"attributes":{"type":"uint8[3]"},"children":[{"attributes":{"name":"uint8","type":"uint8"},"id":429,"name":"ElementaryTypeName","src":"9608:5:0"},{"attributes":{"argumentTypes":null,"hexvalue":"33","isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"subdenomination":null,"token":"number","type":null,"value":"3"},"id":430,"name":"Literal","src":"9614:1:0"}],"id":431,"name":"ArrayTypeName","src":"9608:8:0"}],"id":432,"name":"VariableDeclaration","src":"9608:8:0"}],"id":433,"name":"ParameterList","src":"9607:10:0"},{"children":[{"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"isStructConstructorCall":false,"lValueRequested":false,"names":[null],"type":"tuple()","type_conversion":false},"children":[{"attributes":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_7ad91ba94f1263d3a6f244196287f97a8fd9f7f42568625db696c1c797d81898","typeString":"literal_string \\"Not registered as an oracle\\""}],"overloadedDeclarations":[1598,1599],"referencedDeclaration":1599,"type":"function (bool,string memory) pure","value":"require"},"id":434,"name":"Identifier","src":"9628:7:0"},{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"member_name":"isRegistered","referencedDeclaration":342,"type":"bool"},"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"type":"struct FlightSuretyApp.Oracle storage ref"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":351,"type":"mapping(address => struct FlightSuretyApp.Oracle storage ref)","value":"oracles"},"id":435,"name":"Identifier","src":"9636:7:0"},{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"member_name":"sender","referencedDeclaration":null,"type":"address"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":1595,"type":"msg","value":"msg"},"id":436,"name":"Identifier","src":"9644:3:0"}],"id":437,"name":"MemberAccess","src":"9644:10:0"}],"id":438,"name":"IndexAccess","src":"9636:19:0"}],"id":439,"name":"MemberAccess","src":"9636:32:0"},{"attributes":{"argumentTypes":null,"hexvalue":"4e6f74207265676973746572656420617320616e206f7261636c65","isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"subdenomination":null,"token":"string","type":"literal_string \\"Not registered as an oracle\\"","value":"Not registered as an oracle"},"id":440,"name":"Literal","src":"9670:29:0"}],"id":441,"name":"FunctionCall","src":"9628:72:0"}],"id":442,"name":"ExpressionStatement","src":"9628:72:0"},{"attributes":{"functionReturnParameters":433},"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"member_name":"indexes","referencedDeclaration":346,"type":"uint8[3] storage ref"},"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"type":"struct FlightSuretyApp.Oracle storage ref"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":351,"type":"mapping(address => struct FlightSuretyApp.Oracle storage ref)","value":"oracles"},"id":443,"name":"Identifier","src":"9718:7:0"},{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"member_name":"sender","referencedDeclaration":null,"type":"address"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":1595,"type":"msg","value":"msg"},"id":444,"name":"Identifier","src":"9726:3:0"}],"id":445,"name":"MemberAccess","src":"9726:10:0"}],"id":446,"name":"IndexAccess","src":"9718:19:0"}],"id":447,"name":"MemberAccess","src":"9718:27:0"}],"id":448,"name":"Return","src":"9711:34:0"}],"id":449,"name":"Block","src":"9618:134:0"}],"id":450,"name":"FunctionDefinition","src":"9562:190:0"},{"attributes":{"constant":false,"documentation":null,"implemented":true,"isConstructor":false,"modifiers":[null],"name":"submitOracleResponse","payable":false,"scope":716,"stateMutability":"nonpayable","superFunction":null,"visibility":"external"},"children":[{"children":[{"attributes":{"constant":false,"name":"index","scope":563,"stateVariable":false,"storageLocation":"default","type":"uint8","value":null,"visibility":"internal"},"children":[{"attributes":{"name":"uint8","type":"uint8"},"id":451,"name":"ElementaryTypeName","src":"10158:5:0"}],"id":452,"name":"VariableDeclaration","src":"10158:11:0"},{"attributes":{"constant":false,"name":"airline","scope":563,"stateVariable":false,"storageLocation":"default","type":"address","value":null,"visibility":"internal"},"children":[{"attributes":{"name":"address","type":"address"},"id":453,"name":"ElementaryTypeName","src":"10199:7:0"}],"id":454,"name":"VariableDeclaration","src":"10199:15:0"},{"attributes":{"constant":false,"name":"flight","scope":563,"stateVariable":false,"storageLocation":"default","type":"string","value":null,"visibility":"internal"},"children":[{"attributes":{"name":"string","type":"string"},"id":455,"name":"ElementaryTypeName","src":"10244:6:0"}],"id":456,"name":"VariableDeclaration","src":"10244:13:0"},{"attributes":{"constant":false,"name":"timestamp","scope":563,"stateVariable":false,"storageLocation":"default","type":"uint256","value":null,"visibility":"internal"},"children":[{"attributes":{"name":"uint256","type":"uint256"},"id":457,"name":"ElementaryTypeName","src":"10287:7:0"}],"id":458,"name":"VariableDeclaration","src":"10287:17:0"},{"attributes":{"constant":false,"name":"statusCode","scope":563,"stateVariable":false,"storageLocation":"default","type":"uint8","value":null,"visibility":"internal"},"children":[{"attributes":{"name":"uint8","type":"uint8"},"id":459,"name":"ElementaryTypeName","src":"10334:5:0"}],"id":460,"name":"VariableDeclaration","src":"10334:16:0"}],"id":461,"name":"ParameterList","src":"10128:248:0"},{"attributes":{"parameters":[null]},"children":[],"id":462,"name":"ParameterList","src":"10414:0:0"},{"children":[{"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"isStructConstructorCall":false,"lValueRequested":false,"names":[null],"type":"tuple()","type_conversion":false},"children":[{"attributes":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_d965dbc170db16ad14bba2edfc00f6001ae6b4f1ba552726c8baabc35d18e958","typeString":"literal_string \\"Index does not match oracle request\\""}],"overloadedDeclarations":[1598,1599],"referencedDeclaration":1599,"type":"function (bool,string memory) pure","value":"require"},"id":463,"name":"Identifier","src":"10424:7:0"},{"attributes":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"operator":"||","type":"bool"},"children":[{"attributes":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"operator":"||","type":"bool"},"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"type":"bool"},"children":[{"attributes":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"operator":"==","type":"bool"},"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"type":"uint8"},"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"member_name":"indexes","referencedDeclaration":346,"type":"uint8[3] storage ref"},"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"type":"struct FlightSuretyApp.Oracle storage ref"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":351,"type":"mapping(address => struct FlightSuretyApp.Oracle storage ref)","value":"oracles"},"id":464,"name":"Identifier","src":"10433:7:0"},{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"member_name":"sender","referencedDeclaration":null,"type":"address"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":1595,"type":"msg","value":"msg"},"id":465,"name":"Identifier","src":"10441:3:0"}],"id":466,"name":"MemberAccess","src":"10441:10:0"}],"id":467,"name":"IndexAccess","src":"10433:19:0"}],"id":468,"name":"MemberAccess","src":"10433:27:0"},{"attributes":{"argumentTypes":null,"hexvalue":"30","isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"subdenomination":null,"token":"number","type":"int_const 0","value":"0"},"id":469,"name":"Literal","src":"10461:1:0"}],"id":470,"name":"IndexAccess","src":"10433:30:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":452,"type":"uint8","value":"index"},"id":471,"name":"Identifier","src":"10467:5:0"}],"id":472,"name":"BinaryOperation","src":"10433:39:0"}],"id":473,"name":"TupleExpression","src":"10432:41:0"},{"attributes":{"argumentTypes":null,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"type":"bool"},"children":[{"attributes":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"operator":"==","type":"bool"},"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"type":"uint8"},"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"member_name":"indexes","referencedDeclaration":346,"type":"uint8[3] storage ref"},"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"type":"struct FlightSuretyApp.Oracle storage ref"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":351,"type":"mapping(address => struct FlightSuretyApp.Oracle storage ref)","value":"oracles"},"id":474,"name":"Identifier","src":"10478:7:0"},{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"member_name":"sender","referencedDeclaration":null,"type":"address"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":1595,"type":"msg","value":"msg"},"id":475,"name":"Identifier","src":"10486:3:0"}],"id":476,"name":"MemberAccess","src":"10486:10:0"}],"id":477,"name":"IndexAccess","src":"10478:19:0"}],"id":478,"name":"MemberAccess","src":"10478:27:0"},{"attributes":{"argumentTypes":null,"hexvalue":"31","isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"subdenomination":null,"token":"number","type":"int_const 1","value":"1"},"id":479,"name":"Literal","src":"10506:1:0"}],"id":480,"name":"IndexAccess","src":"10478:30:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":452,"type":"uint8","value":"index"},"id":481,"name":"Identifier","src":"10512:5:0"}],"id":482,"name":"BinaryOperation","src":"10478:39:0"}],"id":483,"name":"TupleExpression","src":"10477:41:0"}],"id":484,"name":"BinaryOperation","src":"10432:86:0"},{"attributes":{"argumentTypes":null,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"type":"bool"},"children":[{"attributes":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"operator":"==","type":"bool"},"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"type":"uint8"},"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"member_name":"indexes","referencedDeclaration":346,"type":"uint8[3] storage ref"},"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"type":"struct FlightSuretyApp.Oracle storage ref"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":351,"type":"mapping(address => struct FlightSuretyApp.Oracle storage ref)","value":"oracles"},"id":485,"name":"Identifier","src":"10523:7:0"},{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"member_name":"sender","referencedDeclaration":null,"type":"address"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":1595,"type":"msg","value":"msg"},"id":486,"name":"Identifier","src":"10531:3:0"}],"id":487,"name":"MemberAccess","src":"10531:10:0"}],"id":488,"name":"IndexAccess","src":"10523:19:0"}],"id":489,"name":"MemberAccess","src":"10523:27:0"},{"attributes":{"argumentTypes":null,"hexvalue":"32","isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"subdenomination":null,"token":"number","type":"int_const 2","value":"2"},"id":490,"name":"Literal","src":"10551:1:0"}],"id":491,"name":"IndexAccess","src":"10523:30:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":452,"type":"uint8","value":"index"},"id":492,"name":"Identifier","src":"10557:5:0"}],"id":493,"name":"BinaryOperation","src":"10523:39:0"}],"id":494,"name":"TupleExpression","src":"10522:41:0"}],"id":495,"name":"BinaryOperation","src":"10432:131:0"},{"attributes":{"argumentTypes":null,"hexvalue":"496e64657820646f6573206e6f74206d61746368206f7261636c652072657175657374","isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"subdenomination":null,"token":"string","type":"literal_string \\"Index does not match oracle request\\"","value":"Index does not match oracle request"},"id":496,"name":"Literal","src":"10565:37:0"}],"id":497,"name":"FunctionCall","src":"10424:179:0"}],"id":498,"name":"ExpressionStatement","src":"10424:179:0"},{"attributes":{"assignments":[500]},"children":[{"attributes":{"constant":false,"name":"key","scope":563,"stateVariable":false,"storageLocation":"default","type":"bytes32","value":null,"visibility":"internal"},"children":[{"attributes":{"name":"bytes32","type":"bytes32"},"id":499,"name":"ElementaryTypeName","src":"10615:7:0"}],"id":500,"name":"VariableDeclaration","src":"10615:11:0"},{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"isStructConstructorCall":false,"lValueRequested":false,"names":[null],"type":"bytes32","type_conversion":false},"children":[{"attributes":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"overloadedDeclarations":[null],"referencedDeclaration":1589,"type":"function () pure returns (bytes32)","value":"keccak256"},"id":501,"name":"Identifier","src":"10629:9:0"},{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"isStructConstructorCall":false,"lValueRequested":false,"names":[null],"type":"bytes memory","type_conversion":false},"children":[{"attributes":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"member_name":"encodePacked","referencedDeclaration":null,"type":"function () pure returns (bytes memory)"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":1582,"type":"abi","value":"abi"},"id":502,"name":"Identifier","src":"10639:3:0"}],"id":503,"name":"MemberAccess","src":"10639:16:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":452,"type":"uint8","value":"index"},"id":504,"name":"Identifier","src":"10656:5:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":454,"type":"address","value":"airline"},"id":505,"name":"Identifier","src":"10663:7:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":456,"type":"string calldata","value":"flight"},"id":506,"name":"Identifier","src":"10672:6:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":458,"type":"uint256","value":"timestamp"},"id":507,"name":"Identifier","src":"10680:9:0"}],"id":508,"name":"FunctionCall","src":"10639:51:0"}],"id":509,"name":"FunctionCall","src":"10629:62:0"}],"id":510,"name":"VariableDeclarationStatement","src":"10615:76:0"},{"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"isStructConstructorCall":false,"lValueRequested":false,"names":[null],"type":"tuple()","type_conversion":false},"children":[{"attributes":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_0a2e30b8d2520f68d73f3a889c22abe7fe4574811afeeeb31c4f15b47e52e1c1","typeString":"literal_string \\"Flight or timestamp do not match oracle request\\""}],"overloadedDeclarations":[1598,1599],"referencedDeclaration":1599,"type":"function (bool,string memory) pure","value":"require"},"id":511,"name":"Identifier","src":"10701:7:0"},{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"member_name":"isOpen","referencedDeclaration":355,"type":"bool"},"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"type":"struct FlightSuretyApp.ResponseInfo storage ref"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":365,"type":"mapping(bytes32 => struct FlightSuretyApp.ResponseInfo storage ref)","value":"oracleResponses"},"id":512,"name":"Identifier","src":"10709:15:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":500,"type":"bytes32","value":"key"},"id":513,"name":"Identifier","src":"10725:3:0"}],"id":514,"name":"IndexAccess","src":"10709:20:0"}],"id":515,"name":"MemberAccess","src":"10709:27:0"},{"attributes":{"argumentTypes":null,"hexvalue":"466c69676874206f722074696d657374616d7020646f206e6f74206d61746368206f7261636c652072657175657374","isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"subdenomination":null,"token":"string","type":"literal_string \\"Flight or timestamp do not match oracle request\\"","value":"Flight or timestamp do not match oracle request"},"id":516,"name":"Literal","src":"10738:49:0"}],"id":517,"name":"FunctionCall","src":"10701:87:0"}],"id":518,"name":"ExpressionStatement","src":"10701:87:0"},{"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"isStructConstructorCall":false,"lValueRequested":false,"names":[null],"type":"uint256","type_conversion":false},"children":[{"attributes":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"member_name":"push","referencedDeclaration":null,"type":"function (address) returns (uint256)"},"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"type":"address[] storage ref"},"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"member_name":"responses","referencedDeclaration":360,"type":"mapping(uint8 => address[] storage ref)"},"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"type":"struct FlightSuretyApp.ResponseInfo storage ref"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":365,"type":"mapping(bytes32 => struct FlightSuretyApp.ResponseInfo storage ref)","value":"oracleResponses"},"id":519,"name":"Identifier","src":"10799:15:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":500,"type":"bytes32","value":"key"},"id":520,"name":"Identifier","src":"10815:3:0"}],"id":521,"name":"IndexAccess","src":"10799:20:0"}],"id":522,"name":"MemberAccess","src":"10799:30:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":460,"type":"uint8","value":"statusCode"},"id":523,"name":"Identifier","src":"10830:10:0"}],"id":524,"name":"IndexAccess","src":"10799:42:0"}],"id":525,"name":"MemberAccess","src":"10799:47:0"},{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"member_name":"sender","referencedDeclaration":null,"type":"address"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":1595,"type":"msg","value":"msg"},"id":526,"name":"Identifier","src":"10847:3:0"}],"id":527,"name":"MemberAccess","src":"10847:10:0"}],"id":528,"name":"FunctionCall","src":"10799:59:0"}],"id":529,"name":"ExpressionStatement","src":"10799:59:0"},{"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"isStructConstructorCall":false,"lValueRequested":false,"names":[null],"type":"tuple()","type_conversion":false},"children":[{"attributes":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint8","typeString":"uint8"}],"overloadedDeclarations":[null],"referencedDeclaration":385,"type":"function (address,string memory,uint256,uint8)","value":"OracleReport"},"id":530,"name":"Identifier","src":"11013:12:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":454,"type":"address","value":"airline"},"id":531,"name":"Identifier","src":"11026:7:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":456,"type":"string calldata","value":"flight"},"id":532,"name":"Identifier","src":"11035:6:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":458,"type":"uint256","value":"timestamp"},"id":533,"name":"Identifier","src":"11043:9:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":460,"type":"uint8","value":"statusCode"},"id":534,"name":"Identifier","src":"11054:10:0"}],"id":535,"name":"FunctionCall","src":"11013:52:0"}],"id":536,"name":"EmitStatement","src":"11008:57:0"},{"attributes":{"falseBody":null},"children":[{"attributes":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"operator":">=","type":"bool"},"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"member_name":"length","referencedDeclaration":null,"type":"uint256"},"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"type":"address[] storage ref"},"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"member_name":"responses","referencedDeclaration":360,"type":"mapping(uint8 => address[] storage ref)"},"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"type":"struct FlightSuretyApp.ResponseInfo storage ref"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":365,"type":"mapping(bytes32 => struct FlightSuretyApp.ResponseInfo storage ref)","value":"oracleResponses"},"id":537,"name":"Identifier","src":"11079:15:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":500,"type":"bytes32","value":"key"},"id":538,"name":"Identifier","src":"11095:3:0"}],"id":539,"name":"IndexAccess","src":"11079:20:0"}],"id":540,"name":"MemberAccess","src":"11079:30:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":460,"type":"uint8","value":"statusCode"},"id":541,"name":"Identifier","src":"11110:10:0"}],"id":542,"name":"IndexAccess","src":"11079:42:0"}],"id":543,"name":"MemberAccess","src":"11079:49:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":340,"type":"uint256","value":"MIN_RESPONSES"},"id":544,"name":"Identifier","src":"11132:13:0"}],"id":545,"name":"BinaryOperation","src":"11079:66:0"},{"children":[{"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"isStructConstructorCall":false,"lValueRequested":false,"names":[null],"type":"tuple()","type_conversion":false},"children":[{"attributes":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint8","typeString":"uint8"}],"overloadedDeclarations":[null],"referencedDeclaration":375,"type":"function (address,string memory,uint256,uint8)","value":"FlightStatusInfo"},"id":546,"name":"Identifier","src":"11167:16:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":454,"type":"address","value":"airline"},"id":547,"name":"Identifier","src":"11184:7:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":456,"type":"string calldata","value":"flight"},"id":548,"name":"Identifier","src":"11193:6:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":458,"type":"uint256","value":"timestamp"},"id":549,"name":"Identifier","src":"11201:9:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":460,"type":"uint8","value":"statusCode"},"id":550,"name":"Identifier","src":"11212:10:0"}],"id":551,"name":"FunctionCall","src":"11167:56:0"}],"id":552,"name":"EmitStatement","src":"11162:61:0"},{"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"isStructConstructorCall":false,"lValueRequested":false,"names":[null],"type":"tuple()","type_conversion":false},"children":[{"attributes":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint8","typeString":"uint8"}],"overloadedDeclarations":[null],"referencedDeclaration":253,"type":"function (address,string memory,uint256,uint8)","value":"processFlightStatus"},"id":553,"name":"Identifier","src":"11289:19:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":454,"type":"address","value":"airline"},"id":554,"name":"Identifier","src":"11309:7:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":456,"type":"string calldata","value":"flight"},"id":555,"name":"Identifier","src":"11318:6:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":458,"type":"uint256","value":"timestamp"},"id":556,"name":"Identifier","src":"11326:9:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":460,"type":"uint8","value":"statusCode"},"id":557,"name":"Identifier","src":"11337:10:0"}],"id":558,"name":"FunctionCall","src":"11289:59:0"}],"id":559,"name":"ExpressionStatement","src":"11289:59:0"}],"id":560,"name":"Block","src":"11147:212:0"}],"id":561,"name":"IfStatement","src":"11075:284:0"}],"id":562,"name":"Block","src":"10414:951:0"}],"id":563,"name":"FunctionDefinition","src":"10074:1291:0"},{"attributes":{"constant":true,"documentation":null,"implemented":true,"isConstructor":false,"modifiers":[null],"name":"getFlightKey","payable":false,"scope":716,"stateMutability":"pure","superFunction":null,"visibility":"internal"},"children":[{"children":[{"attributes":{"constant":false,"name":"airline","scope":584,"stateVariable":false,"storageLocation":"default","type":"address","value":null,"visibility":"internal"},"children":[{"attributes":{"name":"address","type":"address"},"id":564,"name":"ElementaryTypeName","src":"11393:7:0"}],"id":565,"name":"VariableDeclaration","src":"11393:15:0"},{"attributes":{"constant":false,"name":"flight","scope":584,"stateVariable":false,"storageLocation":"default","type":"string","value":null,"visibility":"internal"},"children":[{"attributes":{"name":"string","type":"string"},"id":566,"name":"ElementaryTypeName","src":"11410:6:0"}],"id":567,"name":"VariableDeclaration","src":"11410:13:0"},{"attributes":{"constant":false,"name":"timestamp","scope":584,"stateVariable":false,"storageLocation":"default","type":"uint256","value":null,"visibility":"internal"},"children":[{"attributes":{"name":"uint256","type":"uint256"},"id":568,"name":"ElementaryTypeName","src":"11425:7:0"}],"id":569,"name":"VariableDeclaration","src":"11425:17:0"}],"id":570,"name":"ParameterList","src":"11392:51:0"},{"children":[{"attributes":{"constant":false,"name":"","scope":584,"stateVariable":false,"storageLocation":"default","type":"bytes32","value":null,"visibility":"internal"},"children":[{"attributes":{"name":"bytes32","type":"bytes32"},"id":571,"name":"ElementaryTypeName","src":"11466:7:0"}],"id":572,"name":"VariableDeclaration","src":"11466:7:0"}],"id":573,"name":"ParameterList","src":"11465:9:0"},{"children":[{"attributes":{"functionReturnParameters":573},"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"isStructConstructorCall":false,"lValueRequested":false,"names":[null],"type":"bytes32","type_conversion":false},"children":[{"attributes":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"overloadedDeclarations":[null],"referencedDeclaration":1589,"type":"function () pure returns (bytes32)","value":"keccak256"},"id":574,"name":"Identifier","src":"11492:9:0"},{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"isStructConstructorCall":false,"lValueRequested":false,"names":[null],"type":"bytes memory","type_conversion":false},"children":[{"attributes":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"member_name":"encodePacked","referencedDeclaration":null,"type":"function () pure returns (bytes memory)"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":1582,"type":"abi","value":"abi"},"id":575,"name":"Identifier","src":"11502:3:0"}],"id":576,"name":"MemberAccess","src":"11502:16:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":565,"type":"address","value":"airline"},"id":577,"name":"Identifier","src":"11519:7:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":567,"type":"string memory","value":"flight"},"id":578,"name":"Identifier","src":"11528:6:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":569,"type":"uint256","value":"timestamp"},"id":579,"name":"Identifier","src":"11536:9:0"}],"id":580,"name":"FunctionCall","src":"11502:44:0"}],"id":581,"name":"FunctionCall","src":"11492:55:0"}],"id":582,"name":"Return","src":"11485:62:0"}],"id":583,"name":"Block","src":"11475:79:0"}],"id":584,"name":"FunctionDefinition","src":"11371:183:0"},{"attributes":{"constant":false,"documentation":null,"implemented":true,"isConstructor":false,"modifiers":[null],"name":"generateIndexes","payable":false,"scope":716,"stateMutability":"nonpayable","superFunction":null,"visibility":"internal"},"children":[{"children":[{"attributes":{"constant":false,"name":"account","scope":670,"stateVariable":false,"storageLocation":"default","type":"address","value":null,"visibility":"internal"},"children":[{"attributes":{"name":"address","type":"address"},"id":585,"name":"ElementaryTypeName","src":"11649:7:0"}],"id":586,"name":"VariableDeclaration","src":"11649:15:0"}],"id":587,"name":"ParameterList","src":"11648:17:0"},{"children":[{"attributes":{"constant":false,"name":"","scope":670,"stateVariable":false,"storageLocation":"default","type":"uint8[3]","value":null,"visibility":"internal"},"children":[{"attributes":{"type":"uint8[3]"},"children":[{"attributes":{"name":"uint8","type":"uint8"},"id":588,"name":"ElementaryTypeName","src":"11683:5:0"},{"attributes":{"argumentTypes":null,"hexvalue":"33","isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"subdenomination":null,"token":"number","type":null,"value":"3"},"id":589,"name":"Literal","src":"11689:1:0"}],"id":590,"name":"ArrayTypeName","src":"11683:8:0"}],"id":591,"name":"VariableDeclaration","src":"11683:8:0"}],"id":592,"name":"ParameterList","src":"11682:10:0"},{"children":[{"attributes":{"assignments":[null],"initialValue":null},"children":[{"attributes":{"constant":false,"name":"indexes","scope":670,"stateVariable":false,"storageLocation":"memory","type":"uint8[3]","value":null,"visibility":"internal"},"children":[{"attributes":{"type":"uint8[3]"},"children":[{"attributes":{"name":"uint8","type":"uint8"},"id":595,"name":"ElementaryTypeName","src":"11703:5:0"},{"attributes":{"argumentTypes":null,"hexvalue":"33","isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"subdenomination":null,"token":"number","type":null,"value":"3"},"id":594,"name":"Literal","src":"11709:1:0"}],"id":596,"name":"ArrayTypeName","src":"11703:8:0"}],"id":597,"name":"VariableDeclaration","src":"11703:23:0"}],"id":598,"name":"VariableDeclarationStatement","src":"11703:23:0"},{"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"operator":"=","type":"uint8"},"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"type":"uint8"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":597,"type":"uint8[3] memory","value":"indexes"},"id":599,"name":"Identifier","src":"11736:7:0"},{"attributes":{"argumentTypes":null,"hexvalue":"30","isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"subdenomination":null,"token":"number","type":"int_const 0","value":"0"},"id":600,"name":"Literal","src":"11744:1:0"}],"id":601,"name":"IndexAccess","src":"11736:10:0"},{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"isStructConstructorCall":false,"lValueRequested":false,"names":[null],"type":"uint8","type_conversion":false},"children":[{"attributes":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"overloadedDeclarations":[null],"referencedDeclaration":715,"type":"function (address) returns (uint8)","value":"getRandomIndex"},"id":602,"name":"Identifier","src":"11749:14:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":586,"type":"address","value":"account"},"id":603,"name":"Identifier","src":"11764:7:0"}],"id":604,"name":"FunctionCall","src":"11749:23:0"}],"id":605,"name":"Assignment","src":"11736:36:0"}],"id":606,"name":"ExpressionStatement","src":"11736:36:0"},{"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"operator":"=","type":"uint8"},"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"type":"uint8"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":597,"type":"uint8[3] memory","value":"indexes"},"id":607,"name":"Identifier","src":"11783:7:0"},{"attributes":{"argumentTypes":null,"hexvalue":"31","isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"subdenomination":null,"token":"number","type":"int_const 1","value":"1"},"id":608,"name":"Literal","src":"11791:1:0"}],"id":609,"name":"IndexAccess","src":"11783:10:0"},{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"type":"uint8"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":597,"type":"uint8[3] memory","value":"indexes"},"id":610,"name":"Identifier","src":"11796:7:0"},{"attributes":{"argumentTypes":null,"hexvalue":"30","isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"subdenomination":null,"token":"number","type":"int_const 0","value":"0"},"id":611,"name":"Literal","src":"11804:1:0"}],"id":612,"name":"IndexAccess","src":"11796:10:0"}],"id":613,"name":"Assignment","src":"11783:23:0"}],"id":614,"name":"ExpressionStatement","src":"11783:23:0"},{"children":[{"attributes":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"operator":"==","type":"bool"},"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"type":"uint8"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":597,"type":"uint8[3] memory","value":"indexes"},"id":615,"name":"Identifier","src":"11822:7:0"},{"attributes":{"argumentTypes":null,"hexvalue":"31","isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"subdenomination":null,"token":"number","type":"int_const 1","value":"1"},"id":616,"name":"Literal","src":"11830:1:0"}],"id":617,"name":"IndexAccess","src":"11822:10:0"},{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"type":"uint8"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":597,"type":"uint8[3] memory","value":"indexes"},"id":618,"name":"Identifier","src":"11836:7:0"},{"attributes":{"argumentTypes":null,"hexvalue":"30","isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"subdenomination":null,"token":"number","type":"int_const 0","value":"0"},"id":619,"name":"Literal","src":"11844:1:0"}],"id":620,"name":"IndexAccess","src":"11836:10:0"}],"id":621,"name":"BinaryOperation","src":"11822:24:0"},{"children":[{"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"operator":"=","type":"uint8"},"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"type":"uint8"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":597,"type":"uint8[3] memory","value":"indexes"},"id":622,"name":"Identifier","src":"11862:7:0"},{"attributes":{"argumentTypes":null,"hexvalue":"31","isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"subdenomination":null,"token":"number","type":"int_const 1","value":"1"},"id":623,"name":"Literal","src":"11870:1:0"}],"id":624,"name":"IndexAccess","src":"11862:10:0"},{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"isStructConstructorCall":false,"lValueRequested":false,"names":[null],"type":"uint8","type_conversion":false},"children":[{"attributes":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"overloadedDeclarations":[null],"referencedDeclaration":715,"type":"function (address) returns (uint8)","value":"getRandomIndex"},"id":625,"name":"Identifier","src":"11875:14:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":586,"type":"address","value":"account"},"id":626,"name":"Identifier","src":"11890:7:0"}],"id":627,"name":"FunctionCall","src":"11875:23:0"}],"id":628,"name":"Assignment","src":"11862:36:0"}],"id":629,"name":"ExpressionStatement","src":"11862:36:0"}],"id":630,"name":"Block","src":"11848:61:0"}],"id":631,"name":"WhileStatement","src":"11816:93:0"},{"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"operator":"=","type":"uint8"},"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"type":"uint8"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":597,"type":"uint8[3] memory","value":"indexes"},"id":632,"name":"Identifier","src":"11919:7:0"},{"attributes":{"argumentTypes":null,"hexvalue":"32","isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"subdenomination":null,"token":"number","type":"int_const 2","value":"2"},"id":633,"name":"Literal","src":"11927:1:0"}],"id":634,"name":"IndexAccess","src":"11919:10:0"},{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"type":"uint8"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":597,"type":"uint8[3] memory","value":"indexes"},"id":635,"name":"Identifier","src":"11932:7:0"},{"attributes":{"argumentTypes":null,"hexvalue":"31","isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"subdenomination":null,"token":"number","type":"int_const 1","value":"1"},"id":636,"name":"Literal","src":"11940:1:0"}],"id":637,"name":"IndexAccess","src":"11932:10:0"}],"id":638,"name":"Assignment","src":"11919:23:0"}],"id":639,"name":"ExpressionStatement","src":"11919:23:0"},{"children":[{"attributes":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"operator":"||","type":"bool"},"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"type":"bool"},"children":[{"attributes":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"operator":"==","type":"bool"},"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"type":"uint8"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":597,"type":"uint8[3] memory","value":"indexes"},"id":640,"name":"Identifier","src":"11959:7:0"},{"attributes":{"argumentTypes":null,"hexvalue":"32","isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"subdenomination":null,"token":"number","type":"int_const 2","value":"2"},"id":641,"name":"Literal","src":"11967:1:0"}],"id":642,"name":"IndexAccess","src":"11959:10:0"},{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"type":"uint8"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":597,"type":"uint8[3] memory","value":"indexes"},"id":643,"name":"Identifier","src":"11973:7:0"},{"attributes":{"argumentTypes":null,"hexvalue":"30","isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"subdenomination":null,"token":"number","type":"int_const 0","value":"0"},"id":644,"name":"Literal","src":"11981:1:0"}],"id":645,"name":"IndexAccess","src":"11973:10:0"}],"id":646,"name":"BinaryOperation","src":"11959:24:0"}],"id":647,"name":"TupleExpression","src":"11958:26:0"},{"attributes":{"argumentTypes":null,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"type":"bool"},"children":[{"attributes":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"operator":"==","type":"bool"},"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"type":"uint8"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":597,"type":"uint8[3] memory","value":"indexes"},"id":648,"name":"Identifier","src":"11989:7:0"},{"attributes":{"argumentTypes":null,"hexvalue":"32","isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"subdenomination":null,"token":"number","type":"int_const 2","value":"2"},"id":649,"name":"Literal","src":"11997:1:0"}],"id":650,"name":"IndexAccess","src":"11989:10:0"},{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"type":"uint8"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":597,"type":"uint8[3] memory","value":"indexes"},"id":651,"name":"Identifier","src":"12003:7:0"},{"attributes":{"argumentTypes":null,"hexvalue":"31","isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"subdenomination":null,"token":"number","type":"int_const 1","value":"1"},"id":652,"name":"Literal","src":"12011:1:0"}],"id":653,"name":"IndexAccess","src":"12003:10:0"}],"id":654,"name":"BinaryOperation","src":"11989:24:0"}],"id":655,"name":"TupleExpression","src":"11988:26:0"}],"id":656,"name":"BinaryOperation","src":"11958:56:0"},{"children":[{"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"operator":"=","type":"uint8"},"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"type":"uint8"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":597,"type":"uint8[3] memory","value":"indexes"},"id":657,"name":"Identifier","src":"12030:7:0"},{"attributes":{"argumentTypes":null,"hexvalue":"32","isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"subdenomination":null,"token":"number","type":"int_const 2","value":"2"},"id":658,"name":"Literal","src":"12038:1:0"}],"id":659,"name":"IndexAccess","src":"12030:10:0"},{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"isStructConstructorCall":false,"lValueRequested":false,"names":[null],"type":"uint8","type_conversion":false},"children":[{"attributes":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"overloadedDeclarations":[null],"referencedDeclaration":715,"type":"function (address) returns (uint8)","value":"getRandomIndex"},"id":660,"name":"Identifier","src":"12043:14:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":586,"type":"address","value":"account"},"id":661,"name":"Identifier","src":"12058:7:0"}],"id":662,"name":"FunctionCall","src":"12043:23:0"}],"id":663,"name":"Assignment","src":"12030:36:0"}],"id":664,"name":"ExpressionStatement","src":"12030:36:0"}],"id":665,"name":"Block","src":"12016:61:0"}],"id":666,"name":"WhileStatement","src":"11952:125:0"},{"attributes":{"functionReturnParameters":592},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":597,"type":"uint8[3] memory","value":"indexes"},"id":667,"name":"Identifier","src":"12094:7:0"}],"id":668,"name":"Return","src":"12087:14:0"}],"id":669,"name":"Block","src":"11693:415:0"}],"id":670,"name":"FunctionDefinition","src":"11624:484:0"},{"attributes":{"constant":false,"documentation":null,"implemented":true,"isConstructor":false,"modifiers":[null],"name":"getRandomIndex","payable":false,"scope":716,"stateMutability":"nonpayable","superFunction":null,"visibility":"internal"},"children":[{"children":[{"attributes":{"constant":false,"name":"account","scope":715,"stateVariable":false,"storageLocation":"default","type":"address","value":null,"visibility":"internal"},"children":[{"attributes":{"name":"address","type":"address"},"id":671,"name":"ElementaryTypeName","src":"12202:7:0"}],"id":672,"name":"VariableDeclaration","src":"12202:15:0"}],"id":673,"name":"ParameterList","src":"12201:17:0"},{"children":[{"attributes":{"constant":false,"name":"","scope":715,"stateVariable":false,"storageLocation":"default","type":"uint8","value":null,"visibility":"internal"},"children":[{"attributes":{"name":"uint8","type":"uint8"},"id":674,"name":"ElementaryTypeName","src":"12237:5:0"}],"id":675,"name":"VariableDeclaration","src":"12237:5:0"}],"id":676,"name":"ParameterList","src":"12236:7:0"},{"children":[{"attributes":{"assignments":[678]},"children":[{"attributes":{"constant":false,"name":"maxValue","scope":715,"stateVariable":false,"storageLocation":"default","type":"uint8","value":null,"visibility":"internal"},"children":[{"attributes":{"name":"uint8","type":"uint8"},"id":677,"name":"ElementaryTypeName","src":"12254:5:0"}],"id":678,"name":"VariableDeclaration","src":"12254:14:0"},{"attributes":{"argumentTypes":null,"hexvalue":"3130","isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"subdenomination":null,"token":"number","type":"int_const 10","value":"10"},"id":679,"name":"Literal","src":"12271:2:0"}],"id":680,"name":"VariableDeclarationStatement","src":"12254:19:0"},{"attributes":{"assignments":[682]},"children":[{"attributes":{"constant":false,"name":"random","scope":715,"stateVariable":false,"storageLocation":"default","type":"uint8","value":null,"visibility":"internal"},"children":[{"attributes":{"name":"uint8","type":"uint8"},"id":681,"name":"ElementaryTypeName","src":"12356:5:0"}],"id":682,"name":"VariableDeclaration","src":"12356:12:0"},{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"isStructConstructorCall":false,"lValueRequested":false,"names":[null],"type":"uint8","type_conversion":true},"children":[{"attributes":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"type":"type(uint8)","value":"uint8"},"id":683,"name":"ElementaryTypeNameExpression","src":"12371:5:0"},{"attributes":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"operator":"%","type":"uint256"},"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"isStructConstructorCall":false,"lValueRequested":false,"names":[null],"type":"uint256","type_conversion":true},"children":[{"attributes":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"type":"type(uint256)","value":"uint256"},"id":684,"name":"ElementaryTypeNameExpression","src":"12377:7:0"},{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"isStructConstructorCall":false,"lValueRequested":false,"names":[null],"type":"bytes32","type_conversion":false},"children":[{"attributes":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"overloadedDeclarations":[null],"referencedDeclaration":1589,"type":"function () pure returns (bytes32)","value":"keccak256"},"id":685,"name":"Identifier","src":"12385:9:0"},{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"isStructConstructorCall":false,"lValueRequested":false,"names":[null],"type":"bytes memory","type_conversion":false},"children":[{"attributes":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"member_name":"encodePacked","referencedDeclaration":null,"type":"function () pure returns (bytes memory)"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":1582,"type":"abi","value":"abi"},"id":686,"name":"Identifier","src":"12395:3:0"}],"id":687,"name":"MemberAccess","src":"12395:16:0"},{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"isStructConstructorCall":false,"lValueRequested":false,"names":[null],"type":"bytes32","type_conversion":false},"children":[{"attributes":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"overloadedDeclarations":[null],"referencedDeclaration":1586,"type":"function (uint256) view returns (bytes32)","value":"blockhash"},"id":688,"name":"Identifier","src":"12412:9:0"},{"attributes":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"operator":"-","type":"uint256"},"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"member_name":"number","referencedDeclaration":null,"type":"uint256"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":1585,"type":"block","value":"block"},"id":689,"name":"Identifier","src":"12422:5:0"}],"id":690,"name":"MemberAccess","src":"12422:12:0"},{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"operator":"++","prefix":false,"type":"uint8"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":334,"type":"uint8","value":"nonce"},"id":691,"name":"Identifier","src":"12437:5:0"}],"id":692,"name":"UnaryOperation","src":"12437:7:0"}],"id":693,"name":"BinaryOperation","src":"12422:22:0"}],"id":694,"name":"FunctionCall","src":"12412:33:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":672,"type":"address","value":"account"},"id":695,"name":"Identifier","src":"12447:7:0"}],"id":696,"name":"FunctionCall","src":"12395:60:0"}],"id":697,"name":"FunctionCall","src":"12385:71:0"}],"id":698,"name":"FunctionCall","src":"12377:80:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":678,"type":"uint8","value":"maxValue"},"id":699,"name":"Identifier","src":"12460:8:0"}],"id":700,"name":"BinaryOperation","src":"12377:91:0"}],"id":701,"name":"FunctionCall","src":"12371:98:0"}],"id":702,"name":"VariableDeclarationStatement","src":"12356:113:0"},{"attributes":{"falseBody":null},"children":[{"attributes":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"operator":">","type":"bool"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":334,"type":"uint8","value":"nonce"},"id":703,"name":"Identifier","src":"12484:5:0"},{"attributes":{"argumentTypes":null,"hexvalue":"323530","isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"subdenomination":null,"token":"number","type":"int_const 250","value":"250"},"id":704,"name":"Literal","src":"12492:3:0"}],"id":705,"name":"BinaryOperation","src":"12484:11:0"},{"children":[{"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"operator":"=","type":"uint8"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":334,"type":"uint8","value":"nonce"},"id":706,"name":"Identifier","src":"12511:5:0"},{"attributes":{"argumentTypes":null,"hexvalue":"30","isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"subdenomination":null,"token":"number","type":"int_const 0","value":"0"},"id":707,"name":"Literal","src":"12519:1:0"}],"id":708,"name":"Assignment","src":"12511:9:0"}],"id":709,"name":"ExpressionStatement","src":"12511:9:0"}],"id":710,"name":"Block","src":"12497:97:0"}],"id":711,"name":"IfStatement","src":"12480:114:0"},{"attributes":{"functionReturnParameters":676},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":682,"type":"uint8","value":"random"},"id":712,"name":"Identifier","src":"12611:6:0"}],"id":713,"name":"Return","src":"12604:13:0"}],"id":714,"name":"Block","src":"12244:380:0"}],"id":715,"name":"FunctionDefinition","src":"12178:446:0"}],"id":716,"name":"ContractDefinition","src":"636:12005:0"}],"id":717,"name":"SourceUnit","src":"0:12642:0"},"compiler":{"name":"solc","version":"0.4.26+commit.4563c3fc.Emscripten.clang"},"networks":{"5777":{"events":{},"links":{},"address":"0x247383C5276fa02d720468B11087B7EA4A9dBC35","transactionHash":"0x4d26614c10da33ac19f9adf7c2ee9c5c747d84ab05b93787c02e903dd1194277"}},"schemaVersion":"3.4.1","updatedAt":"2021-08-14T11:35:45.025Z","networkType":"ethereum","devdoc":{"methods":{"buy(address,string)":{"details":"Called when user wants to buy flight insurance     "},"fund(address)":{"details":"An airline has to provide fund to register other airilines.     "},"getFlightNumbers()":{"details":"Gets the flight numbers     "},"registerAirline(address)":{"details":"Add an airline to the registration queue    "},"registerFlight(address,string,uint256)":{"details":"Register a future flight for insuring.    "},"withdraw()":{"details":"Called after oracle has updated flight status     "}}},"userdoc":{"methods":{"isOperational()":{"notice":"*****************************************************************************************"}}}}')},"./src/server/config.json":function(e){e.exports=JSON.parse('{"localhost":{"url":"http://127.0.0.1:9545","dataAddress":"0xF6a883c4A25f2757C8Cb13613e785FC7D523355C","appAddress":"0x247383C5276fa02d720468B11087B7EA4A9dBC35"}}')}};