Overview ERC721
Total Supply:
3 FarmLand

Holders:
1
Profile Summary
Blockchain:
C-Chain (43114)

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

Compiler Version
v0.8.4+commit.c7e474f2

Optimization Enabled:
Yes with 200 runs

Created At:
Sun, 23 Oct 2022 22:10:22 GMT
NFTradeNFTToken.sol
var
www
html
Collection
contracts
NFTradeNFTToken.sol


Contract ABI
[
  {
    "inputs": [
      {
        "internalType": "string",
        "name": "name",
        "type": "string"
      },
      {
        "internalType": "string",
        "name": "symbol",
        "type": "string"
      },
      {
        "internalType": "address",
        "name": "registry",
        "type": "address"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "constructor"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "owner",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "approved",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "uint256",
        "name": "tokenId",
        "type": "uint256"
      }
    ],
    "name": "Approval",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "owner",
        "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": "bytes32",
        "name": "role",
        "type": "bytes32"
      },
      {
        "indexed": true,
        "internalType": "bytes32",
        "name": "previousAdminRole",
        "type": "bytes32"
      },
      {
        "indexed": true,
        "internalType": "bytes32",
        "name": "newAdminRole",
        "type": "bytes32"
      }
    ],
    "name": "RoleAdminChanged",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "bytes32",
        "name": "role",
        "type": "bytes32"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "account",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "sender",
        "type": "address"
      }
    ],
    "name": "RoleGranted",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "bytes32",
        "name": "role",
        "type": "bytes32"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "account",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "sender",
        "type": "address"
      }
    ],
    "name": "RoleRevoked",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "from",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "to",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "uint256",
        "name": "tokenId",
        "type": "uint256"
      }
    ],
    "name": "Transfer",
    "type": "event"
  },
  {
    "inputs": [],
    "name": "DEFAULT_ADMIN_ROLE",
    "outputs": [
      {
        "internalType": "bytes32",
        "name": "",
        "type": "bytes32"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "MINTER_ROLE",
    "outputs": [
      {
        "internalType": "bytes32",
        "name": "",
        "type": "bytes32"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "minterAddress",
        "type": "address"
      }
    ],
    "name": "addMinter",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "to",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "tokenId",
        "type": "uint256"
      }
    ],
    "name": "approve",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "owner",
        "type": "address"
      }
    ],
    "name": "balanceOf",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "tokenId",
        "type": "uint256"
      }
    ],
    "name": "getApproved",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "bytes32",
        "name": "role",
        "type": "bytes32"
      }
    ],
    "name": "getRoleAdmin",
    "outputs": [
      {
        "internalType": "bytes32",
        "name": "",
        "type": "bytes32"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "bytes32",
        "name": "role",
        "type": "bytes32"
      },
      {
        "internalType": "address",
        "name": "account",
        "type": "address"
      }
    ],
    "name": "grantRole",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "bytes32",
        "name": "role",
        "type": "bytes32"
      },
      {
        "internalType": "address",
        "name": "account",
        "type": "address"
      }
    ],
    "name": "hasRole",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "owner",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "operator",
        "type": "address"
      }
    ],
    "name": "isApprovedForAll",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "receiver",
        "type": "address"
      },
      {
        "internalType": "string",
        "name": "metadata",
        "type": "string"
      }
    ],
    "name": "mint",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "name",
    "outputs": [
      {
        "internalType": "string",
        "name": "",
        "type": "string"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "tokenId",
        "type": "uint256"
      }
    ],
    "name": "ownerOf",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "minterAddress",
        "type": "address"
      }
    ],
    "name": "removeMinter",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "bytes32",
        "name": "role",
        "type": "bytes32"
      },
      {
        "internalType": "address",
        "name": "account",
        "type": "address"
      }
    ],
    "name": "renounceRole",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "bytes32",
        "name": "role",
        "type": "bytes32"
      },
      {
        "internalType": "address",
        "name": "account",
        "type": "address"
      }
    ],
    "name": "revokeRole",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "from",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "to",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "tokenId",
        "type": "uint256"
      }
    ],
    "name": "safeTransferFrom",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "from",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "to",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "tokenId",
        "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": "baseURI_",
        "type": "string"
      }
    ],
    "name": "setBaseURI",
    "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": "symbol",
    "outputs": [
      {
        "internalType": "string",
        "name": "",
        "type": "string"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "tokenId",
        "type": "uint256"
      }
    ],
    "name": "tokenURI",
    "outputs": [
      {
        "internalType": "string",
        "name": "",
        "type": "string"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "from",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "to",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "tokenId",
        "type": "uint256"
      }
    ],
    "name": "transferFrom",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  }
]


