Overview ERC1155
Total Supply:
0

Holders:
1
Profile Summary
Blockchain:
Sepolia (11155111)

Contract Source Code Verified (Partial Match)
Contract Name:
TestingERC1155

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
Yes with 200 runs

Created At:
Mon, 14 Aug 2023 21:50:12 GMT
CarbonOffsets.sol
src
CarbonOffsets.sol


Contract ABI
[
  {
    "inputs": [
      {
        "internalType": "string",
        "name": "_uri",
        "type": "string"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "constructor"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": false,
        "internalType": "address",
        "name": "operators",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "address",
        "name": "from",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "uint256[]",
        "name": "ids",
        "type": "uint256[]"
      },
      {
        "indexed": false,
        "internalType": "uint256[]",
        "name": "amounts",
        "type": "uint256[]"
      }
    ],
    "name": "AfterBurn",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "account",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "operator",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "bool",
        "name": "approved",
        "type": "bool"
      }
    ],
    "name": "ApprovalForAll",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "previousOwner",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "newOwner",
        "type": "address"
      }
    ],
    "name": "OwnershipTransferred",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "operator",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "from",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "to",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "uint256[]",
        "name": "ids",
        "type": "uint256[]"
      },
      {
        "indexed": false,
        "internalType": "uint256[]",
        "name": "values",
        "type": "uint256[]"
      }
    ],
    "name": "TransferBatch",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "operator",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "from",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "to",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "id",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "value",
        "type": "uint256"
      }
    ],
    "name": "TransferSingle",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": false,
        "internalType": "string",
        "name": "value",
        "type": "string"
      },
      {
        "indexed": true,
        "internalType": "uint256",
        "name": "id",
        "type": "uint256"
      }
    ],
    "name": "URI",
    "type": "event"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "account",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "id",
        "type": "uint256"
      }
    ],
    "name": "balanceOf",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address[]",
        "name": "accounts",
        "type": "address[]"
      },
      {
        "internalType": "uint256[]",
        "name": "ids",
        "type": "uint256[]"
      }
    ],
    "name": "balanceOfBatch",
    "outputs": [
      {
        "internalType": "uint256[]",
        "name": "",
        "type": "uint256[]"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "account",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "id",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "value",
        "type": "uint256"
      }
    ],
    "name": "burn",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "account",
        "type": "address"
      },
      {
        "internalType": "uint256[]",
        "name": "ids",
        "type": "uint256[]"
      },
      {
        "internalType": "uint256[]",
        "name": "values",
        "type": "uint256[]"
      }
    ],
    "name": "burnBatch",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "factoryContract",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "_tokenAddress",
        "type": "address"
      }
    ],
    "name": "initializeTestToken",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "account",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "operator",
        "type": "address"
      }
    ],
    "name": "isApprovedForAll",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "_to",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "_id",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "_amount",
        "type": "uint256"
      }
    ],
    "name": "mint",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "_to",
        "type": "address"
      },
      {
        "internalType": "uint256[]",
        "name": "_ids",
        "type": "uint256[]"
      },
      {
        "internalType": "uint256[]",
        "name": "_amounts",
        "type": "uint256[]"
      }
    ],
    "name": "mintBatch",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "owner",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "renounceOwnership",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "from",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "to",
        "type": "address"
      },
      {
        "internalType": "uint256[]",
        "name": "ids",
        "type": "uint256[]"
      },
      {
        "internalType": "uint256[]",
        "name": "amounts",
        "type": "uint256[]"
      },
      {
        "internalType": "bytes",
        "name": "data",
        "type": "bytes"
      }
    ],
    "name": "safeBatchTransferFrom",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "from",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "to",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "id",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "amount",
        "type": "uint256"
      },
      {
        "internalType": "bytes",
        "name": "data",
        "type": "bytes"
      }
    ],
    "name": "safeTransferFrom",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "operator",
        "type": "address"
      },
      {
        "internalType": "bool",
        "name": "approved",
        "type": "bool"
      }
    ],
    "name": "setApprovalForAll",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "string",
        "name": "tokenURI",
        "type": "string"
      }
    ],
    "name": "setBaseURI",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "tokenId",
        "type": "uint256"
      },
      {
        "internalType": "string",
        "name": "tokenURI",
        "type": "string"
      }
    ],
    "name": "setUri",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "bytes4",
        "name": "interfaceId",
        "type": "bytes4"
      }
    ],
    "name": "supportsInterface",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "testToken",
    "outputs": [
      {
        "internalType": "contract TestToken",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "newOwner",
        "type": "address"
      }
    ],
    "name": "transferOwnership",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "_id",
        "type": "uint256"
      }
    ],
    "name": "uri",
    "outputs": [
      {
        "internalType": "string",
        "name": "",
        "type": "string"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  }
]


