{
  "_format": "hh-sol-artifact-1",
  "contractName": "WJLP",
  "sourceName": "contracts/__deprecated__/AssetWrappers/WJLP.sol",
  "abi": [
    {
      "inputs": [
        {
          "internalType": "string",
          "name": "ERC20_symbol",
          "type": "string"
        },
        {
          "internalType": "string",
          "name": "ERC20_name",
          "type": "string"
        },
        {
          "internalType": "uint8",
          "name": "ERC20_decimals",
          "type": "uint8"
        },
        {
          "internalType": "contract IERC20",
          "name": "_JLP",
          "type": "address"
        },
        {
          "internalType": "contract IERC20",
          "name": "_JOE",
          "type": "address"
        },
        {
          "internalType": "contract IMasterChefJoeV2",
          "name": "MasterChefJoe",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "poolPid",
          "type": "uint256"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "owner",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "spender",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "value",
          "type": "uint256"
        }
      ],
      "name": "Approval",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "from",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "to",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "value",
          "type": "uint256"
        }
      ],
      "name": "Transfer",
      "type": "event"
    },
    {
      "inputs": [],
      "name": "JLP",
      "outputs": [
        {
          "internalType": "contract IERC20",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "JOE",
      "outputs": [
        {
          "internalType": "contract IERC20",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "_MasterChefJoe",
      "outputs": [
        {
          "internalType": "contract IMasterChefJoeV2",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "_poolPid",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "owner",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "spender",
          "type": "address"
        }
      ],
      "name": "allowance",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "spender",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        }
      ],
      "name": "approve",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "account",
          "type": "address"
        }
      ],
      "name": "balanceOf",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_to",
          "type": "address"
        }
      ],
      "name": "claimReward",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "decimals",
      "outputs": [
        {
          "internalType": "uint8",
          "name": "",
          "type": "uint8"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "spender",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "subtractedValue",
          "type": "uint256"
        }
      ],
      "name": "decreaseAllowance",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_to",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "_amount",
          "type": "uint256"
        }
      ],
      "name": "endTreasuryReward",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_for",
          "type": "address"
        }
      ],
      "name": "getPendingRewards",
      "outputs": [
        {
          "internalType": "address[]",
          "name": "",
          "type": "address[]"
        },
        {
          "internalType": "uint256[]",
          "name": "",
          "type": "uint256[]"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_user",
          "type": "address"
        }
      ],
      "name": "getUserInfo",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "spender",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "addedValue",
          "type": "uint256"
        }
      ],
      "name": "increaseAllowance",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "name",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_activePool",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "_VML",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "_VMR",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "_defaultPool",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "_stabilityPool",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "_VaultedgeFinanceTreasury",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "_borrowerOperations",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "_collSurplusPool",
          "type": "address"
        }
      ],
      "name": "setAddresses",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "symbol",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "totalSupply",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_to",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "_amount",
          "type": "uint256"
        }
      ],
      "name": "transfer",
      "outputs": [
        {
          "internalType": "bool",
          "name": "success",
          "type": "bool"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_from",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "_to",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "_amount",
          "type": "uint256"
        }
      ],
      "name": "transferFrom",
      "outputs": [
        {
          "internalType": "bool",
          "name": "success",
          "type": "bool"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_amount",
          "type": "uint256"
        }
      ],
      "name": "unwrap",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_from",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "_to",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "_amount",
          "type": "uint256"
        }
      ],
      "name": "unwrapFor",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_from",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "_to",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "_amount",
          "type": "uint256"
        }
      ],
      "name": "updateReward",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_amount",
          "type": "uint256"
        },
        {
          "internalType": "address",
          "name": "_from",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "_to",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "_rewardRecipient",
          "type": "address"
        }
      ],
      "name": "wrap",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "bytecode": "0x60e06040523480156200001157600080fd5b5060405162002bc838038062002bc8833981016040819052620000349162000265565b85876003620000448382620003bc565b506004620000538282620003bc565b5050506200006784620000c060201b60201c565b6200007283620000c0565b6200007d82620000c0565b600d805460ff909616600160a01b0260ff60a01b19909616959095179094556001600160a01b0392831660805290821660a0521660c05260055550620004889050565b6001600160a01b0381166200011c5760405162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f2061646472657373000060448201526064015b60405180910390fd5b803b6000819003620001715760405162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015260640162000113565b5050565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200019d57600080fd5b81516001600160401b0380821115620001ba57620001ba62000175565b604051601f8301601f19908116603f01168101908282118183101715620001e557620001e562000175565b816040528381526020925086838588010111156200020257600080fd5b600091505b8382101562000226578582018301518183018401529082019062000207565b600093810190920192909252949350505050565b6001600160a01b03811681146200025057600080fd5b50565b805162000260816200023a565b919050565b600080600080600080600060e0888a0312156200028157600080fd5b87516001600160401b03808211156200029957600080fd5b620002a78b838c016200018b565b985060208a0151915080821115620002be57600080fd5b50620002cd8a828b016200018b565b965050604088015160ff81168114620002e557600080fd5b6060890151909550620002f8816200023a565b9350620003086080890162000253565b92506200031860a0890162000253565b915060c0880151905092959891949750929550565b600181811c908216806200034257607f821691505b6020821081036200036357634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620003b757600081815260208120601f850160051c81016020861015620003925750805b601f850160051c820191505b81811015620003b3578281556001016200039e565b5050505b505050565b81516001600160401b03811115620003d857620003d862000175565b620003f081620003e984546200032d565b8462000369565b602080601f8311600181146200042857600084156200040f5750858301515b600019600386901b1c1916600185901b178555620003b3565b600085815260208120601f198616915b82811015620004595788860151825594840194600190910190840162000438565b5085821015620004785787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60805160a05160c0516126a7620005216000396000818161038b015281816106e50152818161095a015281816109af01528181610a0e01528181610f0e01528181610fb7015281816113a6015261147701526000818161046b0152611f460152600081816101e301528181610760015281816108bd015281816109380152818161098d01528181610f8901526110e801526126a76000f3fe608060405234801561001057600080fd5b50600436106101985760003560e01c8063932eeefe116100e3578063d279c1911161008c578063de0e9a3e11610066578063de0e9a3e14610432578063f6ed201714610445578063ffebad301461046657600080fd5b8063d279c191146103d3578063d733cfd0146103e6578063dd62ed3e146103f957600080fd5b8063a5d946de116100bd578063a5d946de14610386578063a9059cbb146103ad578063ca70560a146103c057600080fd5b8063932eeefe1461035857806395d89b411461036b578063a457c2d71461037357600080fd5b80632c8e8dfa116101455780636386c1c71161011f5780636386c1c7146102ad5780636fc8a1991461032657806370a082311461032f57600080fd5b80632c8e8dfa14610257578063313ce5671461026a578063395093511461029a57600080fd5b806318160ddd1161017657806318160ddd1461021d57806323b872dd1461022f578063261c80b61461024257600080fd5b806306fdde031461019d578063095ea7b3146101bb5780630dc716c8146101de575b600080fd5b6101a561048d565b6040516101b29190612224565b60405180910390f35b6101ce6101c936600461226c565b61051f565b60405190151581526020016101b2565b6102057f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016101b2565b6002545b6040519081526020016101b2565b6101ce61023d366004612298565b610539565b610255610250366004612298565b610676565b005b610255610265366004612298565b61078c565b600d5474010000000000000000000000000000000000000000900460ff1660405160ff90911681526020016101b2565b6101ce6102a836600461226c565b61079f565b61030b6102bb3660046122d9565b6001600160a01b03166000908152600e6020908152604091829020825160808101845281548082526001830154938201849052600283015494820185905260039092015460609091015292909190565b604080519384526020840192909252908201526060016101b2565b61022160055481565b61022161033d3660046122d9565b6001600160a01b031660009081526020819052604090205490565b6102556103663660046122f6565b6107de565b6101a5610ad5565b6101ce61038136600461226c565b610ae4565b6102057f000000000000000000000000000000000000000000000000000000000000000081565b6101ce6103bb36600461226c565b610b99565b6102556103ce36600461226c565b610d11565b6102556103e13660046122d9565b610d34565b6102556103f4366004612349565b610d41565b6102216104073660046123f2565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b61025561044036600461242b565b610ed7565b6104586104533660046122d9565b610fb0565b6040516101b2929190612444565b6102057f000000000000000000000000000000000000000000000000000000000000000081565b60606003805461049c906124c8565b80601f01602080910402602001604051908101604052809291908181526020018280546104c8906124c8565b80156105155780601f106104ea57610100808354040283529160200191610515565b820191906000526020600020905b8154815290600101906020018083116104f857829003601f168201915b5050505050905090565b60003361052d818585611168565b60019150505b92915050565b600c546000906001600160a01b031633148061055f57506006546001600160a01b031633145b8061057457506009546001600160a01b031633145b15610663576001600160a01b0384166000908152600e602090815260409182902082516080810184528154808252600183015493820193909352600282015493810193909352600301546060830181905284916105d19190612518565b101561064c576040805162461bcd60e51b81526020600482015260248101919091527f5265776172642062616c616e6365206e6f742073756666696369656e7420746f60448201527f207472616e7366657220696e746f205661756c74656467652046696e616e636560648201526084015b60405180910390fd5b828160600181815161065e919061252b565b905250505b61066e8484846112c0565b949350505050565b61067e6112d9565b6106888384611385565b61069483826000611441565b6001600160a01b0383166000908152600e6020526040812060030180548392906106bf908490612518565b9091555050600554604051630441a3e760e41b81526004810191909152602481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063441a3e7090604401600060405180830381600087803b15801561073157600080fd5b505af1158015610745573d6000803e3d6000fd5b505050506107533382611598565b6107876001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168383611701565b505050565b6107946117aa565b610787838383611843565b3360008181526001602090815260408083206001600160a01b038716845290915281205490919061052d90829086906107d990879061252b565b611168565b600c546001600160a01b0316331461086e57336001600160a01b0384161461086e5760405162461bcd60e51b815260206004820152602b60248201527f574a4c503a206d73672e73656e64657220616e64205f66726f6d206d7573742060448201527f6265207468652073616d650000000000000000000000000000000000000000006064820152608401610643565b6108788182611385565b6040517f23b872dd0000000000000000000000000000000000000000000000000000000081526001600160a01b038481166004830152306024830152604482018690527f000000000000000000000000000000000000000000000000000000000000000016906323b872dd906064016020604051808303816000875af1158015610906573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061092a919061253e565b506109806001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000167f000000000000000000000000000000000000000000000000000000000000000060006118cb565b6109d46001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000167f0000000000000000000000000000000000000000000000000000000000000000866119e7565b6005546040517fe2bbb1580000000000000000000000000000000000000000000000000000000081526004810191909152602481018590527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063e2bbb15890604401600060405180830381600087803b158015610a5a57600080fd5b505af1158015610a6e573d6000803e3d6000fd5b50505050610a7e81856001611441565b610a888285611a94565b6006546001600160a01b0390811690831603610acf576001600160a01b0381166000908152600e602052604081206003018054869290610ac990849061252b565b90915550505b50505050565b60606004805461049c906124c8565b3360008181526001602090815260408083206001600160a01b038716845290915281205490919083811015610b815760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f0000000000000000000000000000000000000000000000000000006064820152608401610643565b610b8e8286868403611168565b506001949350505050565b600c546000906001600160a01b0316331480610bbf57506006546001600160a01b031633145b80610bd457506009546001600160a01b031633145b15610d0057600a546001600160a01b03848116911614801590610c0557506009546001600160a01b03848116911614155b8015610c1f5750600d546001600160a01b03848116911614155b15610d0057336000908152600e60209081526040918290208251608081018452815480825260018301549382019390935260028201549381019390935260030154606083018190528491610c739190612518565b1015610ce9576040805162461bcd60e51b81526020600482015260248101919091527f5265776172642062616c616e6365206e6f742073756666696369656e7420746f60448201527f207472616e7366657220696e746f205661756c74656467652046696e616e63656064820152608401610643565b8281606001818151610cfb919061252b565b905250505b610d0a8383611b53565b9392505050565b610d19611b61565b600b54610d30906001600160a01b03168383611843565b5050565b610d3e3382611385565b50565b600d54600160a81b900460ff1615610dc15760405162461bcd60e51b815260206004820152602360248201527f7365744164647265737365733a2041646472657373657320616c72656164792060448201527f73657400000000000000000000000000000000000000000000000000000000006064820152608401610643565b610dca88611bf6565b610dd387611bf6565b610ddc86611bf6565b610de585611bf6565b610dee84611bf6565b610df783611bf6565b610e0082611bf6565b610e0981611bf6565b600680547fffffffffffffffffffffffff00000000000000000000000000000000000000009081166001600160a01b039a8b1617909155600780548216988a16989098179097556008805488169689169690961790955560098054871694881694909417909355600a8054861692871692909217909155600b80548516918616919091179055600c805490931690841617909155600d8054600160a81b929093167fffffffffffffffffffff00ff000000000000000000000000000000000000000090931692909217179055565b610ee13333611385565b610eed33826000611441565b600554604051630441a3e760e41b81526004810191909152602481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063441a3e7090604401600060405180830381600087803b158015610f5a57600080fd5b505af1158015610f6e573d6000803e3d6000fd5b50505050610f7c3382611598565b610d3e6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163383611701565b60608060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316631526fe276005546040518263ffffffff1660e01b815260040161100591815260200190565b60a060405180830381865afa158015611022573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110469190612560565b606001516001600160a01b0385166000908152600e6020526040812060028101546001820154825494955091939092919064e8d4a51000906110899087906125ed565b6110939190612604565b61109d9190612518565b604080516001808252818301909252919250600091906020808301908036833750506040805160018082528183019092529293506000929150602080830190803683370190505090507f00000000000000000000000000000000000000000000000000000000000000008260008151811061111a5761111a612626565b6001600160a01b039092166020928302919091019091015261113c838561252b565b8160008151811061114f5761114f612626565b6020908102919091010152909890975095505050505050565b6001600160a01b0383166111e35760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610643565b6001600160a01b03821661125f5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f73730000000000000000000000000000000000000000000000000000000000006064820152608401610643565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000336112ce858285611c9f565b610b8e858585611d2b565b6006546001600160a01b03163314806112fc5750600a546001600160a01b031633145b806113115750600d546001600160a01b031633145b6113835760405162461bcd60e51b815260206004820152602b60248201527f43616c6c6572206973206e6f742061637469766520706f6f6c206f722073746160448201527f62696c69747920706f6f6c0000000000000000000000000000000000000000006064820152608401610643565b565b600554604051630441a3e760e41b81526004810191909152600060248201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063441a3e7090604401600060405180830381600087803b1580156113f257600080fd5b505af1158015611406573d6000803e3d6000fd5b505050506114178260006001611441565b6001600160a01b0382166000908152600e6020526040812060020180549190556107878282611f18565b6005546040517f1526fe270000000000000000000000000000000000000000000000000000000081526000916001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691631526fe27916114ae9160040190815260200190565b60a060405180830381865afa1580156114cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114ef9190612560565b606001516001600160a01b0385166000908152600e60205260409020805491925090801561154657600182015464e8d4a5100061152c85846125ed565b6115369190612604565b6115409190612518565b60028301555b831561155d57611556858261252b565b825561156a565b6115678582612518565b82555b815464e8d4a510009061157e9085906125ed565b6115889190612604565b8260010181905550505050505050565b6001600160a01b0382166116145760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f73000000000000000000000000000000000000000000000000000000000000006064820152608401610643565b6001600160a01b038216600090815260208190526040902054818110156116a35760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f63650000000000000000000000000000000000000000000000000000000000006064820152608401610643565b6001600160a01b0383166000818152602081815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505050565b6040516001600160a01b0383166024820152604481018290526107879084907fa9059cbb00000000000000000000000000000000000000000000000000000000906064015b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152611ff5565b6007546001600160a01b03163314806117cd57506008546001600160a01b031633145b806117e257506009546001600160a01b031633145b806117f75750600c546001600160a01b031633145b6113835760405162461bcd60e51b815260206004820152601160248201527f43616c6c6572206973206e6f74204c52440000000000000000000000000000006044820152606401610643565b61184d8384611385565b61185983826000611441565b6001600160a01b0383166000908152600e602052604081206003018054839290611884908490612518565b90915550611896905082826001611441565b6001600160a01b0382166000908152600e6020526040812060030180548392906118c190849061252b565b9091555050505050565b8015806119455750604051636eb1769f60e11b81523060048201526001600160a01b03838116602483015284169063dd62ed3e90604401602060405180830381865afa15801561191f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611943919061263c565b155b6119b75760405162461bcd60e51b815260206004820152603660248201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60448201527f20746f206e6f6e2d7a65726f20616c6c6f77616e6365000000000000000000006064820152608401610643565b6040516001600160a01b03831660248201526044810182905261078790849063095ea7b360e01b90606401611746565b604051636eb1769f60e11b81523060048201526001600160a01b0383811660248301526000919085169063dd62ed3e90604401602060405180830381865afa158015611a37573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a5b919061263c565b9050610acf8463095ea7b360e01b85611a74868661252b565b6040516001600160a01b0390921660248301526044820152606401611746565b6001600160a01b038216611aea5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610643565b8060026000828254611afc919061252b565b90915550506001600160a01b038216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b60003361052d818585611d2b565b600a546001600160a01b0316331480611b8457506009546001600160a01b031633145b6113835760405162461bcd60e51b815260206004820152602c60248201527f43616c6c6572206973206e6f742073746162696c69747920706f6f6c206f722060448201527f64656661756c7420706f6f6c00000000000000000000000000000000000000006064820152608401610643565b6001600160a01b038116611c4c5760405162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f206164647265737300006044820152606401610643565b803b6000819003610d305760405162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f6044820152606401610643565b6001600160a01b038381166000908152600160209081526040808320938616835292905220546000198114610acf5781811015611d1e5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610643565b610acf8484848403611168565b6001600160a01b038316611da75760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152608401610643565b6001600160a01b038216611e235760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152608401610643565b6001600160a01b03831660009081526020819052604090205481811015611eb25760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e636500000000000000000000000000000000000000000000000000006064820152608401610643565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610acf565b6040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201527f0000000000000000000000000000000000000000000000000000000000000000906000906001600160a01b038316906370a0823190602401602060405180830381865afa158015611f9a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fbe919061263c565b905080831115611fe157611fdc6001600160a01b0383168583611701565b610acf565b610acf6001600160a01b0383168585611701565b600061204a826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166120dd9092919063ffffffff16565b905080516000148061206b57508080602001905181019061206b919061253e565b6107875760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401610643565b606061066e848460008585600080866001600160a01b031685876040516121049190612655565b60006040518083038185875af1925050503d8060008114612141576040519150601f19603f3d011682016040523d82523d6000602084013e612146565b606091505b509150915061215787838387612162565b979650505050505050565b606083156121d15782516000036121ca576001600160a01b0385163b6121ca5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610643565b508161066e565b61066e83838151156121e65781518083602001fd5b8060405162461bcd60e51b81526004016106439190612224565b60005b8381101561221b578181015183820152602001612203565b50506000910152565b6020815260008251806020840152612243816040850160208701612200565b601f01601f19169190910160400192915050565b6001600160a01b0381168114610d3e57600080fd5b6000806040838503121561227f57600080fd5b823561228a81612257565b946020939093013593505050565b6000806000606084860312156122ad57600080fd5b83356122b881612257565b925060208401356122c881612257565b929592945050506040919091013590565b6000602082840312156122eb57600080fd5b8135610d0a81612257565b6000806000806080858703121561230c57600080fd5b84359350602085013561231e81612257565b9250604085013561232e81612257565b9150606085013561233e81612257565b939692955090935050565b600080600080600080600080610100898b03121561236657600080fd5b883561237181612257565b9750602089013561238181612257565b9650604089013561239181612257565b955060608901356123a181612257565b945060808901356123b181612257565b935060a08901356123c181612257565b925060c08901356123d181612257565b915060e08901356123e181612257565b809150509295985092959890939650565b6000806040838503121561240557600080fd5b823561241081612257565b9150602083013561242081612257565b809150509250929050565b60006020828403121561243d57600080fd5b5035919050565b604080825283519082018190526000906020906060840190828701845b828110156124865781516001600160a01b031684529284019290840190600101612461565b5050508381038285015284518082528583019183019060005b818110156124bb5783518352928401929184019160010161249f565b5090979650505050505050565b600181811c908216806124dc57607f821691505b6020821081036124fc57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b8181038181111561053357610533612502565b8082018082111561053357610533612502565b60006020828403121561255057600080fd5b81518015158114610d0a57600080fd5b600060a0828403121561257257600080fd5b60405160a0810181811067ffffffffffffffff821117156125a357634e487b7160e01b600052604160045260246000fd5b60405282516125b181612257565b8082525060208301516020820152604083015160408201526060830151606082015260808301516125e181612257565b60808201529392505050565b808202811582820484141761053357610533612502565b60008261262157634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561264e57600080fd5b5051919050565b60008251612667818460208701612200565b919091019291505056fea264697066735822122051d6054117c7c76381fbb7863bf45a17a731f8c58ce0397a6f42d3d001ee217464736f6c63430008130033",
  "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101985760003560e01c8063932eeefe116100e3578063d279c1911161008c578063de0e9a3e11610066578063de0e9a3e14610432578063f6ed201714610445578063ffebad301461046657600080fd5b8063d279c191146103d3578063d733cfd0146103e6578063dd62ed3e146103f957600080fd5b8063a5d946de116100bd578063a5d946de14610386578063a9059cbb146103ad578063ca70560a146103c057600080fd5b8063932eeefe1461035857806395d89b411461036b578063a457c2d71461037357600080fd5b80632c8e8dfa116101455780636386c1c71161011f5780636386c1c7146102ad5780636fc8a1991461032657806370a082311461032f57600080fd5b80632c8e8dfa14610257578063313ce5671461026a578063395093511461029a57600080fd5b806318160ddd1161017657806318160ddd1461021d57806323b872dd1461022f578063261c80b61461024257600080fd5b806306fdde031461019d578063095ea7b3146101bb5780630dc716c8146101de575b600080fd5b6101a561048d565b6040516101b29190612224565b60405180910390f35b6101ce6101c936600461226c565b61051f565b60405190151581526020016101b2565b6102057f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016101b2565b6002545b6040519081526020016101b2565b6101ce61023d366004612298565b610539565b610255610250366004612298565b610676565b005b610255610265366004612298565b61078c565b600d5474010000000000000000000000000000000000000000900460ff1660405160ff90911681526020016101b2565b6101ce6102a836600461226c565b61079f565b61030b6102bb3660046122d9565b6001600160a01b03166000908152600e6020908152604091829020825160808101845281548082526001830154938201849052600283015494820185905260039092015460609091015292909190565b604080519384526020840192909252908201526060016101b2565b61022160055481565b61022161033d3660046122d9565b6001600160a01b031660009081526020819052604090205490565b6102556103663660046122f6565b6107de565b6101a5610ad5565b6101ce61038136600461226c565b610ae4565b6102057f000000000000000000000000000000000000000000000000000000000000000081565b6101ce6103bb36600461226c565b610b99565b6102556103ce36600461226c565b610d11565b6102556103e13660046122d9565b610d34565b6102556103f4366004612349565b610d41565b6102216104073660046123f2565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b61025561044036600461242b565b610ed7565b6104586104533660046122d9565b610fb0565b6040516101b2929190612444565b6102057f000000000000000000000000000000000000000000000000000000000000000081565b60606003805461049c906124c8565b80601f01602080910402602001604051908101604052809291908181526020018280546104c8906124c8565b80156105155780601f106104ea57610100808354040283529160200191610515565b820191906000526020600020905b8154815290600101906020018083116104f857829003601f168201915b5050505050905090565b60003361052d818585611168565b60019150505b92915050565b600c546000906001600160a01b031633148061055f57506006546001600160a01b031633145b8061057457506009546001600160a01b031633145b15610663576001600160a01b0384166000908152600e602090815260409182902082516080810184528154808252600183015493820193909352600282015493810193909352600301546060830181905284916105d19190612518565b101561064c576040805162461bcd60e51b81526020600482015260248101919091527f5265776172642062616c616e6365206e6f742073756666696369656e7420746f60448201527f207472616e7366657220696e746f205661756c74656467652046696e616e636560648201526084015b60405180910390fd5b828160600181815161065e919061252b565b905250505b61066e8484846112c0565b949350505050565b61067e6112d9565b6106888384611385565b61069483826000611441565b6001600160a01b0383166000908152600e6020526040812060030180548392906106bf908490612518565b9091555050600554604051630441a3e760e41b81526004810191909152602481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063441a3e7090604401600060405180830381600087803b15801561073157600080fd5b505af1158015610745573d6000803e3d6000fd5b505050506107533382611598565b6107876001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168383611701565b505050565b6107946117aa565b610787838383611843565b3360008181526001602090815260408083206001600160a01b038716845290915281205490919061052d90829086906107d990879061252b565b611168565b600c546001600160a01b0316331461086e57336001600160a01b0384161461086e5760405162461bcd60e51b815260206004820152602b60248201527f574a4c503a206d73672e73656e64657220616e64205f66726f6d206d7573742060448201527f6265207468652073616d650000000000000000000000000000000000000000006064820152608401610643565b6108788182611385565b6040517f23b872dd0000000000000000000000000000000000000000000000000000000081526001600160a01b038481166004830152306024830152604482018690527f000000000000000000000000000000000000000000000000000000000000000016906323b872dd906064016020604051808303816000875af1158015610906573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061092a919061253e565b506109806001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000167f000000000000000000000000000000000000000000000000000000000000000060006118cb565b6109d46001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000167f0000000000000000000000000000000000000000000000000000000000000000866119e7565b6005546040517fe2bbb1580000000000000000000000000000000000000000000000000000000081526004810191909152602481018590527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063e2bbb15890604401600060405180830381600087803b158015610a5a57600080fd5b505af1158015610a6e573d6000803e3d6000fd5b50505050610a7e81856001611441565b610a888285611a94565b6006546001600160a01b0390811690831603610acf576001600160a01b0381166000908152600e602052604081206003018054869290610ac990849061252b565b90915550505b50505050565b60606004805461049c906124c8565b3360008181526001602090815260408083206001600160a01b038716845290915281205490919083811015610b815760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f0000000000000000000000000000000000000000000000000000006064820152608401610643565b610b8e8286868403611168565b506001949350505050565b600c546000906001600160a01b0316331480610bbf57506006546001600160a01b031633145b80610bd457506009546001600160a01b031633145b15610d0057600a546001600160a01b03848116911614801590610c0557506009546001600160a01b03848116911614155b8015610c1f5750600d546001600160a01b03848116911614155b15610d0057336000908152600e60209081526040918290208251608081018452815480825260018301549382019390935260028201549381019390935260030154606083018190528491610c739190612518565b1015610ce9576040805162461bcd60e51b81526020600482015260248101919091527f5265776172642062616c616e6365206e6f742073756666696369656e7420746f60448201527f207472616e7366657220696e746f205661756c74656467652046696e616e63656064820152608401610643565b8281606001818151610cfb919061252b565b905250505b610d0a8383611b53565b9392505050565b610d19611b61565b600b54610d30906001600160a01b03168383611843565b5050565b610d3e3382611385565b50565b600d54600160a81b900460ff1615610dc15760405162461bcd60e51b815260206004820152602360248201527f7365744164647265737365733a2041646472657373657320616c72656164792060448201527f73657400000000000000000000000000000000000000000000000000000000006064820152608401610643565b610dca88611bf6565b610dd387611bf6565b610ddc86611bf6565b610de585611bf6565b610dee84611bf6565b610df783611bf6565b610e0082611bf6565b610e0981611bf6565b600680547fffffffffffffffffffffffff00000000000000000000000000000000000000009081166001600160a01b039a8b1617909155600780548216988a16989098179097556008805488169689169690961790955560098054871694881694909417909355600a8054861692871692909217909155600b80548516918616919091179055600c805490931690841617909155600d8054600160a81b929093167fffffffffffffffffffff00ff000000000000000000000000000000000000000090931692909217179055565b610ee13333611385565b610eed33826000611441565b600554604051630441a3e760e41b81526004810191909152602481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063441a3e7090604401600060405180830381600087803b158015610f5a57600080fd5b505af1158015610f6e573d6000803e3d6000fd5b50505050610f7c3382611598565b610d3e6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163383611701565b60608060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316631526fe276005546040518263ffffffff1660e01b815260040161100591815260200190565b60a060405180830381865afa158015611022573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110469190612560565b606001516001600160a01b0385166000908152600e6020526040812060028101546001820154825494955091939092919064e8d4a51000906110899087906125ed565b6110939190612604565b61109d9190612518565b604080516001808252818301909252919250600091906020808301908036833750506040805160018082528183019092529293506000929150602080830190803683370190505090507f00000000000000000000000000000000000000000000000000000000000000008260008151811061111a5761111a612626565b6001600160a01b039092166020928302919091019091015261113c838561252b565b8160008151811061114f5761114f612626565b6020908102919091010152909890975095505050505050565b6001600160a01b0383166111e35760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610643565b6001600160a01b03821661125f5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f73730000000000000000000000000000000000000000000000000000000000006064820152608401610643565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000336112ce858285611c9f565b610b8e858585611d2b565b6006546001600160a01b03163314806112fc5750600a546001600160a01b031633145b806113115750600d546001600160a01b031633145b6113835760405162461bcd60e51b815260206004820152602b60248201527f43616c6c6572206973206e6f742061637469766520706f6f6c206f722073746160448201527f62696c69747920706f6f6c0000000000000000000000000000000000000000006064820152608401610643565b565b600554604051630441a3e760e41b81526004810191909152600060248201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063441a3e7090604401600060405180830381600087803b1580156113f257600080fd5b505af1158015611406573d6000803e3d6000fd5b505050506114178260006001611441565b6001600160a01b0382166000908152600e6020526040812060020180549190556107878282611f18565b6005546040517f1526fe270000000000000000000000000000000000000000000000000000000081526000916001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691631526fe27916114ae9160040190815260200190565b60a060405180830381865afa1580156114cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114ef9190612560565b606001516001600160a01b0385166000908152600e60205260409020805491925090801561154657600182015464e8d4a5100061152c85846125ed565b6115369190612604565b6115409190612518565b60028301555b831561155d57611556858261252b565b825561156a565b6115678582612518565b82555b815464e8d4a510009061157e9085906125ed565b6115889190612604565b8260010181905550505050505050565b6001600160a01b0382166116145760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f73000000000000000000000000000000000000000000000000000000000000006064820152608401610643565b6001600160a01b038216600090815260208190526040902054818110156116a35760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f63650000000000000000000000000000000000000000000000000000000000006064820152608401610643565b6001600160a01b0383166000818152602081815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505050565b6040516001600160a01b0383166024820152604481018290526107879084907fa9059cbb00000000000000000000000000000000000000000000000000000000906064015b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152611ff5565b6007546001600160a01b03163314806117cd57506008546001600160a01b031633145b806117e257506009546001600160a01b031633145b806117f75750600c546001600160a01b031633145b6113835760405162461bcd60e51b815260206004820152601160248201527f43616c6c6572206973206e6f74204c52440000000000000000000000000000006044820152606401610643565b61184d8384611385565b61185983826000611441565b6001600160a01b0383166000908152600e602052604081206003018054839290611884908490612518565b90915550611896905082826001611441565b6001600160a01b0382166000908152600e6020526040812060030180548392906118c190849061252b565b9091555050505050565b8015806119455750604051636eb1769f60e11b81523060048201526001600160a01b03838116602483015284169063dd62ed3e90604401602060405180830381865afa15801561191f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611943919061263c565b155b6119b75760405162461bcd60e51b815260206004820152603660248201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60448201527f20746f206e6f6e2d7a65726f20616c6c6f77616e6365000000000000000000006064820152608401610643565b6040516001600160a01b03831660248201526044810182905261078790849063095ea7b360e01b90606401611746565b604051636eb1769f60e11b81523060048201526001600160a01b0383811660248301526000919085169063dd62ed3e90604401602060405180830381865afa158015611a37573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a5b919061263c565b9050610acf8463095ea7b360e01b85611a74868661252b565b6040516001600160a01b0390921660248301526044820152606401611746565b6001600160a01b038216611aea5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610643565b8060026000828254611afc919061252b565b90915550506001600160a01b038216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b60003361052d818585611d2b565b600a546001600160a01b0316331480611b8457506009546001600160a01b031633145b6113835760405162461bcd60e51b815260206004820152602c60248201527f43616c6c6572206973206e6f742073746162696c69747920706f6f6c206f722060448201527f64656661756c7420706f6f6c00000000000000000000000000000000000000006064820152608401610643565b6001600160a01b038116611c4c5760405162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f206164647265737300006044820152606401610643565b803b6000819003610d305760405162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f6044820152606401610643565b6001600160a01b038381166000908152600160209081526040808320938616835292905220546000198114610acf5781811015611d1e5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610643565b610acf8484848403611168565b6001600160a01b038316611da75760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152608401610643565b6001600160a01b038216611e235760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152608401610643565b6001600160a01b03831660009081526020819052604090205481811015611eb25760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e636500000000000000000000000000000000000000000000000000006064820152608401610643565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610acf565b6040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201527f0000000000000000000000000000000000000000000000000000000000000000906000906001600160a01b038316906370a0823190602401602060405180830381865afa158015611f9a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fbe919061263c565b905080831115611fe157611fdc6001600160a01b0383168583611701565b610acf565b610acf6001600160a01b0383168585611701565b600061204a826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166120dd9092919063ffffffff16565b905080516000148061206b57508080602001905181019061206b919061253e565b6107875760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401610643565b606061066e848460008585600080866001600160a01b031685876040516121049190612655565b60006040518083038185875af1925050503d8060008114612141576040519150601f19603f3d011682016040523d82523d6000602084013e612146565b606091505b509150915061215787838387612162565b979650505050505050565b606083156121d15782516000036121ca576001600160a01b0385163b6121ca5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610643565b508161066e565b61066e83838151156121e65781518083602001fd5b8060405162461bcd60e51b81526004016106439190612224565b60005b8381101561221b578181015183820152602001612203565b50506000910152565b6020815260008251806020840152612243816040850160208701612200565b601f01601f19169190910160400192915050565b6001600160a01b0381168114610d3e57600080fd5b6000806040838503121561227f57600080fd5b823561228a81612257565b946020939093013593505050565b6000806000606084860312156122ad57600080fd5b83356122b881612257565b925060208401356122c881612257565b929592945050506040919091013590565b6000602082840312156122eb57600080fd5b8135610d0a81612257565b6000806000806080858703121561230c57600080fd5b84359350602085013561231e81612257565b9250604085013561232e81612257565b9150606085013561233e81612257565b939692955090935050565b600080600080600080600080610100898b03121561236657600080fd5b883561237181612257565b9750602089013561238181612257565b9650604089013561239181612257565b955060608901356123a181612257565b945060808901356123b181612257565b935060a08901356123c181612257565b925060c08901356123d181612257565b915060e08901356123e181612257565b809150509295985092959890939650565b6000806040838503121561240557600080fd5b823561241081612257565b9150602083013561242081612257565b809150509250929050565b60006020828403121561243d57600080fd5b5035919050565b604080825283519082018190526000906020906060840190828701845b828110156124865781516001600160a01b031684529284019290840190600101612461565b5050508381038285015284518082528583019183019060005b818110156124bb5783518352928401929184019160010161249f565b5090979650505050505050565b600181811c908216806124dc57607f821691505b6020821081036124fc57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b8181038181111561053357610533612502565b8082018082111561053357610533612502565b60006020828403121561255057600080fd5b81518015158114610d0a57600080fd5b600060a0828403121561257257600080fd5b60405160a0810181811067ffffffffffffffff821117156125a357634e487b7160e01b600052604160045260246000fd5b60405282516125b181612257565b8082525060208301516020820152604083015160408201526060830151606082015260808301516125e181612257565b60808201529392505050565b808202811582820484141761053357610533612502565b60008261262157634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561264e57600080fd5b5051919050565b60008251612667818460208701612200565b919091019291505056fea264697066735822122051d6054117c7c76381fbb7863bf45a17a731f8c58ce0397a6f42d3d001ee217464736f6c63430008130033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
