Overview ERC721
Total Supply:
3,454 AVAXDogsR

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

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

Compiler Version
v0.8.0+commit.c7dfd78e

Optimization Enabled:
No

Created At:
Sun, 14 Nov 2021 14:32:10 GMT
AvalancheDogsReborn.sol
AvalancheDogsReborn.sol
AvalancheDogsReborn.sol


Contract ABI
[
  {
    "inputs": [],
    "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": "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": "from",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "to",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "uint256",
        "name": "tokenId",
        "type": "uint256"
      }
    ],
    "name": "Transfer",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "value",
        "type": "uint256"
      }
    ],
    "name": "UpdateRoyaltyPercentage",
    "type": "event"
  },
  {
    "inputs": [],
    "name": "MAX_NFTS",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "NFT_PRICE",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "PROVENANCE_HASH",
    "outputs": [
      {
        "internalType": "string",
        "name": "",
        "type": "string"
      }
    ],
    "stateMutability": "view",
    "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": "claimReward",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "claimRewards",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "tokenId",
        "type": "uint256"
      }
    ],
    "name": "getApproved",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "tokenId",
        "type": "uint256"
      }
    ],
    "name": "getReflectionBalance",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "getReflectionBalances",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "hasSaleStarted",
    "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": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "name": "lastDividendAt",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "owner_",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "num",
        "type": "uint256"
      }
    ],
    "name": "mintForAddress",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address[]",
        "name": "owners",
        "type": "address[]"
      }
    ],
    "name": "mintForAddresses",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "maxNFTs",
        "type": "uint256"
      }
    ],
    "name": "mintNFT",
    "outputs": [],
    "stateMutability": "payable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "name": "minter",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "name",
    "outputs": [
      {
        "internalType": "string",
        "name": "",
        "type": "string"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "owner",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "tokenId",
        "type": "uint256"
      }
    ],
    "name": "ownerOf",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "pauseSale",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "reflectToOwners",
    "outputs": [],
    "stateMutability": "payable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "reflectionBalance",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "renounceOwnership",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "salePrice",
        "type": "uint256"
      }
    ],
    "name": "royaltyInfo",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "royaltyAmount",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "royaltyPercentage",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "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": "address",
        "name": "beneficiary",
        "type": "address"
      }
    ],
    "name": "setRoyaltyBeneficiary",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "percentage",
        "type": "uint256"
      }
    ],
    "name": "setRoyaltyPercentage",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "startSale",
    "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": "index",
        "type": "uint256"
      }
    ],
    "name": "tokenByIndex",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "owner",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "index",
        "type": "uint256"
      }
    ],
    "name": "tokenOfOwnerByIndex",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "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": "owner_",
        "type": "address"
      }
    ],
    "name": "tokensOfOwner",
    "outputs": [
      {
        "internalType": "uint256[]",
        "name": "",
        "type": "uint256[]"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "totalDividend",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "totalSupply",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "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"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "newOwner",
        "type": "address"
      }
    ],
    "name": "transferOwnership",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "amount",
        "type": "uint256"
      }
    ],
    "name": "withdraw",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  }
]