Contract Creation Code
60a0604052600060809081526003906200001a90826200018c565b503480156200002857600080fd5b506040516200274c3803806200274c8339810160408190526200004b9162000258565b80620000578162000075565b50620000633362000087565b6200006e81620000d9565b506200032d565b60026200008382826200018c565b5050565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60036200008382826200018c565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200011257607f821691505b6020821081036200013357634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200018757600081815260208120601f850160051c81016020861015620001625750805b601f850160051c820191505b8181101562000183578281556001016200016e565b5050505b505050565b81516001600160401b03811115620001a857620001a8620000e7565b620001c081620001b98454620000fd565b8462000139565b602080601f831160018114620001f85760008415620001df5750858301515b600019600386901b1c1916600185901b17855562000183565b600085815260208120601f198616915b82811015620002295788860151825594840194600190910190840162000208565b5085821015620002485787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060208083850312156200026c57600080fd5b82516001600160401b03808211156200028457600080fd5b818501915085601f8301126200029957600080fd5b815181811115620002ae57620002ae620000e7565b604051601f8201601f19908116603f01168101908382118183101715620002d957620002d9620000e7565b816040528281528886848701011115620002f257600080fd5b600093505b82841015620003165784840186015181850187015292850192620002f7565b600086848301015280965050505050505092915050565b61240f806200033d6000396000f3fe608060405234801561001057600080fd5b506004361061012b5760003560e01c8063782f08ae116100ad578063e985e9c511610071578063e985e9c514610297578063eee00551146102d3578063f242432a146102e6578063f2fde38b146102f9578063f5298aca1461030c57600080fd5b8063782f08ae1461023a5780638da5cb5b1461024d578063a22cb4651461025e578063d81d0a1514610271578063de11c94a1461028457600080fd5b80634e1273f4116100f45780634e1273f4146101c157806355f804b3146101e15780636895179d146101f45780636b20c4541461021f578063715018a61461023257600080fd5b8062fdd58e1461013057806301ffc9a7146101565780630e89341c14610179578063156e29f6146101995780632eb2c2d6146101ac575b600080fd5b61014361013e366004611765565b61031f565b6040519081526020015b60405180910390f35b6101696101643660046117a5565b6103b8565b604051901515815260200161014d565b61018c6101873660046117c2565b610408565b60405161014d919061182b565b6101436101a736600461183e565b610413565b6101bf6101ba3660046119bd565b610440565b005b6101d46101cf366004611a67565b61048c565b60405161014d9190611b6d565b6101bf6101ef366004611b80565b6105b6565b600654610207906001600160a01b031681565b6040516001600160a01b03909116815260200161014d565b6101bf61022d366004611bbd565b6105ca565b6101bf610612565b6101bf610248366004611c31565b610626565b6005546001600160a01b0316610207565b6101bf61026c366004611c7c565b61063c565b6101bf61027f366004611bbd565b610647565b600754610207906001600160a01b031681565b6101696102a5366004611cb3565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205460ff1690565b6101bf6102e1366004611ce6565b61066a565b6101bf6102f4366004611d01565b610694565b6101bf610307366004611ce6565b6106d9565b6101bf61031a36600461183e565b61074f565b60006001600160a01b03831661038f5760405162461bcd60e51b815260206004820152602a60248201527f455243313135353a2061646472657373207a65726f206973206e6f742061207660448201526930b634b21037bbb732b960b11b60648201526084015b60405180910390fd5b506000818152602081815260408083206001600160a01b03861684529091529020545b92915050565b60006001600160e01b03198216636cdb3d1360e11b14806103e957506001600160e01b031982166303a24d0760e21b145b806103b257506301ffc9a760e01b6001600160e01b03198316146103b2565b60606103b282610792565b600061041d610872565b610438848484604051806020016040528060008152506108cc565b509092915050565b6001600160a01b03851633148061045c575061045c85336102a5565b6104785760405162461bcd60e51b815260040161038690611d66565b61048585858585856109b5565b5050505050565b606081518351146104f15760405162461bcd60e51b815260206004820152602960248201527f455243313135353a206163636f756e747320616e6420696473206c656e677468604482015268040dad2e6dac2e8c6d60bb1b6064820152608401610386565b6000835167ffffffffffffffff81111561050d5761050d611871565b604051908082528060200260200182016040528015610536578160200160208202803683370190505b50905060005b84518110156105ae5761058185828151811061055a5761055a611db4565b602002602001015185838151811061057457610574611db4565b602002602001015161031f565b82828151811061059357610593611db4565b60209081029190910101526105a781611de0565b905061053c565b509392505050565b6105be610872565b6105c781610b5f565b50565b6001600160a01b0383163314806105e657506105e683336102a5565b6106025760405162461bcd60e51b815260040161038690611d66565b61060d838383610b6b565b505050565b61061a610872565b6106246000610d05565b565b61062e610872565b6106388282610d57565b5050565b610638338383610db4565b61064f610872565b61060d83838360405180602001604052806000815250610e94565b610672610872565b600680546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0385163314806106b057506106b085336102a5565b6106cc5760405162461bcd60e51b815260040161038690611d66565b6104858585858585610fee565b6106e1610872565b6001600160a01b0381166107465760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610386565b6105c781610d05565b6001600160a01b03831633148061076b575061076b83336102a5565b6107875760405162461bcd60e51b815260040161038690611d66565b61060d838383611126565b6000818152600460205260408120805460609291906107b090611df9565b80601f01602080910402602001604051908101604052809291908181526020018280546107dc90611df9565b80156108295780601f106107fe57610100808354040283529160200191610829565b820191906000526020600020905b81548152906001019060200180831161080c57829003601f168201915b5050505050905060008151116108475761084283611234565b61086b565b60038160405160200161085b929190611e33565b6040516020818303038152906040525b9392505050565b6005546001600160a01b031633146106245760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610386565b6001600160a01b0384166108f25760405162461bcd60e51b815260040161038690611eba565b3360006108fe856112c8565b9050600061090b856112c8565b90506000868152602081815260408083206001600160a01b038b1684529091528120805487929061093d908490611efb565b909155505060408051878152602081018790526001600160a01b03808a1692600092918716917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a461099d83600089858589611313565b6109ac83600089898989611533565b50505050505050565b81518351146109d65760405162461bcd60e51b815260040161038690611f0e565b6001600160a01b0384166109fc5760405162461bcd60e51b815260040161038690611f56565b3360005b8451811015610ae3576000858281518110610a1d57610a1d611db4565b602002602001015190506000858381518110610a3b57610a3b611db4565b602090810291909101810151600084815280835260408082206001600160a01b038e168352909352919091205490915081811015610a8b5760405162461bcd60e51b815260040161038690611f9b565b6000838152602081815260408083206001600160a01b038e8116855292528083208585039055908b16825281208054849290610ac8908490611efb565b9250508190555050505080610adc90611de0565b9050610a00565b50846001600160a01b0316866001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8787604051610b33929190611fe5565b60405180910390a4610b49818787878787611313565b610b5781878787878761168e565b505050505050565b60036106388282612059565b6001600160a01b038316610b915760405162461bcd60e51b815260040161038690612119565b8051825114610bb25760405162461bcd60e51b815260040161038690611f0e565b604080516020810190915260009081905233905b8351811015610c88576000848281518110610be357610be3611db4565b602002602001015190506000848381518110610c0157610c01611db4565b602090810291909101810151600084815280835260408082206001600160a01b038c168352909352919091205490915081811015610c515760405162461bcd60e51b81526004016103869061215c565b6000928352602083815260408085206001600160a01b038b1686529091529092209103905580610c8081611de0565b915050610bc6565b5060006001600160a01b0316846001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8686604051610cd9929190611fe5565b60405180910390a4610cff81856000868660405180602001604052806000815250611313565b50505050565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000828152600460205260409020610d6f8282612059565b50817f6bb7ff708619ba0610cba295a58592e0451dee2622938c8755667688daf3529b610d9b84610408565b604051610da8919061182b565b60405180910390a25050565b816001600160a01b0316836001600160a01b031603610e275760405162461bcd60e51b815260206004820152602960248201527f455243313135353a2073657474696e6720617070726f76616c20737461747573604482015268103337b91039b2b63360b91b6064820152608401610386565b6001600160a01b03838116600081815260016020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6001600160a01b038416610eba5760405162461bcd60e51b815260040161038690611eba565b8151835114610edb5760405162461bcd60e51b815260040161038690611f0e565b3360005b8451811015610f7757838181518110610efa57610efa611db4565b6020026020010151600080878481518110610f1757610f17611db4565b602002602001015181526020019081526020016000206000886001600160a01b03166001600160a01b031681526020019081526020016000206000828254610f5f9190611efb565b90915550819050610f6f81611de0565b915050610edf565b50846001600160a01b031660006001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8787604051610fc8929190611fe5565b60405180910390a4610fdf81600087878787611313565b6104858160008787878761168e565b6001600160a01b0384166110145760405162461bcd60e51b815260040161038690611f56565b336000611020856112c8565b9050600061102d856112c8565b90506000868152602081815260408083206001600160a01b038c168452909152902054858110156110705760405162461bcd60e51b815260040161038690611f9b565b6000878152602081815260408083206001600160a01b038d8116855292528083208985039055908a168252812080548892906110ad908490611efb565b909155505060408051888152602081018890526001600160a01b03808b16928c821692918816917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a461110d848a8a86868a611313565b61111b848a8a8a8a8a611533565b505050505050505050565b6001600160a01b03831661114c5760405162461bcd60e51b815260040161038690612119565b336000611158846112c8565b90506000611165846112c8565b60408051602080820183526000918290528882528181528282206001600160a01b038b16835290522054909150848110156111b25760405162461bcd60e51b81526004016103869061215c565b6000868152602081815260408083206001600160a01b038b81168086529184528285208a8703905582518b81529384018a90529092908816917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a46109ac84886000868660405180602001604052806000815250611313565b60606002805461124390611df9565b80601f016020809104026020016040519081016040528092919081815260200182805461126f90611df9565b80156112bc5780601f10611291576101008083540402835291602001916112bc565b820191906000526020600020905b81548152906001019060200180831161129f57829003601f168201915b50505050509050919050565b6040805160018082528183019092526060916000919060208083019080368337019050509050828160008151811061130257611302611db4565b602090810291909101015292915050565b6040805160208101909152600090526001600160a01b038416610b575760008260008151811061134557611345611db4565b60209081029190910101516006546040516370a0823160e01b815230600482015291925082916001600160a01b03909116906370a0823190602401602060405180830381865afa15801561139d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113c191906121a0565b101561140f5760405162461bcd60e51b815260206004820152601d60248201527f4e6f7420656e6f75676820746f6b656e7320696e20636f6e74726163740000006044820152606401610386565b6006546000906001600160a01b031663a9059cbb8861143685670de0b6b3a76400006121b9565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af1158015611481573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114a591906121d0565b9050806114ec5760405162461bcd60e51b8152602060048201526015602482015274151bdad95b881d1c985b9cd9995c8819985a5b1959605a1b6044820152606401610386565b7ffaec0e7dcb08ab390697730b9456488fe8c433379ab28f702a8f3f5a07ce83cf8888878760405161152194939291906121ed565b60405180910390a15050505050505050565b6001600160a01b0384163b15610b575760405163f23a6e6160e01b81526001600160a01b0385169063f23a6e61906115779089908990889088908890600401612236565b6020604051808303816000875af19250505080156115b2575060408051601f3d908101601f191682019092526115af91810190612270565b60015b61165e576115be61228d565b806308c379a0036115f757506115d26122a9565b806115dd57506115f9565b8060405162461bcd60e51b8152600401610386919061182b565b505b60405162461bcd60e51b815260206004820152603460248201527f455243313135353a207472616e7366657220746f206e6f6e2d455243313135356044820152732932b1b2b4bb32b91034b6b83632b6b2b73a32b960611b6064820152608401610386565b6001600160e01b0319811663f23a6e6160e01b146109ac5760405162461bcd60e51b815260040161038690612333565b6001600160a01b0384163b15610b575760405163bc197c8160e01b81526001600160a01b0385169063bc197c81906116d2908990899088908890889060040161237b565b6020604051808303816000875af192505050801561170d575060408051601f3d908101601f1916820190925261170a91810190612270565b60015b611719576115be61228d565b6001600160e01b0319811663bc197c8160e01b146109ac5760405162461bcd60e51b815260040161038690612333565b80356001600160a01b038116811461176057600080fd5b919050565b6000806040838503121561177857600080fd5b61178183611749565b946020939093013593505050565b6001600160e01b0319811681146105c757600080fd5b6000602082840312156117b757600080fd5b813561086b8161178f565b6000602082840312156117d457600080fd5b5035919050565b60005b838110156117f65781810151838201526020016117de565b50506000910152565b600081518084526118178160208601602086016117db565b601f01601f19169290920160200192915050565b60208152600061086b60208301846117ff565b60008060006060848603121561185357600080fd5b61185c84611749565b95602085013595506040909401359392505050565b634e487b7160e01b600052604160045260246000fd5b601f8201601f1916810167ffffffffffffffff811182821017156118ad576118ad611871565b6040525050565b600067ffffffffffffffff8211156118ce576118ce611871565b5060051b60200190565b600082601f8301126118e957600080fd5b813560206118f6826118b4565b6040516119038282611887565b83815260059390931b850182019282810191508684111561192357600080fd5b8286015b8481101561193e5780358352918301918301611927565b509695505050505050565b600082601f83011261195a57600080fd5b813567ffffffffffffffff81111561197457611974611871565b60405161198b601f8301601f191660200182611887565b8181528460208386010111156119a057600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080600060a086880312156119d557600080fd5b6119de86611749565b94506119ec60208701611749565b9350604086013567ffffffffffffffff80821115611a0957600080fd5b611a1589838a016118d8565b94506060880135915080821115611a2b57600080fd5b611a3789838a016118d8565b93506080880135915080821115611a4d57600080fd5b50611a5a88828901611949565b9150509295509295909350565b60008060408385031215611a7a57600080fd5b823567ffffffffffffffff80821115611a9257600080fd5b818501915085601f830112611aa657600080fd5b81356020611ab3826118b4565b604051611ac08282611887565b83815260059390931b8501820192828101915089841115611ae057600080fd5b948201945b83861015611b0557611af686611749565b82529482019490820190611ae5565b96505086013592505080821115611b1b57600080fd5b50611b28858286016118d8565b9150509250929050565b600081518084526020808501945080840160005b83811015611b6257815187529582019590820190600101611b46565b509495945050505050565b60208152600061086b6020830184611b32565b600060208284031215611b9257600080fd5b813567ffffffffffffffff811115611ba957600080fd5b611bb584828501611949565b949350505050565b600080600060608486031215611bd257600080fd5b611bdb84611749565b9250602084013567ffffffffffffffff80821115611bf857600080fd5b611c04878388016118d8565b93506040860135915080821115611c1a57600080fd5b50611c27868287016118d8565b9150509250925092565b60008060408385031215611c4457600080fd5b82359150602083013567ffffffffffffffff811115611c6257600080fd5b611b2885828601611949565b80151581146105c757600080fd5b60008060408385031215611c8f57600080fd5b611c9883611749565b91506020830135611ca881611c6e565b809150509250929050565b60008060408385031215611cc657600080fd5b611ccf83611749565b9150611cdd60208401611749565b90509250929050565b600060208284031215611cf857600080fd5b61086b82611749565b600080600080600060a08688031215611d1957600080fd5b611d2286611749565b9450611d3060208701611749565b93506040860135925060608601359150608086013567ffffffffffffffff811115611d5a57600080fd5b611a5a88828901611949565b6020808252602e908201527f455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e60408201526d195c881bdc88185c1c1c9bdd995960921b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201611df257611df2611dca565b5060010190565b600181811c90821680611e0d57607f821691505b602082108103611e2d57634e487b7160e01b600052602260045260246000fd5b50919050565b6000808454611e4181611df9565b60018281168015611e595760018114611e6e57611e9d565b60ff1984168752821515830287019450611e9d565b8860005260208060002060005b85811015611e945781548a820152908401908201611e7b565b50505082870194505b505050508351611eb18183602088016117db565b01949350505050565b60208082526021908201527f455243313135353a206d696e7420746f20746865207a65726f206164647265736040820152607360f81b606082015260800190565b808201808211156103b2576103b2611dca565b60208082526028908201527f455243313135353a2069647320616e6420616d6f756e7473206c656e677468206040820152670dad2e6dac2e8c6d60c31b606082015260800190565b60208082526025908201527f455243313135353a207472616e7366657220746f20746865207a65726f206164604082015264647265737360d81b606082015260800190565b6020808252602a908201527f455243313135353a20696e73756666696369656e742062616c616e636520666f60408201526939103a3930b739b332b960b11b606082015260800190565b604081526000611ff86040830185611b32565b828103602084015261200a8185611b32565b95945050505050565b601f82111561060d57600081815260208120601f850160051c8101602086101561203a5750805b601f850160051c820191505b81811015610b5757828155600101612046565b815167ffffffffffffffff81111561207357612073611871565b612087816120818454611df9565b84612013565b602080601f8311600181146120bc57600084156120a45750858301515b600019600386901b1c1916600185901b178555610b57565b600085815260208120601f198616915b828110156120eb578886015182559484019460019091019084016120cc565b50858210156121095787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60208082526023908201527f455243313135353a206275726e2066726f6d20746865207a65726f206164647260408201526265737360e81b606082015260800190565b60208082526024908201527f455243313135353a206275726e20616d6f756e7420657863656564732062616c604082015263616e636560e01b606082015260800190565b6000602082840312156121b257600080fd5b5051919050565b80820281158282048414176103b2576103b2611dca565b6000602082840312156121e257600080fd5b815161086b81611c6e565b6001600160a01b0385811682528416602082015260806040820181905260009061221990830185611b32565b828103606084015261222b8185611b32565b979650505050505050565b6001600160a01b03868116825285166020820152604081018490526060810183905260a06080820181905260009061222b908301846117ff565b60006020828403121561228257600080fd5b815161086b8161178f565b600060033d11156122a65760046000803e5060005160e01c5b90565b600060443d10156122b75790565b6040516003193d81016004833e81513d67ffffffffffffffff81602484011181841117156122e757505050505090565b82850191508151818111156122ff5750505050505090565b843d87010160208285010111156123195750505050505090565b61232860208286010187611887565b509095945050505050565b60208082526028908201527f455243313135353a204552433131353552656365697665722072656a656374656040820152676420746f6b656e7360c01b606082015260800190565b6001600160a01b0386811682528516602082015260a0604082018190526000906123a790830186611b32565b82810360608401526123b98186611b32565b905082810360808401526123cd81856117ff565b9897505050505050505056fea2646970667358221220bb7f6fd6620109d49e3deb7d460483c0c8c8fa273b5b692cd05cc890d170d86564736f6c634300081400330000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000005768747470733a2f2f676174657761792e70696e6174612e636c6f75642f697066732f516d516b776235317568397a4652616d764d736d594162635351634537376348546b37314c643739587562375a672f352e6a736f6e000000000000000000