{
  "_format": "hh-sol-artifact-1",
  "contractName": "TimelockController",
  "sourceName": "@openzeppelin/contracts/governance/TimelockController.sol",
  "abi": [
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "minDelay",
          "type": "uint256"
        },
        {
          "internalType": "address[]",
          "name": "proposers",
          "type": "address[]"
        },
        {
          "internalType": "address[]",
          "name": "executors",
          "type": "address[]"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "id",
          "type": "bytes32"
        },
        {
          "indexed": true,
          "internalType": "uint256",
          "name": "index",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "address",
          "name": "target",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "value",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "bytes",
          "name": "data",
          "type": "bytes"
        }
      ],
      "name": "CallExecuted",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "id",
          "type": "bytes32"
        },
        {
          "indexed": true,
          "internalType": "uint256",
          "name": "index",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "address",
          "name": "target",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "value",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "bytes",
          "name": "data",
          "type": "bytes"
        },
        {
          "indexed": false,
          "internalType": "bytes32",
          "name": "predecessor",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "delay",
          "type": "uint256"
        }
      ],
      "name": "CallScheduled",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "id",
          "type": "bytes32"
        }
      ],
      "name": "Cancelled",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "oldDuration",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "newDuration",
          "type": "uint256"
        }
      ],
      "name": "MinDelayChange",
      "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"
    },
    {
      "inputs": [],
      "name": "CANCELLER_ROLE",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "DEFAULT_ADMIN_ROLE",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "EXECUTOR_ROLE",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "PROPOSER_ROLE",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "TIMELOCK_ADMIN_ROLE",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "id",
          "type": "bytes32"
        }
      ],
      "name": "cancel",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "target",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "value",
          "type": "uint256"
        },
        {
          "internalType": "bytes",
          "name": "payload",
          "type": "bytes"
        },
        {
          "internalType": "bytes32",
          "name": "predecessor",
          "type": "bytes32"
        },
        {
          "internalType": "bytes32",
          "name": "salt",
          "type": "bytes32"
        }
      ],
      "name": "execute",
      "outputs": [],
      "stateMutability": "payable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address[]",
          "name": "targets",
          "type": "address[]"
        },
        {
          "internalType": "uint256[]",
          "name": "values",
          "type": "uint256[]"
        },
        {
          "internalType": "bytes[]",
          "name": "payloads",
          "type": "bytes[]"
        },
        {
          "internalType": "bytes32",
          "name": "predecessor",
          "type": "bytes32"
        },
        {
          "internalType": "bytes32",
          "name": "salt",
          "type": "bytes32"
        }
      ],
      "name": "executeBatch",
      "outputs": [],
      "stateMutability": "payable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getMinDelay",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "duration",
          "type": "uint256"
        }
      ],
      "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": "id",
          "type": "bytes32"
        }
      ],
      "name": "getTimestamp",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "timestamp",
          "type": "uint256"
        }
      ],
      "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": "target",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "value",
          "type": "uint256"
        },
        {
          "internalType": "bytes",
          "name": "data",
          "type": "bytes"
        },
        {
          "internalType": "bytes32",
          "name": "predecessor",
          "type": "bytes32"
        },
        {
          "internalType": "bytes32",
          "name": "salt",
          "type": "bytes32"
        }
      ],
      "name": "hashOperation",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "hash",
          "type": "bytes32"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address[]",
          "name": "targets",
          "type": "address[]"
        },
        {
          "internalType": "uint256[]",
          "name": "values",
          "type": "uint256[]"
        },
        {
          "internalType": "bytes[]",
          "name": "payloads",
          "type": "bytes[]"
        },
        {
          "internalType": "bytes32",
          "name": "predecessor",
          "type": "bytes32"
        },
        {
          "internalType": "bytes32",
          "name": "salt",
          "type": "bytes32"
        }
      ],
      "name": "hashOperationBatch",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "hash",
          "type": "bytes32"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "id",
          "type": "bytes32"
        }
      ],
      "name": "isOperation",
      "outputs": [
        {
          "internalType": "bool",
          "name": "registered",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "id",
          "type": "bytes32"
        }
      ],
      "name": "isOperationDone",
      "outputs": [
        {
          "internalType": "bool",
          "name": "done",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "id",
          "type": "bytes32"
        }
      ],
      "name": "isOperationPending",
      "outputs": [
        {
          "internalType": "bool",
          "name": "pending",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "id",
          "type": "bytes32"
        }
      ],
      "name": "isOperationReady",
      "outputs": [
        {
          "internalType": "bool",
          "name": "ready",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        },
        {
          "internalType": "uint256[]",
          "name": "",
          "type": "uint256[]"
        },
        {
          "internalType": "uint256[]",
          "name": "",
          "type": "uint256[]"
        },
        {
          "internalType": "bytes",
          "name": "",
          "type": "bytes"
        }
      ],
      "name": "onERC1155BatchReceived",
      "outputs": [
        {
          "internalType": "bytes4",
          "name": "",
          "type": "bytes4"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        },
        {
          "internalType": "bytes",
          "name": "",
          "type": "bytes"
        }
      ],
      "name": "onERC1155Received",
      "outputs": [
        {
          "internalType": "bytes4",
          "name": "",
          "type": "bytes4"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        },
        {
          "internalType": "bytes",
          "name": "",
          "type": "bytes"
        }
      ],
      "name": "onERC721Received",
      "outputs": [
        {
          "internalType": "bytes4",
          "name": "",
          "type": "bytes4"
        }
      ],
      "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": "target",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "value",
          "type": "uint256"
        },
        {
          "internalType": "bytes",
          "name": "data",
          "type": "bytes"
        },
        {
          "internalType": "bytes32",
          "name": "predecessor",
          "type": "bytes32"
        },
        {
          "internalType": "bytes32",
          "name": "salt",
          "type": "bytes32"
        },
        {
          "internalType": "uint256",
          "name": "delay",
          "type": "uint256"
        }
      ],
      "name": "schedule",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address[]",
          "name": "targets",
          "type": "address[]"
        },
        {
          "internalType": "uint256[]",
          "name": "values",
          "type": "uint256[]"
        },
        {
          "internalType": "bytes[]",
          "name": "payloads",
          "type": "bytes[]"
        },
        {
          "internalType": "bytes32",
          "name": "predecessor",
          "type": "bytes32"
        },
        {
          "internalType": "bytes32",
          "name": "salt",
          "type": "bytes32"
        },
        {
          "internalType": "uint256",
          "name": "delay",
          "type": "uint256"
        }
      ],
      "name": "scheduleBatch",
      "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": [
        {
          "internalType": "uint256",
          "name": "newDelay",
          "type": "uint256"
        }
      ],
      "name": "updateDelay",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "stateMutability": "payable",
      "type": "receive"
    }
  ],
  "bytecode": "0x60806040523480156200001157600080fd5b50604051620022ee380380620022ee833981016040819052620000349162000408565b6200004f6000805160206200226e8339815191528062000240565b620000796000805160206200228e8339815191526000805160206200226e83398151915262000240565b620000a3600080516020620022ae8339815191526000805160206200226e83398151915262000240565b620000cd600080516020620022ce8339815191526000805160206200226e83398151915262000240565b620000e86000805160206200226e833981519152336200028b565b620001036000805160206200226e833981519152306200028b565b60005b8251811015620001a157620001596000805160206200228e8339815191528483815181106200014557634e487b7160e01b600052603260045260246000fd5b60200260200101516200028b60201b60201c565b6200018e600080516020620022ce8339815191528483815181106200014557634e487b7160e01b600052603260045260246000fd5b620001998162000479565b905062000106565b5060005b8151811015620001f757620001e4600080516020620022ae8339815191528383815181106200014557634e487b7160e01b600052603260045260246000fd5b620001ef8162000479565b9050620001a5565b5060028390556040805160008152602081018590527f11c24f4ead16507c69ac467fbd5e4eed5fb5c699626d2cc6d66421df253886d5910160405180910390a1505050620004b7565b600082815260208190526040808220600101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b6200029782826200029b565b5050565b6000828152602081815260408083206001600160a01b038516845290915290205460ff1662000297576000828152602081815260408083206001600160a01b03851684529091529020805460ff19166001179055620002f73390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b80516001600160a01b03811681146200035357600080fd5b919050565b600082601f83011262000369578081fd5b815160206001600160401b0380831115620003885762000388620004a1565b8260051b604051601f19603f83011681018181108482111715620003b057620003b0620004a1565b60405284815283810192508684018288018501891015620003cf578687fd5b8692505b85831015620003fc57620003e7816200033b565b845292840192600192909201918401620003d3565b50979650505050505050565b6000806000606084860312156200041d578283fd5b835160208501519093506001600160401b03808211156200043c578384fd5b6200044a8783880162000358565b9350604086015191508082111562000460578283fd5b506200046f8682870162000358565b9150509250925092565b60006000198214156200049a57634e487b7160e01b81526011600452602481fd5b5060010190565b634e487b7160e01b600052604160045260246000fd5b611da780620004c76000396000f3fe60806040526004361061017b5760003560e01c80638065657f116100cc578063bc197c811161007a578063bc197c81146104a5578063c4d252f5146104d1578063d45c4435146104f1578063d547741f1461051e578063e38335e51461053e578063f23a6e6114610551578063f27a0c921461057d57600080fd5b80638065657f146103ba5780638f2a0bb0146103da5780638f61f4f5146103fa57806391d148541461041c578063a217fddf1461043c578063b08e51c014610451578063b1c5f4271461048557600080fd5b8063248a9ca311610129578063248a9ca3146102b95780632ab0f529146102e95780632f2ff15d1461031a57806331d507501461033a57806336568abe1461035a578063584b153e1461037a57806364d623531461039a57600080fd5b806301d5062a1461018757806301ffc9a7146101a957806307bd0265146101de5780630d3cf6fc1461020e578063134008d31461024257806313bc9f2014610255578063150b7a021461027557600080fd5b3661018257005b600080fd5b34801561019357600080fd5b506101a76101a23660046116c2565b610592565b005b3480156101b557600080fd5b506101c96101c43660046118c8565b610615565b60405190151581526020015b60405180910390f35b3480156101ea57600080fd5b50610200600080516020611d5283398151915281565b6040519081526020016101d5565b34801561021a57600080fd5b506102007f5f58e3a2316349923ce3780f8d587db2d72378aed66a8261c916544fa6846ca581565b6101a7610250366004611659565b610640565b34801561026157600080fd5b506101c9610270366004611885565b6106e3565b34801561028157600080fd5b506102a0610290366004611592565b630a85bd0160e11b949350505050565b6040516001600160e01b031990911681526020016101d5565b3480156102c557600080fd5b506102006102d4366004611885565b60009081526020819052604090206001015490565b3480156102f557600080fd5b506101c9610304366004611885565b6000908152600160208190526040909120541490565b34801561032657600080fd5b506101a761033536600461189d565b610709565b34801561034657600080fd5b506101c9610355366004611885565b610733565b34801561036657600080fd5b506101a761037536600461189d565b61074c565b34801561038657600080fd5b506101c9610395366004611885565b6107cf565b3480156103a657600080fd5b506101a76103b5366004611885565b6107e5565b3480156103c657600080fd5b506102006103d5366004611659565b610889565b3480156103e657600080fd5b506101a76103f53660046117d8565b6108c8565b34801561040657600080fd5b50610200600080516020611d3283398151915281565b34801561042857600080fd5b506101c961043736600461189d565b610a32565b34801561044857600080fd5b50610200600081565b34801561045d57600080fd5b506102007ffd643c72710c63c0180259aba6b2d05451e3591a24e58b62239378085726f78381565b34801561049157600080fd5b506102006104a0366004611734565b610a5b565b3480156104b157600080fd5b506102a06104c03660046114ed565b63bc197c8160e01b95945050505050565b3480156104dd57600080fd5b506101a76104ec366004611885565b610aa0565b3480156104fd57600080fd5b5061020061050c366004611885565b60009081526001602052604090205490565b34801561052a57600080fd5b506101a761053936600461189d565b610b75565b6101a761054c366004611734565b610b9a565b34801561055d57600080fd5b506102a061056c3660046115f7565b63f23a6e6160e01b95945050505050565b34801561058957600080fd5b50600254610200565b600080516020611d328339815191526105aa81610d3c565b60006105ba898989898989610889565b90506105c68184610d49565b6000817f4cf4410cc57040e44862ef0f45f3dd5a5e02db8eb8add648d4b0e236f1d07dca8b8b8b8b8b8a60405161060296959493929190611a56565b60405180910390a3505050505050505050565b60006001600160e01b03198216630271189760e51b148061063a575061063a82610e38565b92915050565b600080516020611d5283398151915261065a816000610a32565b610668576106688133610e6d565b6000610678888888888888610889565b90506106848185610ed1565b61069088888888610f6d565b6000817fc2617efa69bab66782fa219543714338489c4e9e178271560a91b82c3f612b588a8a8a8a6040516106c89493929190611a24565b60405180910390a36106d981611040565b5050505050505050565b6000818152600160205260408120546001811180156107025750428111155b9392505050565b60008281526020819052604090206001015461072481610d3c565b61072e8383611079565b505050565b60008181526001602052604081205481905b1192915050565b6001600160a01b03811633146107c15760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084015b60405180910390fd5b6107cb82826110fd565b5050565b6000818152600160208190526040822054610745565b3330146108485760405162461bcd60e51b815260206004820152602b60248201527f54696d656c6f636b436f6e74726f6c6c65723a2063616c6c6572206d7573742060448201526a62652074696d656c6f636b60a81b60648201526084016107b8565b60025460408051918252602082018390527f11c24f4ead16507c69ac467fbd5e4eed5fb5c699626d2cc6d66421df253886d5910160405180910390a1600255565b60008686868686866040516020016108a696959493929190611a56565b6040516020818303038152906040528051906020012090509695505050505050565b600080516020611d328339815191526108e081610d3c565b8887146108ff5760405162461bcd60e51b81526004016107b890611b6b565b88851461091e5760405162461bcd60e51b81526004016107b890611b6b565b60006109308b8b8b8b8b8b8b8b610a5b565b905061093c8184610d49565b60005b8a811015610a245780827f4cf4410cc57040e44862ef0f45f3dd5a5e02db8eb8add648d4b0e236f1d07dca8e8e8581811061098a57634e487b7160e01b600052603260045260246000fd5b905060200201602081019061099f91906114d3565b8d8d868181106109bf57634e487b7160e01b600052603260045260246000fd5b905060200201358c8c878181106109e657634e487b7160e01b600052603260045260246000fd5b90506020028101906109f89190611bf8565b8c8b604051610a0c96959493929190611a56565b60405180910390a3610a1d81611cea565b905061093f565b505050505050505050505050565b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b60008888888888888888604051602001610a7c989796959493929190611a93565b60405160208183030381529060405280519060200120905098975050505050505050565b7ffd643c72710c63c0180259aba6b2d05451e3591a24e58b62239378085726f783610aca81610d3c565b610ad3826107cf565b610b395760405162461bcd60e51b815260206004820152603160248201527f54696d656c6f636b436f6e74726f6c6c65723a206f7065726174696f6e2063616044820152701b9b9bdd0818994818d85b98d95b1b1959607a1b60648201526084016107b8565b6000828152600160205260408082208290555183917fbaa1eb22f2a492ba1a5fea61b8df4d27c6c8b5f3971e63bb58fa14ff72eedb7091a25050565b600082815260208190526040902060010154610b9081610d3c565b61072e83836110fd565b600080516020611d52833981519152610bb4816000610a32565b610bc257610bc28133610e6d565b878614610be15760405162461bcd60e51b81526004016107b890611b6b565b878414610c005760405162461bcd60e51b81526004016107b890611b6b565b6000610c128a8a8a8a8a8a8a8a610a5b565b9050610c1e8185610ed1565b60005b89811015610d265760008b8b83818110610c4b57634e487b7160e01b600052603260045260246000fd5b9050602002016020810190610c6091906114d3565b905060008a8a84818110610c8457634e487b7160e01b600052603260045260246000fd5b9050602002013590503660008a8a86818110610cb057634e487b7160e01b600052603260045260246000fd5b9050602002810190610cc29190611bf8565b91509150610cd284848484610f6d565b84867fc2617efa69bab66782fa219543714338489c4e9e178271560a91b82c3f612b5886868686604051610d099493929190611a24565b60405180910390a35050505080610d1f90611cea565b9050610c21565b50610d3081611040565b50505050505050505050565b610d468133610e6d565b50565b610d5282610733565b15610db75760405162461bcd60e51b815260206004820152602f60248201527f54696d656c6f636b436f6e74726f6c6c65723a206f7065726174696f6e20616c60448201526e1c9958591e481cd8da19591d5b1959608a1b60648201526084016107b8565b600254811015610e185760405162461bcd60e51b815260206004820152602660248201527f54696d656c6f636b436f6e74726f6c6c65723a20696e73756666696369656e746044820152652064656c617960d01b60648201526084016107b8565b610e228142611c6c565b6000928352600160205260409092209190915550565b60006001600160e01b03198216637965db0b60e01b148061063a57506301ffc9a760e01b6001600160e01b031983161461063a565b610e778282610a32565b6107cb57610e8f816001600160a01b03166014611162565b610e9a836020611162565b604051602001610eab9291906119b5565b60408051601f198184030181529082905262461bcd60e51b82526107b891600401611b38565b610eda826106e3565b610ef65760405162461bcd60e51b81526004016107b890611bae565b801580610f125750600081815260016020819052604090912054145b6107cb5760405162461bcd60e51b815260206004820152602660248201527f54696d656c6f636b436f6e74726f6c6c65723a206d697373696e6720646570656044820152656e64656e637960d01b60648201526084016107b8565b6000846001600160a01b0316848484604051610f8a9291906119a5565b60006040518083038185875af1925050503d8060008114610fc7576040519150601f19603f3d011682016040523d82523d6000602084013e610fcc565b606091505b50509050806110395760405162461bcd60e51b815260206004820152603360248201527f54696d656c6f636b436f6e74726f6c6c65723a20756e6465726c79696e6720746044820152721c985b9cd858dd1a5bdb881c995d995c9d1959606a1b60648201526084016107b8565b5050505050565b611049816106e3565b6110655760405162461bcd60e51b81526004016107b890611bae565b600090815260016020819052604090912055565b6110838282610a32565b6107cb576000828152602081815260408083206001600160a01b03851684529091529020805460ff191660011790556110b93390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6111078282610a32565b156107cb576000828152602081815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b60606000611171836002611c84565b61117c906002611c6c565b6001600160401b038111156111a157634e487b7160e01b600052604160045260246000fd5b6040519080825280601f01601f1916602001820160405280156111cb576020820181803683370190505b509050600360fc1b816000815181106111f457634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a905350600f60fb1b8160018151811061123157634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a9053506000611255846002611c84565b611260906001611c6c565b90505b60018111156112f4576f181899199a1a9b1b9c1cb0b131b232b360811b85600f16601081106112a257634e487b7160e01b600052603260045260246000fd5b1a60f81b8282815181106112c657634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a90535060049490941c936112ed81611cd3565b9050611263565b5083156107025760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016107b8565b80356001600160a01b038116811461135a57600080fd5b919050565b60008083601f840112611370578182fd5b5081356001600160401b03811115611386578182fd5b6020830191508360208260051b85010111156113a157600080fd5b9250929050565b600082601f8301126113b8578081fd5b813560206001600160401b038211156113d3576113d3611d1b565b8160051b6113e2828201611c3c565b8381528281019086840183880185018910156113fc578687fd5b8693505b8584101561141e578035835260019390930192918401918401611400565b50979650505050505050565b60008083601f84011261143b578182fd5b5081356001600160401b03811115611451578182fd5b6020830191508360208285010111156113a157600080fd5b600082601f830112611479578081fd5b81356001600160401b0381111561149257611492611d1b565b6114a5601f8201601f1916602001611c3c565b8181528460208386010111156114b9578283fd5b816020850160208301379081016020019190915292915050565b6000602082840312156114e4578081fd5b61070282611343565b600080600080600060a08688031215611504578081fd5b61150d86611343565b945061151b60208701611343565b935060408601356001600160401b0380821115611536578283fd5b61154289838a016113a8565b94506060880135915080821115611557578283fd5b61156389838a016113a8565b93506080880135915080821115611578578283fd5b5061158588828901611469565b9150509295509295909350565b600080600080608085870312156115a7578384fd5b6115b085611343565b93506115be60208601611343565b92506040850135915060608501356001600160401b038111156115df578182fd5b6115eb87828801611469565b91505092959194509250565b600080600080600060a0868803121561160e578081fd5b61161786611343565b945061162560208701611343565b9350604086013592506060860135915060808601356001600160401b0381111561164d578182fd5b61158588828901611469565b60008060008060008060a08789031215611671578081fd5b61167a87611343565b95506020870135945060408701356001600160401b0381111561169b578182fd5b6116a789828a0161142a565b979a9699509760608101359660809091013595509350505050565b600080600080600080600060c0888a0312156116dc578081fd5b6116e588611343565b96506020880135955060408801356001600160401b03811115611706578182fd5b6117128a828b0161142a565b989b979a50986060810135976080820135975060a09091013595509350505050565b60008060008060008060008060a0898b03121561174f578182fd5b88356001600160401b0380821115611765578384fd5b6117718c838d0161135f565b909a50985060208b0135915080821115611789578384fd5b6117958c838d0161135f565b909850965060408b01359150808211156117ad578384fd5b506117ba8b828c0161135f565b999c989b509699959896976060870135966080013595509350505050565b600080600080600080600080600060c08a8c0312156117f5578283fd5b89356001600160401b038082111561180b578485fd5b6118178d838e0161135f565b909b50995060208c013591508082111561182f578485fd5b61183b8d838e0161135f565b909950975060408c0135915080821115611853578485fd5b506118608c828d0161135f565b9a9d999c50979a969997986060880135976080810135975060a0013595509350505050565b600060208284031215611896578081fd5b5035919050565b600080604083850312156118af578182fd5b823591506118bf60208401611343565b90509250929050565b6000602082840312156118d9578081fd5b81356001600160e01b031981168114610702578182fd5b81835260006020808501808196508560051b8101915084845b8781101561196f5782840389528135601e19883603018112611929578687fd5b870180356001600160401b03811115611940578788fd5b80360389131561194e578788fd5b61195b868289850161197c565b9a87019a9550505090840190600101611909565b5091979650505050505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b8183823760009101908152919050565b76020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b8152600083516119e7816017850160208801611ca3565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351611a18816028840160208801611ca3565b01602801949350505050565b60018060a01b0385168152836020820152606060408201526000611a4c60608301848661197c565b9695505050505050565b60018060a01b038716815285602082015260a060408201526000611a7e60a08301868861197c565b60608301949094525060800152949350505050565b60a0808252810188905260008960c08301825b8b811015611ad4576001600160a01b03611abf84611343565b16825260209283019290910190600101611aa6565b5083810360208501528881526001600160fb1b03891115611af3578283fd5b8860051b9150818a60208301370160208181018381528483039091016040850152611b1f81888a6118f0565b6060850196909652505050608001529695505050505050565b6020815260008251806020840152611b57816040850160208701611ca3565b601f01601f19169190910160400192915050565b60208082526023908201527f54696d656c6f636b436f6e74726f6c6c65723a206c656e677468206d69736d616040820152620e8c6d60eb1b606082015260800190565b6020808252602a908201527f54696d656c6f636b436f6e74726f6c6c65723a206f7065726174696f6e206973604082015269206e6f7420726561647960b01b606082015260800190565b6000808335601e19843603018112611c0e578283fd5b8301803591506001600160401b03821115611c27578283fd5b6020019150368190038213156113a157600080fd5b604051601f8201601f191681016001600160401b0381118282101715611c6457611c64611d1b565b604052919050565b60008219821115611c7f57611c7f611d05565b500190565b6000816000190483118215151615611c9e57611c9e611d05565b500290565b60005b83811015611cbe578181015183820152602001611ca6565b83811115611ccd576000848401525b50505050565b600081611ce257611ce2611d05565b506000190190565b6000600019821415611cfe57611cfe611d05565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fdfeb09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc1d8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e63a26469706673582212206d90885db2d8c4371aa3f8652a8d8022413dd3c8e5e5005e5ad480fc4bdfa7c864736f6c634300080400335f58e3a2316349923ce3780f8d587db2d72378aed66a8261c916544fa6846ca5b09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc1d8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e63fd643c72710c63c0180259aba6b2d05451e3591a24e58b62239378085726f783",
  "deployedBytecode": "0x60806040526004361061017b5760003560e01c80638065657f116100cc578063bc197c811161007a578063bc197c81146104a5578063c4d252f5146104d1578063d45c4435146104f1578063d547741f1461051e578063e38335e51461053e578063f23a6e6114610551578063f27a0c921461057d57600080fd5b80638065657f146103ba5780638f2a0bb0146103da5780638f61f4f5146103fa57806391d148541461041c578063a217fddf1461043c578063b08e51c014610451578063b1c5f4271461048557600080fd5b8063248a9ca311610129578063248a9ca3146102b95780632ab0f529146102e95780632f2ff15d1461031a57806331d507501461033a57806336568abe1461035a578063584b153e1461037a57806364d623531461039a57600080fd5b806301d5062a1461018757806301ffc9a7146101a957806307bd0265146101de5780630d3cf6fc1461020e578063134008d31461024257806313bc9f2014610255578063150b7a021461027557600080fd5b3661018257005b600080fd5b34801561019357600080fd5b506101a76101a23660046116c2565b610592565b005b3480156101b557600080fd5b506101c96101c43660046118c8565b610615565b60405190151581526020015b60405180910390f35b3480156101ea57600080fd5b50610200600080516020611d5283398151915281565b6040519081526020016101d5565b34801561021a57600080fd5b506102007f5f58e3a2316349923ce3780f8d587db2d72378aed66a8261c916544fa6846ca581565b6101a7610250366004611659565b610640565b34801561026157600080fd5b506101c9610270366004611885565b6106e3565b34801561028157600080fd5b506102a0610290366004611592565b630a85bd0160e11b949350505050565b6040516001600160e01b031990911681526020016101d5565b3480156102c557600080fd5b506102006102d4366004611885565b60009081526020819052604090206001015490565b3480156102f557600080fd5b506101c9610304366004611885565b6000908152600160208190526040909120541490565b34801561032657600080fd5b506101a761033536600461189d565b610709565b34801561034657600080fd5b506101c9610355366004611885565b610733565b34801561036657600080fd5b506101a761037536600461189d565b61074c565b34801561038657600080fd5b506101c9610395366004611885565b6107cf565b3480156103a657600080fd5b506101a76103b5366004611885565b6107e5565b3480156103c657600080fd5b506102006103d5366004611659565b610889565b3480156103e657600080fd5b506101a76103f53660046117d8565b6108c8565b34801561040657600080fd5b50610200600080516020611d3283398151915281565b34801561042857600080fd5b506101c961043736600461189d565b610a32565b34801561044857600080fd5b50610200600081565b34801561045d57600080fd5b506102007ffd643c72710c63c0180259aba6b2d05451e3591a24e58b62239378085726f78381565b34801561049157600080fd5b506102006104a0366004611734565b610a5b565b3480156104b157600080fd5b506102a06104c03660046114ed565b63bc197c8160e01b95945050505050565b3480156104dd57600080fd5b506101a76104ec366004611885565b610aa0565b3480156104fd57600080fd5b5061020061050c366004611885565b60009081526001602052604090205490565b34801561052a57600080fd5b506101a761053936600461189d565b610b75565b6101a761054c366004611734565b610b9a565b34801561055d57600080fd5b506102a061056c3660046115f7565b63f23a6e6160e01b95945050505050565b34801561058957600080fd5b50600254610200565b600080516020611d328339815191526105aa81610d3c565b60006105ba898989898989610889565b90506105c68184610d49565b6000817f4cf4410cc57040e44862ef0f45f3dd5a5e02db8eb8add648d4b0e236f1d07dca8b8b8b8b8b8a60405161060296959493929190611a56565b60405180910390a3505050505050505050565b60006001600160e01b03198216630271189760e51b148061063a575061063a82610e38565b92915050565b600080516020611d5283398151915261065a816000610a32565b610668576106688133610e6d565b6000610678888888888888610889565b90506106848185610ed1565b61069088888888610f6d565b6000817fc2617efa69bab66782fa219543714338489c4e9e178271560a91b82c3f612b588a8a8a8a6040516106c89493929190611a24565b60405180910390a36106d981611040565b5050505050505050565b6000818152600160205260408120546001811180156107025750428111155b9392505050565b60008281526020819052604090206001015461072481610d3c565b61072e8383611079565b505050565b60008181526001602052604081205481905b1192915050565b6001600160a01b03811633146107c15760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084015b60405180910390fd5b6107cb82826110fd565b5050565b6000818152600160208190526040822054610745565b3330146108485760405162461bcd60e51b815260206004820152602b60248201527f54696d656c6f636b436f6e74726f6c6c65723a2063616c6c6572206d7573742060448201526a62652074696d656c6f636b60a81b60648201526084016107b8565b60025460408051918252602082018390527f11c24f4ead16507c69ac467fbd5e4eed5fb5c699626d2cc6d66421df253886d5910160405180910390a1600255565b60008686868686866040516020016108a696959493929190611a56565b6040516020818303038152906040528051906020012090509695505050505050565b600080516020611d328339815191526108e081610d3c565b8887146108ff5760405162461bcd60e51b81526004016107b890611b6b565b88851461091e5760405162461bcd60e51b81526004016107b890611b6b565b60006109308b8b8b8b8b8b8b8b610a5b565b905061093c8184610d49565b60005b8a811015610a245780827f4cf4410cc57040e44862ef0f45f3dd5a5e02db8eb8add648d4b0e236f1d07dca8e8e8581811061098a57634e487b7160e01b600052603260045260246000fd5b905060200201602081019061099f91906114d3565b8d8d868181106109bf57634e487b7160e01b600052603260045260246000fd5b905060200201358c8c878181106109e657634e487b7160e01b600052603260045260246000fd5b90506020028101906109f89190611bf8565b8c8b604051610a0c96959493929190611a56565b60405180910390a3610a1d81611cea565b905061093f565b505050505050505050505050565b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b60008888888888888888604051602001610a7c989796959493929190611a93565b60405160208183030381529060405280519060200120905098975050505050505050565b7ffd643c72710c63c0180259aba6b2d05451e3591a24e58b62239378085726f783610aca81610d3c565b610ad3826107cf565b610b395760405162461bcd60e51b815260206004820152603160248201527f54696d656c6f636b436f6e74726f6c6c65723a206f7065726174696f6e2063616044820152701b9b9bdd0818994818d85b98d95b1b1959607a1b60648201526084016107b8565b6000828152600160205260408082208290555183917fbaa1eb22f2a492ba1a5fea61b8df4d27c6c8b5f3971e63bb58fa14ff72eedb7091a25050565b600082815260208190526040902060010154610b9081610d3c565b61072e83836110fd565b600080516020611d52833981519152610bb4816000610a32565b610bc257610bc28133610e6d565b878614610be15760405162461bcd60e51b81526004016107b890611b6b565b878414610c005760405162461bcd60e51b81526004016107b890611b6b565b6000610c128a8a8a8a8a8a8a8a610a5b565b9050610c1e8185610ed1565b60005b89811015610d265760008b8b83818110610c4b57634e487b7160e01b600052603260045260246000fd5b9050602002016020810190610c6091906114d3565b905060008a8a84818110610c8457634e487b7160e01b600052603260045260246000fd5b9050602002013590503660008a8a86818110610cb057634e487b7160e01b600052603260045260246000fd5b9050602002810190610cc29190611bf8565b91509150610cd284848484610f6d565b84867fc2617efa69bab66782fa219543714338489c4e9e178271560a91b82c3f612b5886868686604051610d099493929190611a24565b60405180910390a35050505080610d1f90611cea565b9050610c21565b50610d3081611040565b50505050505050505050565b610d468133610e6d565b50565b610d5282610733565b15610db75760405162461bcd60e51b815260206004820152602f60248201527f54696d656c6f636b436f6e74726f6c6c65723a206f7065726174696f6e20616c60448201526e1c9958591e481cd8da19591d5b1959608a1b60648201526084016107b8565b600254811015610e185760405162461bcd60e51b815260206004820152602660248201527f54696d656c6f636b436f6e74726f6c6c65723a20696e73756666696369656e746044820152652064656c617960d01b60648201526084016107b8565b610e228142611c6c565b6000928352600160205260409092209190915550565b60006001600160e01b03198216637965db0b60e01b148061063a57506301ffc9a760e01b6001600160e01b031983161461063a565b610e778282610a32565b6107cb57610e8f816001600160a01b03166014611162565b610e9a836020611162565b604051602001610eab9291906119b5565b60408051601f198184030181529082905262461bcd60e51b82526107b891600401611b38565b610eda826106e3565b610ef65760405162461bcd60e51b81526004016107b890611bae565b801580610f125750600081815260016020819052604090912054145b6107cb5760405162461bcd60e51b815260206004820152602660248201527f54696d656c6f636b436f6e74726f6c6c65723a206d697373696e6720646570656044820152656e64656e637960d01b60648201526084016107b8565b6000846001600160a01b0316848484604051610f8a9291906119a5565b60006040518083038185875af1925050503d8060008114610fc7576040519150601f19603f3d011682016040523d82523d6000602084013e610fcc565b606091505b50509050806110395760405162461bcd60e51b815260206004820152603360248201527f54696d656c6f636b436f6e74726f6c6c65723a20756e6465726c79696e6720746044820152721c985b9cd858dd1a5bdb881c995d995c9d1959606a1b60648201526084016107b8565b5050505050565b611049816106e3565b6110655760405162461bcd60e51b81526004016107b890611bae565b600090815260016020819052604090912055565b6110838282610a32565b6107cb576000828152602081815260408083206001600160a01b03851684529091529020805460ff191660011790556110b93390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6111078282610a32565b156107cb576000828152602081815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b60606000611171836002611c84565b61117c906002611c6c565b6001600160401b038111156111a157634e487b7160e01b600052604160045260246000fd5b6040519080825280601f01601f1916602001820160405280156111cb576020820181803683370190505b509050600360fc1b816000815181106111f457634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a905350600f60fb1b8160018151811061123157634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a9053506000611255846002611c84565b611260906001611c6c565b90505b60018111156112f4576f181899199a1a9b1b9c1cb0b131b232b360811b85600f16601081106112a257634e487b7160e01b600052603260045260246000fd5b1a60f81b8282815181106112c657634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a90535060049490941c936112ed81611cd3565b9050611263565b5083156107025760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016107b8565b80356001600160a01b038116811461135a57600080fd5b919050565b60008083601f840112611370578182fd5b5081356001600160401b03811115611386578182fd5b6020830191508360208260051b85010111156113a157600080fd5b9250929050565b600082601f8301126113b8578081fd5b813560206001600160401b038211156113d3576113d3611d1b565b8160051b6113e2828201611c3c565b8381528281019086840183880185018910156113fc578687fd5b8693505b8584101561141e578035835260019390930192918401918401611400565b50979650505050505050565b60008083601f84011261143b578182fd5b5081356001600160401b03811115611451578182fd5b6020830191508360208285010111156113a157600080fd5b600082601f830112611479578081fd5b81356001600160401b0381111561149257611492611d1b565b6114a5601f8201601f1916602001611c3c565b8181528460208386010111156114b9578283fd5b816020850160208301379081016020019190915292915050565b6000602082840312156114e4578081fd5b61070282611343565b600080600080600060a08688031215611504578081fd5b61150d86611343565b945061151b60208701611343565b935060408601356001600160401b0380821115611536578283fd5b61154289838a016113a8565b94506060880135915080821115611557578283fd5b61156389838a016113a8565b93506080880135915080821115611578578283fd5b5061158588828901611469565b9150509295509295909350565b600080600080608085870312156115a7578384fd5b6115b085611343565b93506115be60208601611343565b92506040850135915060608501356001600160401b038111156115df578182fd5b6115eb87828801611469565b91505092959194509250565b600080600080600060a0868803121561160e578081fd5b61161786611343565b945061162560208701611343565b9350604086013592506060860135915060808601356001600160401b0381111561164d578182fd5b61158588828901611469565b60008060008060008060a08789031215611671578081fd5b61167a87611343565b95506020870135945060408701356001600160401b0381111561169b578182fd5b6116a789828a0161142a565b979a9699509760608101359660809091013595509350505050565b600080600080600080600060c0888a0312156116dc578081fd5b6116e588611343565b96506020880135955060408801356001600160401b03811115611706578182fd5b6117128a828b0161142a565b989b979a50986060810135976080820135975060a09091013595509350505050565b60008060008060008060008060a0898b03121561174f578182fd5b88356001600160401b0380821115611765578384fd5b6117718c838d0161135f565b909a50985060208b0135915080821115611789578384fd5b6117958c838d0161135f565b909850965060408b01359150808211156117ad578384fd5b506117ba8b828c0161135f565b999c989b509699959896976060870135966080013595509350505050565b600080600080600080600080600060c08a8c0312156117f5578283fd5b89356001600160401b038082111561180b578485fd5b6118178d838e0161135f565b909b50995060208c013591508082111561182f578485fd5b61183b8d838e0161135f565b909950975060408c0135915080821115611853578485fd5b506118608c828d0161135f565b9a9d999c50979a969997986060880135976080810135975060a0013595509350505050565b600060208284031215611896578081fd5b5035919050565b600080604083850312156118af578182fd5b823591506118bf60208401611343565b90509250929050565b6000602082840312156118d9578081fd5b81356001600160e01b031981168114610702578182fd5b81835260006020808501808196508560051b8101915084845b8781101561196f5782840389528135601e19883603018112611929578687fd5b870180356001600160401b03811115611940578788fd5b80360389131561194e578788fd5b61195b868289850161197c565b9a87019a9550505090840190600101611909565b5091979650505050505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b8183823760009101908152919050565b76020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b8152600083516119e7816017850160208801611ca3565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351611a18816028840160208801611ca3565b01602801949350505050565b60018060a01b0385168152836020820152606060408201526000611a4c60608301848661197c565b9695505050505050565b60018060a01b038716815285602082015260a060408201526000611a7e60a08301868861197c565b60608301949094525060800152949350505050565b60a0808252810188905260008960c08301825b8b811015611ad4576001600160a01b03611abf84611343565b16825260209283019290910190600101611aa6565b5083810360208501528881526001600160fb1b03891115611af3578283fd5b8860051b9150818a60208301370160208181018381528483039091016040850152611b1f81888a6118f0565b6060850196909652505050608001529695505050505050565b6020815260008251806020840152611b57816040850160208701611ca3565b601f01601f19169190910160400192915050565b60208082526023908201527f54696d656c6f636b436f6e74726f6c6c65723a206c656e677468206d69736d616040820152620e8c6d60eb1b606082015260800190565b6020808252602a908201527f54696d656c6f636b436f6e74726f6c6c65723a206f7065726174696f6e206973604082015269206e6f7420726561647960b01b606082015260800190565b6000808335601e19843603018112611c0e578283fd5b8301803591506001600160401b03821115611c27578283fd5b6020019150368190038213156113a157600080fd5b604051601f8201601f191681016001600160401b0381118282101715611c6457611c64611d1b565b604052919050565b60008219821115611c7f57611c7f611d05565b500190565b6000816000190483118215151615611c9e57611c9e611d05565b500290565b60005b83811015611cbe578181015183820152602001611ca6565b83811115611ccd576000848401525b50505050565b600081611ce257611ce2611d05565b506000190190565b6000600019821415611cfe57611cfe611d05565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fdfeb09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc1d8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e63a26469706673582212206d90885db2d8c4371aa3f8652a8d8022413dd3c8e5e5005e5ad480fc4bdfa7c864736f6c63430008040033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