Contract Creation Code
60806040526000600a60146101000a81548160ff0219169083151502179055506006600d553480156200003157600080fd5b506040518060400160405280601581526020017f4176616c616e63686520446f6773205265626f726e00000000000000000000008152506040518060400160405280600981526020017f41564158446f67735200000000000000000000000000000000000000000000008152508160009080519060200190620000b692919062000306565b508060019080519060200190620000cf92919062000306565b505050620000f2620000e66200016360201b60201c565b6200016b60201b60201c565b6200011c6040518060600160405280602a815260200162005414602a91396200023160201b60201c565b33600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062000490565b600033905090565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b620002416200016360201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1662000267620002dc60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1614620002c0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620002b790620003f8565b60405180910390fd5b80600b9080519060200190620002d892919062000306565b5050565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b82805462000314906200042b565b90600052602060002090601f01602090048101928262000338576000855562000384565b82601f106200035357805160ff191683800117855562000384565b8280016001018555821562000384579182015b828111156200038357825182559160200191906001019062000366565b5b50905062000393919062000397565b5090565b5b80821115620003b257600081600090555060010162000398565b5090565b6000620003c56020836200041a565b91507f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726000830152602082019050919050565b600060208201905081810360008301526200041381620003b6565b9050919050565b600082825260208201905092915050565b600060028204905060018216806200044457607f821691505b602082108114156200045b576200045a62000461565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b614f7480620004a06000396000f3fe6080604052600436106102665760003560e01c806361ba27da11610144578063ac8d856c116100b6578063c87b56dd1161007a578063c87b56dd146108ec578063d206885714610929578063e985e9c514610966578063f254933d146109a3578063f2fde38b146109cc578063ff1b6556146109f557610266565b8063ac8d856c1461081d578063ae169a501461085a578063b463a01714610883578063b66a0e5d146108ac578063b88d4fde146108c357610266565b80638462151c116101085780638462151c1461071a5780638a71bb2d146107575780638da5cb5b1461078257806392642744146107ad57806395d89b41146107c9578063a22cb465146107f457610266565b806361ba27da146106355780636352211e1461065e578063676dd5631461069b57806370a08231146106c6578063715018a61461070357610266565b80632a55205a116101dd57806342842e0e116101a157806342842e0e1461053b578063465da8da146105645780634b6acafb1461058d5780634f6ccce7146105b857806355367ba9146105f557806355f804b31461060c57610266565b80632a55205a146104555780632e1a7d4d146104935780632f745c59146104bc578063372500ab146104f95780634131ff991461051057610266565b8063081812fc1161022f578063081812fc14610345578063093d8c6414610382578063095ea7b3146103ad57806318160ddd146103d65780631c8b232d1461040157806323b872dd1461042c57610266565b8062fe50c61461026b57806301eb99ec146102a857806301ffc9a7146102d3578063047d5e801461031057806306fdde031461031a575b600080fd5b34801561027757600080fd5b50610292600480360381019061028d9190613b0b565b610a20565b60405161029f9190614a0a565b60405180910390f35b3480156102b457600080fd5b506102bd610a4a565b6040516102ca9190614a0a565b60405180910390f35b3480156102df57600080fd5b506102fa60048036038101906102f59190613a78565b610aa5565b60405161030791906146ad565b60405180910390f35b610318610b87565b005b34801561032657600080fd5b5061032f610b92565b60405161033c91906146c8565b60405180910390f35b34801561035157600080fd5b5061036c60048036038101906103679190613b0b565b610c24565b60405161037991906145fb565b60405180910390f35b34801561038e57600080fd5b50610397610ca9565b6040516103a49190614a0a565b60405180910390f35b3480156103b957600080fd5b506103d460048036038101906103cf91906139fb565b610caf565b005b3480156103e257600080fd5b506103eb610dc7565b6040516103f89190614a0a565b60405180910390f35b34801561040d57600080fd5b50610416610dd4565b60405161042391906146ad565b60405180910390f35b34801561043857600080fd5b50610453600480360381019061044e91906138f5565b610de7565b005b34801561046157600080fd5b5061047c60048036038101906104779190613b34565b610e47565b60405161048a929190614662565b60405180910390f35b34801561049f57600080fd5b506104ba60048036038101906104b59190613b0b565b610e92565b005b3480156104c857600080fd5b506104e360048036038101906104de91906139fb565b610f58565b6040516104f09190614a0a565b60405180910390f35b34801561050557600080fd5b5061050e610ffd565b005b34801561051c57600080fd5b506105256110b4565b6040516105329190614a0a565b60405180910390f35b34801561054757600080fd5b50610562600480360381019061055d91906138f5565b6110ba565b005b34801561057057600080fd5b5061058b60048036038101906105869190613890565b6110da565b005b34801561059957600080fd5b506105a26111d4565b6040516105af9190614a0a565b60405180910390f35b3480156105c457600080fd5b506105df60048036038101906105da9190613b0b565b6111da565b6040516105ec9190614a0a565b60405180910390f35b34801561060157600080fd5b5061060a611271565b005b34801561061857600080fd5b50610633600480360381019061062e9190613aca565b61130a565b005b34801561064157600080fd5b5061065c60048036038101906106579190613b0b565b6113a0565b005b34801561066a57600080fd5b5061068560048036038101906106809190613b0b565b61145d565b60405161069291906145fb565b60405180910390f35b3480156106a757600080fd5b506106b061150f565b6040516106bd9190614a0a565b60405180910390f35b3480156106d257600080fd5b506106ed60048036038101906106e89190613890565b61151b565b6040516106fa9190614a0a565b60405180910390f35b34801561070f57600080fd5b506107186115d3565b005b34801561072657600080fd5b50610741600480360381019061073c9190613890565b61165b565b60405161074e919061468b565b60405180910390f35b34801561076357600080fd5b5061076c6117d7565b6040516107799190614a0a565b60405180910390f35b34801561078e57600080fd5b506107976117dd565b6040516107a491906145fb565b60405180910390f35b6107c760048036038101906107c29190613b0b565b611807565b005b3480156107d557600080fd5b506107de611a51565b6040516107eb91906146c8565b60405180910390f35b34801561080057600080fd5b5061081b600480360381019061081691906139bf565b611ae3565b005b34801561082957600080fd5b50610844600480360381019061083f9190613b0b565b611c64565b60405161085191906145fb565b60405180910390f35b34801561086657600080fd5b50610881600480360381019061087c9190613b0b565b611c97565b005b34801561088f57600080fd5b506108aa60048036038101906108a59190613a37565b611dd3565b005b3480156108b857600080fd5b506108c1611ebd565b005b3480156108cf57600080fd5b506108ea60048036038101906108e59190613944565b611f56565b005b3480156108f857600080fd5b50610913600480360381019061090e9190613b0b565b611fb8565b60405161092091906146c8565b60405180910390f35b34801561093557600080fd5b50610950600480360381019061094b9190613b0b565b61205f565b60405161095d9190614a0a565b60405180910390f35b34801561097257600080fd5b5061098d600480360381019061098891906138b9565b612077565b60405161099a91906146ad565b60405180910390f35b3480156109af57600080fd5b506109ca60048036038101906109c591906139fb565b61210b565b005b3480156109d857600080fd5b506109f360048036038101906109ee9190613890565b612291565b005b348015610a0157600080fd5b50610a0a612389565b604051610a1791906146c8565b60405180910390f35b60006011600083815260200190815260200160002054600f54610a439190614c3f565b9050919050565b600080610a563361151b565b90506000805b82811015610a9c576000610a703383610f58565b9050610a7b81610a20565b83610a869190614b5e565b9250508080610a9490614d5b565b915050610a5c565b50809250505090565b60007f2a55205a000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610b7057507f79f154c4000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80610b805750610b7f826123a5565b5b9050919050565b610b903461241f565b565b606060008054610ba190614d29565b80601f0160208091040260200160405190810160405280929190818152602001828054610bcd90614d29565b8015610c1a5780601f10610bef57610100808354040283529160200191610c1a565b820191906000526020600020905b815481529060010190602001808311610bfd57829003601f168201915b5050505050905090565b6000610c2f8261245c565b610c6e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c659061488a565b60405180910390fd5b6004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b61271081565b6000610cba8261145d565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610d2b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d229061492a565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16610d4a6124c8565b73ffffffffffffffffffffffffffffffffffffffff161480610d795750610d7881610d736124c8565b612077565b5b610db8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610daf9061480a565b60405180910390fd5b610dc283836124d0565b505050565b6000600880549050905090565b600a60149054906101000a900460ff1681565b610df8610df26124c8565b82612589565b610e37576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e2e9061498a565b60405180910390fd5b610e42838383612667565b505050565b6000806064600d5484610e5a9190614be5565b610e649190614bb4565b9050600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1691509250929050565b610e9a6124c8565b73ffffffffffffffffffffffffffffffffffffffff16610eb86117dd565b73ffffffffffffffffffffffffffffffffffffffff1614610f0e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f05906148ca565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610f54573d6000803e3d6000fd5b5050565b6000610f638361151b565b8210610fa4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f9b906146ea565b60405180910390fd5b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002054905092915050565b60006110083361151b565b90506000805b828110156110685760006110223383610f58565b905061102d81610a20565b836110389190614b5e565b9250600f54601160008381526020019081526020016000208190555050808061106090614d5b565b91505061100e565b503373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156110af573d6000803e3d6000fd5b505050565b600e5481565b6110d583838360405180602001604052806000815250611f56565b505050565b6110e26124c8565b73ffffffffffffffffffffffffffffffffffffffff166111006117dd565b73ffffffffffffffffffffffffffffffffffffffff1614611156576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161114d906148ca565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561119057600080fd5b80600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600f5481565b60006111e4610dc7565b8210611225576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161121c906149ca565b60405180910390fd5b6008828154811061125f577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90600052602060002001549050919050565b6112796124c8565b73ffffffffffffffffffffffffffffffffffffffff166112976117dd565b73ffffffffffffffffffffffffffffffffffffffff16146112ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112e4906148ca565b60405180910390fd5b6000600a60146101000a81548160ff021916908315150217905550565b6113126124c8565b73ffffffffffffffffffffffffffffffffffffffff166113306117dd565b73ffffffffffffffffffffffffffffffffffffffff1614611386576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137d906148ca565b60405180910390fd5b80600b908051906020019061139c92919061361e565b5050565b6113a86124c8565b73ffffffffffffffffffffffffffffffffffffffff166113c66117dd565b73ffffffffffffffffffffffffffffffffffffffff161461141c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611413906148ca565b60405180910390fd5b80600d819055507f2d6cd6625ae00aed7cffddd6f7bf383a3bf58b29beee6ee77e2ec87a4eca5b57816040516114529190614a0a565b60405180910390a150565b6000806002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611506576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114fd9061484a565b60405180910390fd5b80915050919050565b6722b1c8c1227a000081565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561158c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115839061482a565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6115db6124c8565b73ffffffffffffffffffffffffffffffffffffffff166115f96117dd565b73ffffffffffffffffffffffffffffffffffffffff161461164f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611646906148ca565b60405180910390fd5b61165960006128c3565b565b606060006116688361151b565b905060008114156116eb57600067ffffffffffffffff8111156116b4577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280602002602001820160405280156116e25781602001602082028036833780820191505090505b509150506117d2565b60008167ffffffffffffffff81111561172d577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405190808252806020026020018201604052801561175b5781602001602082028036833780820191505090505b50905060005b828110156117cb576117738582610f58565b8282815181106117ac577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101818152505080806117c390614d5b565b915050611761565b8193505050505b919050565b600d5481565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600a60149054906101000a900460ff16611856576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161184d906149ea565b60405180910390fd5b612710611861610dc7565b106118a1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118989061494a565b60405180910390fd5b6000811180156118b25750600a8111155b6118f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118e8906147ea565b60405180910390fd5b61271061190e82611900610dc7565b61298990919063ffffffff16565b111561194f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611946906148aa565b60405180910390fd5b61196a816722b1c8c1227a000061299f90919063ffffffff16565b3410156119ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119a39061472a565b60405180910390fd5b60005b81811015611a4d5760006119c1610dc7565b9050336010600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600f546011600083815260200190815260200160002081905550611a3933826129b5565b508080611a4590614d5b565b9150506119af565b5050565b606060018054611a6090614d29565b80601f0160208091040260200160405190810160405280929190818152602001828054611a8c90614d29565b8015611ad95780601f10611aae57610100808354040283529160200191611ad9565b820191906000526020600020905b815481529060010190602001808311611abc57829003601f168201915b5050505050905090565b611aeb6124c8565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611b59576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b50906147aa565b60405180910390fd5b8060056000611b666124c8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff16611c136124c8565b73ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051611c5891906146ad565b60405180910390a35050565b60106020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611c9f6124c8565b73ffffffffffffffffffffffffffffffffffffffff16611cbe8261145d565b73ffffffffffffffffffffffffffffffffffffffff161480611d1a5750611ce36124c8565b73ffffffffffffffffffffffffffffffffffffffff16611d0282610c24565b73ffffffffffffffffffffffffffffffffffffffff16145b611d59576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d509061496a565b60405180910390fd5b6000611d6482610a20565b9050600f546011600084815260200190815260200160002081905550611d898261145d565b73ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611dce573d6000803e3d6000fd5b505050565b611ddb6124c8565b73ffffffffffffffffffffffffffffffffffffffff16611df96117dd565b73ffffffffffffffffffffffffffffffffffffffff1614611e4f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e46906148ca565b60405180910390fd5b60005b8151811015611eb957611ea6828281518110611e97577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020026020010151600161210b565b8080611eb190614d5b565b915050611e52565b5050565b611ec56124c8565b73ffffffffffffffffffffffffffffffffffffffff16611ee36117dd565b73ffffffffffffffffffffffffffffffffffffffff1614611f39576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f30906148ca565b60405180910390fd5b6001600a60146101000a81548160ff021916908315150217905550565b611f67611f616124c8565b83612589565b611fa6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f9d9061498a565b60405180910390fd5b611fb2848484846129d3565b50505050565b6060611fc38261245c565b612002576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ff99061490a565b60405180910390fd5b600061200c612a2f565b9050600081511161202c5760405180602001604052806000815250612057565b8061203684612ac1565b6040516020016120479291906145d7565b6040516020818303038152906040525b915050919050565b60116020528060005260406000206000915090505481565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6121136124c8565b73ffffffffffffffffffffffffffffffffffffffff166121316117dd565b73ffffffffffffffffffffffffffffffffffffffff1614612187576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161217e906148ca565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156121c157600080fd5b60005b8181101561228c5760006121d6610dc7565b9050610c64811061221c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612213906149aa565b60405180910390fd5b836010600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061227884826129b5565b50808061228490614d5b565b9150506121c4565b505050565b6122996124c8565b73ffffffffffffffffffffffffffffffffffffffff166122b76117dd565b73ffffffffffffffffffffffffffffffffffffffff161461230d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612304906148ca565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561237d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123749061474a565b60405180910390fd5b612386816128c3565b50565b604051806060016040528060408152602001614eff6040913981565b60007f780e9d63000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480612418575061241782612c6e565b5b9050919050565b80600e5461242d9190614b5e565b600e8190555061243b610dc7565b816124469190614bb4565b600f546124539190614b5e565b600f8190555050565b60008073ffffffffffffffffffffffffffffffffffffffff166002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614159050919050565b600033905090565b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff166125438361145d565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60006125948261245c565b6125d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125ca906147ca565b60405180910390fd5b60006125de8361145d565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148061264d57508373ffffffffffffffffffffffffffffffffffffffff1661263584610c24565b73ffffffffffffffffffffffffffffffffffffffff16145b8061265e575061265d8185612077565b5b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff166126878261145d565b73ffffffffffffffffffffffffffffffffffffffff16146126dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126d4906148ea565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561274d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127449061478a565b60405180910390fd5b612758838383612d50565b6127636000826124d0565b6001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546127b39190614c3f565b925050819055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461280a9190614b5e565b92505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600081836129979190614b5e565b905092915050565b600081836129ad9190614be5565b905092915050565b6129cf828260405180602001604052806000815250612e64565b5050565b6129de848484612667565b6129ea84848484612ebf565b612a29576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a209061470a565b60405180910390fd5b50505050565b6060600b8054612a3e90614d29565b80601f0160208091040260200160405190810160405280929190818152602001828054612a6a90614d29565b8015612ab75780601f10612a8c57610100808354040283529160200191612ab7565b820191906000526020600020905b815481529060010190602001808311612a9a57829003601f168201915b5050505050905090565b60606000821415612b09576040518060400160405280600181526020017f30000000000000000000000000000000000000000000000000000000000000008152509050612c69565b600082905060005b60008214612b3b578080612b2490614d5b565b915050600a82612b349190614bb4565b9150612b11565b60008167ffffffffffffffff811115612b7d577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280601f01601f191660200182016040528015612baf5781602001600182028036833780820191505090505b5090505b60008514612c6257600182612bc89190614c3f565b9150600a85612bd79190614da4565b6030612be39190614b5e565b60f81b818381518110612c1f577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a85612c5b9190614bb4565b9450612bb3565b8093505050505b919050565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480612d3957507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80612d495750612d4882613056565b5b9050919050565b612d5b8383836130c0565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612d9e57612d99816130c5565b612ddd565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614612ddc57612ddb838261310e565b5b5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612e2057612e1b8161327b565b612e5f565b8273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614612e5e57612e5d82826133be565b5b5b505050565b612e6e838361343d565b612e7b6000848484612ebf565b612eba576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612eb19061470a565b60405180910390fd5b505050565b6000612ee08473ffffffffffffffffffffffffffffffffffffffff1661360b565b15613049578373ffffffffffffffffffffffffffffffffffffffff1663150b7a02612f096124c8565b8786866040518563ffffffff1660e01b8152600401612f2b9493929190614616565b602060405180830381600087803b158015612f4557600080fd5b505af1925050508015612f7657506040513d601f19601f82011682018060405250810190612f739190613aa1565b60015b612ff9573d8060008114612fa6576040519150601f19603f3d011682016040523d82523d6000602084013e612fab565b606091505b50600081511415612ff1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612fe89061470a565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161491505061304e565b600190505b949350505050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b505050565b6008805490506009600083815260200190815260200160002081905550600881908060018154018082558091505060019003906000526020600020016000909190919091505550565b6000600161311b8461151b565b6131259190614c3f565b905060006007600084815260200190815260200160002054905081811461320a576000600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002054905080600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002081905550816007600083815260200190815260200160002081905550505b6007600084815260200190815260200160002060009055600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008381526020019081526020016000206000905550505050565b6000600160088054905061328f9190614c3f565b90506000600960008481526020019081526020016000205490506000600883815481106132e5577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90600052602060002001549050806008838154811061332d577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200181905550816009600083815260200190815260200160002081905550600960008581526020019081526020016000206000905560088054806133a2577f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b6001900381819060005260206000200160009055905550505050565b60006133c98361151b565b905081600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002081905550806007600084815260200190815260200160002081905550505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156134ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016134a49061486a565b60405180910390fd5b6134b68161245c565b156134f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016134ed9061476a565b60405180910390fd5b61350260008383612d50565b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546135529190614b5e565b92505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050565b600080823b905060008111915050919050565b82805461362a90614d29565b90600052602060002090601f01602090048101928261364c5760008555613693565b82601f1061366557805160ff1916838001178555613693565b82800160010185558215613693579182015b82811115613692578251825591602001919060010190613677565b5b5090506136a091906136a4565b5090565b5b808211156136bd5760008160009055506001016136a5565b5090565b60006136d46136cf84614a56565b614a25565b905080838252602082019050828560208602820111156136f357600080fd5b60005b85811015613723578161370988826137a9565b8452602084019350602083019250506001810190506136f6565b5050509392505050565b600061374061373b84614a82565b614a25565b90508281526020810184848401111561375857600080fd5b613763848285614ce7565b509392505050565b600061377e61377984614ab2565b614a25565b90508281526020810184848401111561379657600080fd5b6137a1848285614ce7565b509392505050565b6000813590506137b881614ea2565b92915050565b600082601f8301126137cf57600080fd5b81356137df8482602086016136c1565b91505092915050565b6000813590506137f781614eb9565b92915050565b60008135905061380c81614ed0565b92915050565b60008151905061382181614ed0565b92915050565b600082601f83011261383857600080fd5b813561384884826020860161372d565b91505092915050565b600082601f83011261386257600080fd5b813561387284826020860161376b565b91505092915050565b60008135905061388a81614ee7565b92915050565b6000602082840312156138a257600080fd5b60006138b0848285016137a9565b91505092915050565b600080604083850312156138cc57600080fd5b60006138da858286016137a9565b92505060206138eb858286016137a9565b9150509250929050565b60008060006060848603121561390a57600080fd5b6000613918868287016137a9565b9350506020613929868287016137a9565b925050604061393a8682870161387b565b9150509250925092565b6000806000806080858703121561395a57600080fd5b6000613968878288016137a9565b9450506020613979878288016137a9565b935050604061398a8782880161387b565b925050606085013567ffffffffffffffff8111156139a757600080fd5b6139b387828801613827565b91505092959194509250565b600080604083850312156139d257600080fd5b60006139e0858286016137a9565b92505060206139f1858286016137e8565b9150509250929050565b60008060408385031215613a0e57600080fd5b6000613a1c858286016137a9565b9250506020613a2d8582860161387b565b9150509250929050565b600060208284031215613a4957600080fd5b600082013567ffffffffffffffff811115613a6357600080fd5b613a6f848285016137be565b91505092915050565b600060208284031215613a8a57600080fd5b6000613a98848285016137fd565b91505092915050565b600060208284031215613ab357600080fd5b6000613ac184828501613812565b91505092915050565b600060208284031215613adc57600080fd5b600082013567ffffffffffffffff811115613af657600080fd5b613b0284828501613851565b91505092915050565b600060208284031215613b1d57600080fd5b6000613b2b8482850161387b565b91505092915050565b60008060408385031215613b4757600080fd5b6000613b558582860161387b565b9250506020613b668582860161387b565b9150509250929050565b6000613b7c83836145b9565b60208301905092915050565b613b9181614c73565b82525050565b6000613ba282614af2565b613bac8185614b20565b9350613bb783614ae2565b8060005b83811015613be8578151613bcf8882613b70565b9750613bda83614b13565b925050600181019050613bbb565b5085935050505092915050565b613bfe81614c85565b82525050565b6000613c0f82614afd565b613c198185614b31565b9350613c29818560208601614cf6565b613c3281614e91565b840191505092915050565b6000613c4882614b08565b613c528185614b42565b9350613c62818560208601614cf6565b613c6b81614e91565b840191505092915050565b6000613c8182614b08565b613c8b8185614b53565b9350613c9b818560208601614cf6565b80840191505092915050565b6000613cb4602b83614b42565b91507f455243373231456e756d657261626c653a206f776e657220696e646578206f7560008301527f74206f6620626f756e64730000000000000000000000000000000000000000006020830152604082019050919050565b6000613d1a603283614b42565b91507f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008301527f63656976657220696d706c656d656e74657200000000000000000000000000006020830152604082019050919050565b6000613d80602283614b42565b91507f415641582076616c75652073656e742069732062656c6f77207468652070726960008301527f63650000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000613de6602683614b42565b91507f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008301527f64647265737300000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000613e4c601c83614b42565b91507f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006000830152602082019050919050565b6000613e8c602483614b42565b91507f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008301527f72657373000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000613ef2601983614b42565b91507f4552433732313a20617070726f766520746f2063616c6c6572000000000000006000830152602082019050919050565b6000613f32602c83614b42565b91507f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860008301527f697374656e7420746f6b656e00000000000000000000000000000000000000006020830152604082019050919050565b6000613f98602783614b42565b91507f596f752063616e206d696e74206d696e696d756d20312c206d6178696d756d2060008301527f3130204e465473000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000613ffe603883614b42565b91507f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760008301527f6e6572206e6f7220617070726f76656420666f7220616c6c00000000000000006020830152604082019050919050565b6000614064602a83614b42565b91507f4552433732313a2062616c616e636520717565727920666f7220746865207a6560008301527f726f2061646472657373000000000000000000000000000000000000000000006020830152604082019050919050565b60006140ca602983614b42565b91507f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460008301527f656e7420746f6b656e00000000000000000000000000000000000000000000006020830152604082019050919050565b6000614130602083614b42565b91507f4552433732313a206d696e7420746f20746865207a65726f20616464726573736000830152602082019050919050565b6000614170602c83614b42565b91507f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860008301527f697374656e7420746f6b656e00000000000000000000000000000000000000006020830152604082019050919050565b60006141d6601083614b42565b91507f45786365656473204d41585f4e465453000000000000000000000000000000006000830152602082019050919050565b6000614216602083614b42565b91507f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726000830152602082019050919050565b6000614256602983614b42565b91507f4552433732313a207472616e73666572206f6620746f6b656e2074686174206960008301527f73206e6f74206f776e00000000000000000000000000000000000000000000006020830152604082019050919050565b60006142bc602f83614b42565b91507f4552433732314d657461646174613a2055524920717565727920666f72206e6f60008301527f6e6578697374656e7420746f6b656e00000000000000000000000000000000006020830152604082019050919050565b6000614322602183614b42565b91507f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008301527f72000000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000614388601683614b42565b91507f53616c652068617320616c726561647920656e646564000000000000000000006000830152602082019050919050565b60006143c8603883614b42565b91507f4176616c616e63686520446f67733a204f6e6c79206f776e6572206f7220617060008301527f70726f7665642063616e20636c61696d207265776172647300000000000000006020830152604082019050919050565b600061442e603183614b42565b91507f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f60008301527f776e6572206e6f7220617070726f7665640000000000000000000000000000006020830152604082019050919050565b6000614494604c83614b42565b91507f546869732066756e6374696f6e2063616e206f6e6c792062652063616c6c656460008301527f20746f206d696772617465204e465473206d696e746564206f6e20707265766960208301527f6f757320636f6e747261637400000000000000000000000000000000000000006040830152606082019050919050565b6000614520602c83614b42565b91507f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60008301527f7574206f6620626f756e647300000000000000000000000000000000000000006020830152604082019050919050565b6000614586601383614b42565b91507f53616c65206861736e27742073746172746564000000000000000000000000006000830152602082019050919050565b6145c281614cdd565b82525050565b6145d181614cdd565b82525050565b60006145e38285613c76565b91506145ef8284613c76565b91508190509392505050565b60006020820190506146106000830184613b88565b92915050565b600060808201905061462b6000830187613b88565b6146386020830186613b88565b61464560408301856145c8565b81810360608301526146578184613c04565b905095945050505050565b60006040820190506146776000830185613b88565b61468460208301846145c8565b9392505050565b600060208201905081810360008301526146a58184613b97565b905092915050565b60006020820190506146c26000830184613bf5565b92915050565b600060208201905081810360008301526146e28184613c3d565b905092915050565b6000602082019050818103600083015261470381613ca7565b9050919050565b6000602082019050818103600083015261472381613d0d565b9050919050565b6000602082019050818103600083015261474381613d73565b9050919050565b6000602082019050818103600083015261476381613dd9565b9050919050565b6000602082019050818103600083015261478381613e3f565b9050919050565b600060208201905081810360008301526147a381613e7f565b9050919050565b600060208201905081810360008301526147c381613ee5565b9050919050565b600060208201905081810360008301526147e381613f25565b9050919050565b6000602082019050818103600083015261480381613f8b565b9050919050565b6000602082019050818103600083015261482381613ff1565b9050919050565b6000602082019050818103600083015261484381614057565b9050919050565b60006020820190508181036000830152614863816140bd565b9050919050565b6000602082019050818103600083015261488381614123565b9050919050565b600060208201905081810360008301526148a381614163565b9050919050565b600060208201905081810360008301526148c3816141c9565b9050919050565b600060208201905081810360008301526148e381614209565b9050919050565b6000602082019050818103600083015261490381614249565b9050919050565b60006020820190508181036000830152614923816142af565b9050919050565b6000602082019050818103600083015261494381614315565b9050919050565b600060208201905081810360008301526149638161437b565b9050919050565b60006020820190508181036000830152614983816143bb565b9050919050565b600060208201905081810360008301526149a381614421565b9050919050565b600060208201905081810360008301526149c381614487565b9050919050565b600060208201905081810360008301526149e381614513565b9050919050565b60006020820190508181036000830152614a0381614579565b9050919050565b6000602082019050614a1f60008301846145c8565b92915050565b6000604051905081810181811067ffffffffffffffff82111715614a4c57614a4b614e62565b5b8060405250919050565b600067ffffffffffffffff821115614a7157614a70614e62565b5b602082029050602081019050919050565b600067ffffffffffffffff821115614a9d57614a9c614e62565b5b601f19601f8301169050602081019050919050565b600067ffffffffffffffff821115614acd57614acc614e62565b5b601f19601f8301169050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b6000614b6982614cdd565b9150614b7483614cdd565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115614ba957614ba8614dd5565b5b828201905092915050565b6000614bbf82614cdd565b9150614bca83614cdd565b925082614bda57614bd9614e04565b5b828204905092915050565b6000614bf082614cdd565b9150614bfb83614cdd565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615614c3457614c33614dd5565b5b828202905092915050565b6000614c4a82614cdd565b9150614c5583614cdd565b925082821015614c6857614c67614dd5565b5b828203905092915050565b6000614c7e82614cbd565b9050919050565b60008115159050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b82818337600083830152505050565b60005b83811015614d14578082015181840152602081019050614cf9565b83811115614d23576000848401525b50505050565b60006002820490506001821680614d4157607f821691505b60208210811415614d5557614d54614e33565b5b50919050565b6000614d6682614cdd565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415614d9957614d98614dd5565b5b600182019050919050565b6000614daf82614cdd565b9150614dba83614cdd565b925082614dca57614dc9614e04565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b614eab81614c73565b8114614eb657600080fd5b50565b614ec281614c85565b8114614ecd57600080fd5b50565b614ed981614c91565b8114614ee457600080fd5b50565b614ef081614cdd565b8114614efb57600080fd5b5056fe30636235323733383466383862386161313633633835626338666166353534636131363635633565643065646639316235663063653033323337313130383538a26469706673582212206ab768c69d1b094bd4901ae0f68ada9883a4044961be62b6834f01e4059f9edb64736f6c6343000800003368747470733a2f2f6170692e73686962617661782e696f2f61766178646f67732f6d657461646174612f