'use strict'
Object.defineProperty(exports, '__esModule', { value: true })
const contract = require('@truffle/contract')
const VRFConsumer = contract({
 "contractName": "VRFConsumer",
 "abi": [
  {
   "inputs": [
    {
     "internalType": "address",
     "name": "_vrfCoordinator",
     "type": "address"
    },
    {
     "internalType": "address",
     "name": "_link",
     "type": "address"
    }
   ],
   "stateMutability": "nonpayable",
   "type": "constructor"
  },
  {
   "inputs": [
    {
     "internalType": "bytes32",
     "name": "_requestId",
     "type": "bytes32"
    },
    {
     "internalType": "uint256",
     "name": "_randomness",
     "type": "uint256"
    }
   ],
   "name": "fulfillRandomness",
   "outputs": [],
   "stateMutability": "nonpayable",
   "type": "function"
  },
  {
   "inputs": [
    {
     "internalType": "bytes32",
     "name": "",
     "type": "bytes32"
    }
   ],
   "name": "nonces",
   "outputs": [
    {
     "internalType": "uint256",
     "name": "",
     "type": "uint256"
    }
   ],
   "stateMutability": "view",
   "type": "function"
  },
  {
   "inputs": [],
   "name": "randomnessOutput",
   "outputs": [
    {
     "internalType": "uint256",
     "name": "",
     "type": "uint256"
    }
   ],
   "stateMutability": "view",
   "type": "function"
  },
  {
   "inputs": [],
   "name": "requestId",
   "outputs": [
    {
     "internalType": "bytes32",
     "name": "",
     "type": "bytes32"
    }
   ],
   "stateMutability": "view",
   "type": "function"
  },
  {
   "inputs": [
    {
     "internalType": "bytes32",
     "name": "_keyHash",
     "type": "bytes32"
    },
    {
     "internalType": "uint256",
     "name": "_fee",
     "type": "uint256"
    },
    {
     "internalType": "uint256",
     "name": "_seed",
     "type": "uint256"
    }
   ],
   "name": "requestRandomness",
   "outputs": [
    {
     "internalType": "bytes32",
     "name": "requestId",
     "type": "bytes32"
    }
   ],
   "stateMutability": "nonpayable",
   "type": "function"
  }
 ],
 "evm": {
  "bytecode": {
   "linkReferences": {},
   "object": "0x608060405234801561001057600080fd5b506040516104663803806104668339818101604052604081101561003357600080fd5b508051602090910151600180546001600160a01b039384166001600160a01b031991821617909155600080549390921692169190911790556103ec8061007a6000396000f3fe608060405234801561001057600080fd5b50600436106100665760003560e01c80632f47fd86116100505780632f47fd86146100aa5780639e317f12146100b2578063dc6cfe10146100cf57610066565b80626d6cae1461006b5780631f1f897f14610085575b600080fd5b6100736100f8565b60408051918252519081900360200190f35b6100a86004803603604081101561009b57600080fd5b50803590602001356100fe565b005b610073610106565b610073600480360360208110156100c857600080fd5b503561010c565b610073600480360360608110156100e557600080fd5b508035906020810135906040013561011e565b60045481565b600355600455565b60035481565b60026020526000908152604090205481565b600080546001546040805160208082018990528183018790528251808303840181526060808401948590527f4000aea00000000000000000000000000000000000000000000000000000000090945273ffffffffffffffffffffffffffffffffffffffff94851660648401818152608485018b905260a48501958652825160c486015282519690971696634000aea09691958b9593949193909260e4909101918501908083838d5b838110156101de5781810151838201526020016101c6565b50505050905090810190601f16801561020b5780820380516001836020036101000a031916815260200191505b50945050505050602060405180830381600087803b15801561022c57600080fd5b505af1158015610240573d6000803e3d6000fd5b505050506040513d602081101561025657600080fd5b5050600084815260026020526040812054610276908690859030906102bb565b60008681526002602052604090205490915061029990600163ffffffff61030f16565b6000868152600260205260409020556102b2858261038a565b95945050505050565b604080516020808201969096528082019490945273ffffffffffffffffffffffffffffffffffffffff9290921660608401526080808401919091528151808403909101815260a09092019052805191012090565b60008282018381101561038357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b60408051602080820194909452808201929092528051808303820181526060909201905280519101209056fea26469706673582212209ddeea82e57301e717c4766a7f16cf46a232bc6d0dcdc6990aa85b1c2539061a64736f6c63430006060033",
   "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH2 0x466 CODESIZE SUB DUP1 PUSH2 0x466 DUP4 CODECOPY DUP2 DUP2 ADD PUSH1 0x40 MSTORE PUSH1 0x40 DUP2 LT ISZERO PUSH2 0x33 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP DUP1 MLOAD PUSH1 0x20 SWAP1 SWAP2 ADD MLOAD PUSH1 0x1 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP4 DUP5 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP2 DUP3 AND OR SWAP1 SWAP2 SSTORE PUSH1 0x0 DUP1 SLOAD SWAP4 SWAP1 SWAP3 AND SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE PUSH2 0x3EC DUP1 PUSH2 0x7A PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x66 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x2F47FD86 GT PUSH2 0x50 JUMPI DUP1 PUSH4 0x2F47FD86 EQ PUSH2 0xAA JUMPI DUP1 PUSH4 0x9E317F12 EQ PUSH2 0xB2 JUMPI DUP1 PUSH4 0xDC6CFE10 EQ PUSH2 0xCF JUMPI PUSH2 0x66 JUMP JUMPDEST DUP1 PUSH3 0x6D6CAE EQ PUSH2 0x6B JUMPI DUP1 PUSH4 0x1F1F897F EQ PUSH2 0x85 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x73 PUSH2 0xF8 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP2 DUP3 MSTORE MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 RETURN JUMPDEST PUSH2 0xA8 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0x9B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD CALLDATALOAD PUSH2 0xFE JUMP JUMPDEST STOP JUMPDEST PUSH2 0x73 PUSH2 0x106 JUMP JUMPDEST PUSH2 0x73 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0xC8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD PUSH2 0x10C JUMP JUMPDEST PUSH2 0x73 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x60 DUP2 LT ISZERO PUSH2 0xE5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 DUP2 ADD CALLDATALOAD SWAP1 PUSH1 0x40 ADD CALLDATALOAD PUSH2 0x11E JUMP JUMPDEST PUSH1 0x4 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x3 SSTORE PUSH1 0x4 SSTORE JUMP JUMPDEST PUSH1 0x3 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x1 SLOAD PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 DUP1 DUP3 ADD DUP10 SWAP1 MSTORE DUP2 DUP4 ADD DUP8 SWAP1 MSTORE DUP3 MLOAD DUP1 DUP4 SUB DUP5 ADD DUP2 MSTORE PUSH1 0x60 DUP1 DUP5 ADD SWAP5 DUP6 SWAP1 MSTORE PUSH32 0x4000AEA000000000000000000000000000000000000000000000000000000000 SWAP1 SWAP5 MSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP5 DUP6 AND PUSH1 0x64 DUP5 ADD DUP2 DUP2 MSTORE PUSH1 0x84 DUP6 ADD DUP12 SWAP1 MSTORE PUSH1 0xA4 DUP6 ADD SWAP6 DUP7 MSTORE DUP3 MLOAD PUSH1 0xC4 DUP7 ADD MSTORE DUP3 MLOAD SWAP7 SWAP1 SWAP8 AND SWAP7 PUSH4 0x4000AEA0 SWAP7 SWAP2 SWAP6 DUP12 SWAP6 SWAP4 SWAP5 SWAP2 SWAP4 SWAP1 SWAP3 PUSH1 0xE4 SWAP1 SWAP2 ADD SWAP2 DUP6 ADD SWAP1 DUP1 DUP4 DUP4 DUP14 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1DE JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x1C6 JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 DUP2 ADD SWAP1 PUSH1 0x1F AND DUP1 ISZERO PUSH2 0x20B JUMPI DUP1 DUP3 SUB DUP1 MLOAD PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB NOT AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP JUMPDEST POP SWAP5 POP POP POP POP POP PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x22C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x240 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x256 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD PUSH2 0x276 SWAP1 DUP7 SWAP1 DUP6 SWAP1 ADDRESS SWAP1 PUSH2 0x2BB JUMP JUMPDEST PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 SWAP2 POP PUSH2 0x299 SWAP1 PUSH1 0x1 PUSH4 0xFFFFFFFF PUSH2 0x30F AND JUMP JUMPDEST PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SSTORE PUSH2 0x2B2 DUP6 DUP3 PUSH2 0x38A JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 DUP1 DUP3 ADD SWAP7 SWAP1 SWAP7 MSTORE DUP1 DUP3 ADD SWAP5 SWAP1 SWAP5 MSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP3 SWAP1 SWAP3 AND PUSH1 0x60 DUP5 ADD MSTORE PUSH1 0x80 DUP1 DUP5 ADD SWAP2 SWAP1 SWAP2 MSTORE DUP2 MLOAD DUP1 DUP5 SUB SWAP1 SWAP2 ADD DUP2 MSTORE PUSH1 0xA0 SWAP1 SWAP3 ADD SWAP1 MSTORE DUP1 MLOAD SWAP2 ADD KECCAK256 SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 ADD DUP4 DUP2 LT ISZERO PUSH2 0x383 JUMPI PUSH1 0x40 DUP1 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1B PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x536166654D6174683A206164646974696F6E206F766572666C6F770000000000 PUSH1 0x44 DUP3 ADD MSTORE SWAP1 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x64 ADD SWAP1 REVERT JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 DUP1 DUP3 ADD SWAP5 SWAP1 SWAP5 MSTORE DUP1 DUP3 ADD SWAP3 SWAP1 SWAP3 MSTORE DUP1 MLOAD DUP1 DUP4 SUB DUP3 ADD DUP2 MSTORE PUSH1 0x60 SWAP1 SWAP3 ADD SWAP1 MSTORE DUP1 MLOAD SWAP2 ADD KECCAK256 SWAP1 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP14 0xDE 0xEA DUP3 0xE5 PUSH20 0x1E717C4766A7F16CF46A232BC6D0DCDC6990AA8 JUMPDEST SHR 0x25 CODECOPY MOD BYTE PUSH5 0x736F6C6343 STOP MOD MOD STOP CALLER ",
   "sourceMap": "137:443:43:-:0;;;246:167;5:9:-1;2:2;;;27:1;24;17:12;2:2;246:167:43;;;;;;;;;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;246:167:43;;;;;;;6750:14:19;:32;;-1:-1:-1;;;;;6750:32:19;;;-1:-1:-1;;;;;;6750:32:19;;;;;;;:14;6788:32;;;;;;;;;;;;;;137:443:43;;;;;;"
  },
  "deployedBytecode": {
   "immutableReferences": {},
   "linkReferences": {},
   "object": "0x608060405234801561001057600080fd5b50600436106100665760003560e01c80632f47fd86116100505780632f47fd86146100aa5780639e317f12146100b2578063dc6cfe10146100cf57610066565b80626d6cae1461006b5780631f1f897f14610085575b600080fd5b6100736100f8565b60408051918252519081900360200190f35b6100a86004803603604081101561009b57600080fd5b50803590602001356100fe565b005b610073610106565b610073600480360360208110156100c857600080fd5b503561010c565b610073600480360360608110156100e557600080fd5b508035906020810135906040013561011e565b60045481565b600355600455565b60035481565b60026020526000908152604090205481565b600080546001546040805160208082018990528183018790528251808303840181526060808401948590527f4000aea00000000000000000000000000000000000000000000000000000000090945273ffffffffffffffffffffffffffffffffffffffff94851660648401818152608485018b905260a48501958652825160c486015282519690971696634000aea09691958b9593949193909260e4909101918501908083838d5b838110156101de5781810151838201526020016101c6565b50505050905090810190601f16801561020b5780820380516001836020036101000a031916815260200191505b50945050505050602060405180830381600087803b15801561022c57600080fd5b505af1158015610240573d6000803e3d6000fd5b505050506040513d602081101561025657600080fd5b5050600084815260026020526040812054610276908690859030906102bb565b60008681526002602052604090205490915061029990600163ffffffff61030f16565b6000868152600260205260409020556102b2858261038a565b95945050505050565b604080516020808201969096528082019490945273ffffffffffffffffffffffffffffffffffffffff9290921660608401526080808401919091528151808403909101815260a09092019052805191012090565b60008282018381101561038357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b60408051602080820194909452808201929092528051808303820181526060909201905280519101209056fea26469706673582212209ddeea82e57301e717c4766a7f16cf46a232bc6d0dcdc6990aa85b1c2539061a64736f6c63430006060033",
   "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x66 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x2F47FD86 GT PUSH2 0x50 JUMPI DUP1 PUSH4 0x2F47FD86 EQ PUSH2 0xAA JUMPI DUP1 PUSH4 0x9E317F12 EQ PUSH2 0xB2 JUMPI DUP1 PUSH4 0xDC6CFE10 EQ PUSH2 0xCF JUMPI PUSH2 0x66 JUMP JUMPDEST DUP1 PUSH3 0x6D6CAE EQ PUSH2 0x6B JUMPI DUP1 PUSH4 0x1F1F897F EQ PUSH2 0x85 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x73 PUSH2 0xF8 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP2 DUP3 MSTORE MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 RETURN JUMPDEST PUSH2 0xA8 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0x9B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD CALLDATALOAD PUSH2 0xFE JUMP JUMPDEST STOP JUMPDEST PUSH2 0x73 PUSH2 0x106 JUMP JUMPDEST PUSH2 0x73 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0xC8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD PUSH2 0x10C JUMP JUMPDEST PUSH2 0x73 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x60 DUP2 LT ISZERO PUSH2 0xE5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 DUP2 ADD CALLDATALOAD SWAP1 PUSH1 0x40 ADD CALLDATALOAD PUSH2 0x11E JUMP JUMPDEST PUSH1 0x4 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x3 SSTORE PUSH1 0x4 SSTORE JUMP JUMPDEST PUSH1 0x3 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x1 SLOAD PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 DUP1 DUP3 ADD DUP10 SWAP1 MSTORE DUP2 DUP4 ADD DUP8 SWAP1 MSTORE DUP3 MLOAD DUP1 DUP4 SUB DUP5 ADD DUP2 MSTORE PUSH1 0x60 DUP1 DUP5 ADD SWAP5 DUP6 SWAP1 MSTORE PUSH32 0x4000AEA000000000000000000000000000000000000000000000000000000000 SWAP1 SWAP5 MSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP5 DUP6 AND PUSH1 0x64 DUP5 ADD DUP2 DUP2 MSTORE PUSH1 0x84 DUP6 ADD DUP12 SWAP1 MSTORE PUSH1 0xA4 DUP6 ADD SWAP6 DUP7 MSTORE DUP3 MLOAD PUSH1 0xC4 DUP7 ADD MSTORE DUP3 MLOAD SWAP7 SWAP1 SWAP8 AND SWAP7 PUSH4 0x4000AEA0 SWAP7 SWAP2 SWAP6 DUP12 SWAP6 SWAP4 SWAP5 SWAP2 SWAP4 SWAP1 SWAP3 PUSH1 0xE4 SWAP1 SWAP2 ADD SWAP2 DUP6 ADD SWAP1 DUP1 DUP4 DUP4 DUP14 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1DE JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x1C6 JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 DUP2 ADD SWAP1 PUSH1 0x1F AND DUP1 ISZERO PUSH2 0x20B JUMPI DUP1 DUP3 SUB DUP1 MLOAD PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB NOT AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP JUMPDEST POP SWAP5 POP POP POP POP POP PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x22C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x240 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x256 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD PUSH2 0x276 SWAP1 DUP7 SWAP1 DUP6 SWAP1 ADDRESS SWAP1 PUSH2 0x2BB JUMP JUMPDEST PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 SWAP2 POP PUSH2 0x299 SWAP1 PUSH1 0x1 PUSH4 0xFFFFFFFF PUSH2 0x30F AND JUMP JUMPDEST PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SSTORE PUSH2 0x2B2 DUP6 DUP3 PUSH2 0x38A JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 DUP1 DUP3 ADD SWAP7 SWAP1 SWAP7 MSTORE DUP1 DUP3 ADD SWAP5 SWAP1 SWAP5 MSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP3 SWAP1 SWAP3 AND PUSH1 0x60 DUP5 ADD MSTORE PUSH1 0x80 DUP1 DUP5 ADD SWAP2 SWAP1 SWAP2 MSTORE DUP2 MLOAD DUP1 DUP5 SUB SWAP1 SWAP2 ADD DUP2 MSTORE PUSH1 0xA0 SWAP1 SWAP3 ADD SWAP1 MSTORE DUP1 MLOAD SWAP2 ADD KECCAK256 SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 ADD DUP4 DUP2 LT ISZERO PUSH2 0x383 JUMPI PUSH1 0x40 DUP1 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1B PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x536166654D6174683A206164646974696F6E206F766572666C6F770000000000 PUSH1 0x44 DUP3 ADD MSTORE SWAP1 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x64 ADD SWAP1 REVERT JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 DUP1 DUP3 ADD SWAP5 SWAP1 SWAP5 MSTORE DUP1 DUP3 ADD SWAP3 SWAP1 SWAP3 MSTORE DUP1 MLOAD DUP1 DUP4 SUB DUP3 ADD DUP2 MSTORE PUSH1 0x60 SWAP1 SWAP3 ADD SWAP1 MSTORE DUP1 MLOAD SWAP2 ADD KECCAK256 SWAP1 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP14 0xDE 0xEA DUP3 0xE5 PUSH20 0x1E717C4766A7F16CF46A232BC6D0DCDC6990AA8 JUMPDEST SHR 0x25 CODECOPY MOD BYTE PUSH5 0x736F6C6343 STOP MOD MOD STOP CALLER ",
   "sourceMap": "137:443:43:-:0;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;137:443:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12:1:-1;9;2:12;217:24:43;;;:::i;:::-;;;;;;;;;;;;;;;;417:161;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;417:161:43;;;;;;;:::i;:::-;;182:31;;;:::i;6614:67:19:-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;6614:67:19;;:::i;5747:656::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;5747:656:19;;;;;;;;;;;;:::i;217:24:43:-;;;;:::o;417:161::-;515:16;:30;551:9;:22;417:161::o;182:31::-;;;;:::o;6614:67:19:-;;;;;;;;;;;;;:::o;5747:656::-;5841:17;5868:4;;;5889:14;5911:27;;;;;;;;;;;;;;;;;;26:21:-1;;;22:32;;6:49;;5911:27:19;;;;;;;;5868:71;;;;:4;5889:14;;;5868:71;;;;;;;;;;;;;;;;;;;;;;;;;;:4;;;;;:20;;5889:14;;5905:4;;5911:27;;5868:71;;;;;;;;;;;;;;;5841:17;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;5868:71:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;5868:71:19;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5868:71:19;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;6014:15:19;6082:16;;;:6;5868:71;6082:16;;;;;6033:66;;6050:8;;6060:5;;6075:4;;6033:16;:66::i;:::-;6329:16;;;;:6;:16;;;;;;6014:85;;-1:-1:-1;6329:23:19;;6350:1;6329:23;:20;:23;:::i;:::-;6310:16;;;;:6;:16;;;;;:42;6366:32;6317:8;6390:7;6366:13;:32::i;:::-;6359:39;5747:656;-1:-1:-1;;;;;5747:656:19:o;1094:231:21:-;1267:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;1267:51:21;;;;;;1257:62;;;;;;1094:231::o;822:162:50:-;880:7;907:5;;;926:6;;;;918:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;978:1;822:162;-1:-1:-1;;;822:162:50:o;1705:171:21:-;1829:41;;;;;;;;;;;;;;;;;;;;26:21:-1;;;22:32;;6:49;;1829:41:21;;;;;;1819:52;;;;;;1705:171::o"
  },
  "methodIdentifiers": {
   "fulfillRandomness(bytes32,uint256)": "1f1f897f",
   "nonces(bytes32)": "9e317f12",
   "randomnessOutput()": "2f47fd86",
   "requestId()": "006d6cae",
   "requestRandomness(bytes32,uint256,uint256)": "dc6cfe10"
  }
 },
 "metadata": "{\"compiler\":{\"version\":\"0.6.6+commit.6c089d02\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vrfCoordinator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_link\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_requestId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"_randomness\",\"type\":\"uint256\"}],\"name\":\"fulfillRandomness\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"nonces\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"randomnessOutput\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"requestId\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_keyHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"_fee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_seed\",\"type\":\"uint256\"}],\"name\":\"requestRandomness\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"requestId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{\"requestRandomness(bytes32,uint256,uint256)\":{\"details\":\"The source of the seed data must be something which the oraclecannot anticipate. See \\\"SECURITY CONSIDERATIONS\\\" above.The fulfillRandomness method receives the output, once it's providedby the Oracle, and verified by the vrfCoordinator.The _keyHash must already be registered with the VRFCoordinator, andthe _fee must exceed the fee specified during registration of the_keyHash.The returned requestId can be used to distinguish responses to *concurrent requests. It is passed as the first argument tofulfillRandomness.\",\"params\":{\"_fee\":\"The amount of LINK to send with the request\",\"_keyHash\":\"ID of public key against which randomness is generated\",\"_seed\":\"Random seed from which output randomness is determined\"},\"returns\":{\"requestId\":\"which will be returned with the response to this request\"}}}},\"userdoc\":{\"methods\":{\"requestRandomness(bytes32,uint256,uint256)\":{\"notice\":\"requestRandomness initiates a request for VRF output given _seed\"}}}},\"settings\":{\"compilationTarget\":{\"/Users/steve/workspace/chainlink/evm-contracts/src/v0.6/tests/VRFConsumer.sol\":\"VRFConsumer\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000000},\"remappings\":[]},\"sources\":{\"/Users/steve/workspace/chainlink/evm-contracts/src/v0.6/VRF.sol\":{\"keccak256\":\"0x064fd513b2a85b1700de24f9f0b7e6e1b8d8213f1817dad8c09647e1f6e5b518\",\"urls\":[\"bzz-raw://f87a86ab1a35665ec8922bdbe7ff2b2286e9f67e399ad6548bb125a7689ddbbd\",\"dweb:/ipfs/QmQAXdMxRTAgbUCVVAqYBZHDXy36wotkqASLp1tULqr6qM\"]},\"/Users/steve/workspace/chainlink/evm-contracts/src/v0.6/VRFConsumerBase.sol\":{\"keccak256\":\"0x4f11454a9aba62b25892d9af59978ca58de6822557fa8bee0fda539753bde9c4\",\"urls\":[\"bzz-raw://5fae6206696737d560cc59e3e9c84f40653492fd518e63f788875c28f87701ba\",\"dweb:/ipfs/QmPpvoqmBzudwDkttV5Csyfz6Ac66HvG1waaSwMrPrHjgi\"]},\"/Users/steve/workspace/chainlink/evm-contracts/src/v0.6/VRFCoordinator.sol\":{\"keccak256\":\"0xc258f36ee0c73e42ebbe08a1424691f9581da258e4f9c4f024ec37763f324d0b\",\"urls\":[\"bzz-raw://1e57d85cb7ce7d8ae7f5f6bf43ddeb2e98c226f27518c7e17c53bc50b10191ed\",\"dweb:/ipfs/QmZ5jBzwbtvM2zQBx8PKytZcdPoC7qXLQLeQh5siSJAFFk\"]},\"/Users/steve/workspace/chainlink/evm-contracts/src/v0.6/VRFRequestIDBase.sol\":{\"keccak256\":\"0x99e84f71d4067f8d29474689feb5b6d90f5c2370ebe526161dd6fe709a3947c3\",\"urls\":[\"bzz-raw://39734dd8285c00d507c5b99532dca93feb7984abd5e2a3e2e0724e25236bbca9\",\"dweb:/ipfs/QmNWLCgTUB9TWJgm7ZMumfDYDUnTnWnss5T4GLCzQsgxH1\"]},\"/Users/steve/workspace/chainlink/evm-contracts/src/v0.6/interfaces/LinkTokenInterface.sol\":{\"keccak256\":\"0xdbf46b45a4c9f38ba71a0391aed0e7b108854b619f292d907ae537228868bda6\",\"urls\":[\"bzz-raw://3ae40466809630c4731e2e3a697d6885727c577aaf260766c8a2f534ad3f6ee8\",\"dweb:/ipfs/QmTzpN5yP4Y5jvQ1ohfXFrce3sjzUiSChYJgZj9VvhVohG\"]},\"/Users/steve/workspace/chainlink/evm-contracts/src/v0.6/tests/VRFConsumer.sol\":{\"keccak256\":\"0x758279d35148a02aeaf48f06ace11fa1ddef91122af824dcb735a239be8aee12\",\"urls\":[\"bzz-raw://6618ac8695f46cb3c8130ce568c43dd8cdc463c5f72bebf2cf1898d885c80fa9\",\"dweb:/ipfs/QmcB7EN5hcR7AnnGoNVFMGdBH3cRKno5AjCvwDzii92bj4\"]},\"/Users/steve/workspace/chainlink/evm-contracts/src/v0.6/vendor/SafeMath.sol\":{\"keccak256\":\"0x95dbe2dd5ab8682b99bc3d7d297b621d4237442da160f78d3323ee5c4a06ded3\",\"urls\":[\"bzz-raw://d753308ff4eb43fba6f9ede371a33f707c5818350770dcb078a7d78ac8251361\",\"dweb:/ipfs/Qme64eYKWoTQiP3WhqGHoMqrENNZ9L8SdBLQ2hx5SmzUda\"]}},\"version\":1}"
})

if (process.env.NODE_ENV === 'test') {
  try {
    eval('VRFConsumer.setProvider(web3.currentProvider)')
  } catch (e) {}
}

exports.VRFConsumer = VRFConsumer