Contract Creation Code
60806040523480156200001157600080fd5b50604051620020bc380380620020bc8339810160408190526200003491620002fb565b8251839083906200004d906000906020850190620001c6565b50805162000063906001906020840190620001c6565b50620000759150600090503362000112565b620000a17f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a63362000112565b604051634979348760e01b81526001600160a01b03821690634979348790620000d5903090879087903390600401620003b2565b600060405180830381600087803b158015620000f057600080fd5b505af115801562000105573d6000803e3d6000fd5b5050505050505062000485565b6200011e828262000122565b5050565b60008281526006602090815260408083206001600160a01b038516845290915290205460ff166200011e5760008281526006602090815260408083206001600160a01b03851684529091529020805460ff19166001179055620001823390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b828054620001d49062000432565b90600052602060002090601f016020900481019282620001f8576000855562000243565b82601f106200021357805160ff191683800117855562000243565b8280016001018555821562000243579182015b828111156200024357825182559160200191906001019062000226565b506200025192915062000255565b5090565b5b8082111562000251576000815560010162000256565b600082601f8301126200027d578081fd5b81516001600160401b03808211156200029a576200029a6200046f565b604051601f8301601f19908116603f01168101908282118183101715620002c557620002c56200046f565b81604052838152866020858801011115620002de578485fd5b620002f1846020830160208901620003ff565b9695505050505050565b60008060006060848603121562000310578283fd5b83516001600160401b038082111562000327578485fd5b62000335878388016200026c565b945060208601519150808211156200034b578384fd5b506200035a868287016200026c565b604086015190935090506001600160a01b038116811462000379578182fd5b809150509250925092565b600081518084526200039e816020860160208601620003ff565b601f01601f19169290920160200192915050565b600060018060a01b03808716835260806020840152620003d6608084018762000384565b8381036040850152620003ea818762000384565b92505080841660608401525095945050505050565b60005b838110156200041c57818101518382015260200162000402565b838111156200042c576000848401525b50505050565b600181811c908216806200044757607f821691505b602082108114156200046957634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052604160045260246000fd5b611c2780620004956000396000f3fe608060405234801561001057600080fd5b50600436106101585760003560e01c806370a08231116100c3578063b88d4fde1161007c578063b88d4fde146102ec578063c87b56dd146102ff578063d0def52114610312578063d539139314610325578063d547741f1461033a578063e985e9c51461034d57600080fd5b806370a082311461029057806391d14854146102a357806395d89b41146102b6578063983b2d56146102be578063a217fddf146102d1578063a22cb465146102d957600080fd5b80632f2ff15d116101155780632f2ff15d1461021e5780633092afd51461023157806336568abe1461024457806342842e0e1461025757806355f804b31461026a5780636352211e1461027d57600080fd5b806301ffc9a71461015d57806306fdde0314610185578063081812fc1461019a578063095ea7b3146101c557806323b872dd146101da578063248a9ca3146101ed575b600080fd5b61017061016b366004611870565b610389565b60405190151581526020015b60405180910390f35b61018d61039a565b60405161017c9190611a0a565b6101ad6101a8366004611836565b61042c565b6040516001600160a01b03909116815260200161017c565b6101d86101d336600461180d565b6104c6565b005b6101d86101e83660046116d3565b6105dc565b6102106101fb366004611836565b60009081526006602052604090206001015490565b60405190815260200161017c565b6101d861022c36600461184e565b61060d565b6101d861023f366004611687565b610633565b6101d861025236600461184e565b61065b565b6101d86102653660046116d3565b6106d5565b6101d86102783660046118a8565b6106f0565b6101ad61028b366004611836565b61070f565b61021061029e366004611687565b610786565b6101706102b136600461184e565b61080d565b61018d610838565b6101d86102cc366004611687565b610847565b610210600081565b6101d86102e7366004611787565b61086b565b6101d86102fa36600461170e565b610930565b61018d61030d366004611836565b610968565b6102106103203660046117c1565b610ae2565b610210600080516020611bd283398151915281565b6101d861034836600461184e565b610b34565b61017061035b3660046116a1565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b600061039482610b5a565b92915050565b6060600080546103a990611b51565b80601f01602080910402602001604051908101604052809291908181526020018280546103d590611b51565b80156104225780601f106103f757610100808354040283529160200191610422565b820191906000526020600020905b81548152906001019060200180831161040557829003601f168201915b5050505050905090565b6000818152600260205260408120546001600160a01b03166104aa5760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b60648201526084015b60405180910390fd5b506000908152600460205260409020546001600160a01b031690565b60006104d18261070f565b9050806001600160a01b0316836001600160a01b0316141561053f5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084016104a1565b336001600160a01b038216148061055b575061055b813361035b565b6105cd5760405162461bcd60e51b815260206004820152603860248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760448201527f6e6572206e6f7220617070726f76656420666f7220616c6c000000000000000060648201526084016104a1565b6105d78383610b7f565b505050565b6105e63382610bed565b6106025760405162461bcd60e51b81526004016104a190611a6f565b6105d7838383610ce0565b6000828152600660205260409020600101546106298133610e80565b6105d78383610ee4565b600061063f8133610e80565b610657600080516020611bd283398151915283610b34565b5050565b6001600160a01b03811633146106cb5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084016104a1565b6106578282610f6a565b6105d783838360405180602001604052806000815250610930565b60006106fc8133610e80565b81516105d790600990602085019061153d565b6000818152600260205260408120546001600160a01b0316806103945760405162461bcd60e51b815260206004820152602960248201527f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460448201526832b73a103a37b5b2b760b91b60648201526084016104a1565b60006001600160a01b0382166107f15760405162461bcd60e51b815260206004820152602a60248201527f4552433732313a2062616c616e636520717565727920666f7220746865207a65604482015269726f206164647265737360b01b60648201526084016104a1565b506001600160a01b031660009081526003602052604090205490565b60009182526006602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6060600180546103a990611b51565b60006108538133610e80565b610657600080516020611bd283398151915283610fd1565b6001600160a01b0382163314156108c45760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c65720000000000000060448201526064016104a1565b3360008181526005602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b61093a3383610bed565b6109565760405162461bcd60e51b81526004016104a190611a6f565b61096284848484610fdb565b50505050565b6000818152600260205260409020546060906001600160a01b03166109e75760405162461bcd60e51b815260206004820152602f60248201527f4552433732314d657461646174613a2055524920717565727920666f72206e6f60448201526e3732bc34b9ba32b73a103a37b5b2b760891b60648201526084016104a1565b60008281526008602052604081208054610a0090611b51565b80601f0160208091040260200160405190810160405280929190818152602001828054610a2c90611b51565b8015610a795780601f10610a4e57610100808354040283529160200191610a79565b820191906000526020600020905b815481529060010190602001808311610a5c57829003601f168201915b505050505090506000610a8a61100e565b9050805160001415610a9d575092915050565b815115610acf578082604051602001610ab7929190611907565b60405160208183030381529060405292505050919050565b8084604051602001610ab7929190611936565b6000600080516020611bd2833981519152610afd8133610e80565b610b0b600780546001019055565b6000610b1660075490565b9050610b22858261101d565b610b2c818561115f565b949350505050565b600082815260066020526040902060010154610b508133610e80565b6105d78383610f6a565b60006001600160e01b03198216637965db0b60e01b14806103945750610394826111f7565b600081815260046020526040902080546001600160a01b0319166001600160a01b0384169081179091558190610bb48261070f565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000818152600260205260408120546001600160a01b0316610c665760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b60648201526084016104a1565b6000610c718361070f565b9050806001600160a01b0316846001600160a01b03161480610cac5750836001600160a01b0316610ca18461042c565b6001600160a01b0316145b80610b2c57506001600160a01b0380821660009081526005602090815260408083209388168352929052205460ff16610b2c565b826001600160a01b0316610cf38261070f565b6001600160a01b031614610d5b5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a207472616e73666572206f6620746f6b656e2074686174206960448201526839903737ba1037bbb760b91b60648201526084016104a1565b6001600160a01b038216610dbd5760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b60648201526084016104a1565b610dc8600082610b7f565b6001600160a01b0383166000908152600360205260408120805460019290610df1908490611af7565b90915550506001600160a01b0382166000908152600360205260408120805460019290610e1f908490611ac0565b909155505060008181526002602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b610e8a828261080d565b61065757610ea2816001600160a01b03166014611247565b610ead836020611247565b604051602001610ebe929190611958565b60408051601f198184030181529082905262461bcd60e51b82526104a191600401611a0a565b610eee828261080d565b6106575760008281526006602090815260408083206001600160a01b03851684529091529020805460ff19166001179055610f263390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b610f74828261080d565b156106575760008281526006602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6106578282610ee4565b610fe6848484610ce0565b610ff284848484611430565b6109625760405162461bcd60e51b81526004016104a190611a1d565b6060600980546103a990611b51565b6001600160a01b0382166110735760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f206164647265737360448201526064016104a1565b6000818152600260205260409020546001600160a01b0316156110d85760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016104a1565b6001600160a01b0382166000908152600360205260408120805460019290611101908490611ac0565b909155505060008181526002602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b6000828152600260205260409020546001600160a01b03166111d85760405162461bcd60e51b815260206004820152602c60248201527f4552433732314d657461646174613a2055524920736574206f66206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b60648201526084016104a1565b600082815260086020908152604090912082516105d79284019061153d565b60006001600160e01b031982166380ac58cd60e01b148061122857506001600160e01b03198216635b5e139f60e01b145b8061039457506301ffc9a760e01b6001600160e01b0319831614610394565b60606000611256836002611ad8565b611261906002611ac0565b67ffffffffffffffff81111561128757634e487b7160e01b600052604160045260246000fd5b6040519080825280601f01601f1916602001820160405280156112b1576020820181803683370190505b509050600360fc1b816000815181106112da57634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a905350600f60fb1b8160018151811061131757634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a905350600061133b846002611ad8565b611346906001611ac0565b90505b60018111156113da576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811061138857634e487b7160e01b600052603260045260246000fd5b1a60f81b8282815181106113ac57634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a90535060049490941c936113d381611b3a565b9050611349565b5083156114295760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016104a1565b9392505050565b60006001600160a01b0384163b1561153257604051630a85bd0160e11b81526001600160a01b0385169063150b7a02906114749033908990889088906004016119cd565b602060405180830381600087803b15801561148e57600080fd5b505af19250505080156114be575060408051601f3d908101601f191682019092526114bb9181019061188c565b60015b611518573d8080156114ec576040519150601f19603f3d011682016040523d82523d6000602084013e6114f1565b606091505b5080516115105760405162461bcd60e51b81526004016104a190611a1d565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050610b2c565b506001949350505050565b82805461154990611b51565b90600052602060002090601f01602090048101928261156b57600085556115b1565b82601f1061158457805160ff19168380011785556115b1565b828001600101855582156115b1579182015b828111156115b1578251825591602001919060010190611596565b506115bd9291506115c1565b5090565b5b808211156115bd57600081556001016115c2565b600067ffffffffffffffff808411156115f1576115f1611ba2565b604051601f8501601f19908116603f0116810190828211818310171561161957611619611ba2565b8160405280935085815286868601111561163257600080fd5b858560208301376000602087830101525050509392505050565b80356001600160a01b038116811461166357600080fd5b919050565b600082601f830112611678578081fd5b611429838335602085016115d6565b600060208284031215611698578081fd5b6114298261164c565b600080604083850312156116b3578081fd5b6116bc8361164c565b91506116ca6020840161164c565b90509250929050565b6000806000606084860312156116e7578081fd5b6116f08461164c565b92506116fe6020850161164c565b9150604084013590509250925092565b60008060008060808587031215611723578081fd5b61172c8561164c565b935061173a6020860161164c565b925060408501359150606085013567ffffffffffffffff81111561175c578182fd5b8501601f8101871361176c578182fd5b61177b878235602084016115d6565b91505092959194509250565b60008060408385031215611799578182fd5b6117a28361164c565b9150602083013580151581146117b6578182fd5b809150509250929050565b600080604083850312156117d3578182fd5b6117dc8361164c565b9150602083013567ffffffffffffffff8111156117f7578182fd5b61180385828601611668565b9150509250929050565b6000806040838503121561181f578182fd5b6118288361164c565b946020939093013593505050565b600060208284031215611847578081fd5b5035919050565b60008060408385031215611860578182fd5b823591506116ca6020840161164c565b600060208284031215611881578081fd5b813561142981611bb8565b60006020828403121561189d578081fd5b815161142981611bb8565b6000602082840312156118b9578081fd5b813567ffffffffffffffff8111156118cf578182fd5b610b2c84828501611668565b600081518084526118f3816020860160208601611b0e565b601f01601f19169290920160200192915050565b60008351611919818460208801611b0e565b83519083019061192d818360208801611b0e565b01949350505050565b60008351611948818460208801611b0e565b9190910191825250602001919050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351611990816017850160208801611b0e565b7001034b99036b4b9b9b4b733903937b6329607d1b60179184019182015283516119c1816028840160208801611b0e565b01602801949350505050565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090611a00908301846118db565b9695505050505050565b60208152600061142960208301846118db565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b60208082526031908201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f6040820152701ddb995c881b9bdc88185c1c1c9bdd9959607a1b606082015260800190565b60008219821115611ad357611ad3611b8c565b500190565b6000816000190483118215151615611af257611af2611b8c565b500290565b600082821015611b0957611b09611b8c565b500390565b60005b83811015611b29578181015183820152602001611b11565b838111156109625750506000910152565b600081611b4957611b49611b8c565b506000190190565b600181811c90821680611b6557607f821691505b60208210811415611b8657634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160e01b031981168114611bce57600080fd5b5056fe9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6a26469706673582212200f329f81ae6c1299998765572716bf4f7cbbfc671fa2353880dca0fe725cb16864736f6c63430008040033000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000005f67abe0a2a673536e5a57af8e00b28f289f419e00000000000000000000000000000000000000000000000000000000000000084661726d4c616e6400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084661726d4c616e64000000000000000000000000000000000000000000000000