[ { "inputs": [ { "internalType": "address", "name": "_tranche", "type": "address" }, { "internalType": "address", "name": "_underlying", "type": "address" }, { "internalType": "address", "name": "_target", "type": "address" }, { "internalType": "uint256", "name": "_maturity", "type": "uint256" } ], "stateMutability": "payable", "type": "constructor" }, { "inputs": [], "name": "InvalidShortString", "type": "error" }, { "inputs": [], "name": "OnlyTranche", "type": "error" }, { "inputs": [ { "internalType": "string", "name": "str", "type": "string" } ], "name": "StringTooLong", "type": "error" }, { "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": [], "name": "EIP712DomainChanged", "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": "DOMAIN_SEPARATOR", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "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": "owner", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "burn", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "burnFrom", "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": [], "name": "eip712Domain", "outputs": [ { "internalType": "bytes1", "name": "fields", "type": "bytes1" }, { "internalType": "string", "name": "name", "type": "string" }, { "internalType": "string", "name": "version", "type": "string" }, { "internalType": "uint256", "name": "chainId", "type": "uint256" }, { "internalType": "address", "name": "verifyingContract", "type": "address" }, { "internalType": "bytes32", "name": "salt", "type": "bytes32" }, { "internalType": "uint256[]", "name": "extensions", "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": "maturity", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "mint", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "nonces", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" }, { "internalType": "uint256", "name": "deadline", "type": "uint256" }, { "internalType": "uint8", "name": "v", "type": "uint8" }, { "internalType": "bytes32", "name": "r", "type": "bytes32" }, { "internalType": "bytes32", "name": "s", "type": "bytes32" } ], "name": "permit", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "target", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "tranche", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "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": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "underlying", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" } ]
61020060405260405162002b8238038062002b828339810160408190526200002791620002ca565b604051806040016040528060128152602001712730b834b2b9102cb4b2b632102a37b5b2b760711b81525080604051806040016040528060018152602001603160f81b815250604051806040016040528060128152602001712730b834b2b9102cb4b2b632102a37b5b2b760711b8152506040518060400160405280600381526020016219565560ea1b8152508160039081620000c59190620003c1565b506004620000d48282620003c1565b50620000e69150839050600562000228565b61012052620000f781600662000228565b61014052815160208084019190912060e052815190820120610100524660a0526200018560e05161010051604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b60805250503060c052506001600160a01b038381166101808190528582166101a0526101c08390529083166101e0526040805163313ce56760e01b8152905163313ce567916004808201926020929091908290030181865afa158015620001f0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200021691906200048d565b60ff1661016052506200052e92505050565b60006020835110156200024857620002408362000261565b90506200025b565b81620002558482620003c1565b5060ff90505b92915050565b600080829050601f8151111562000298578260405163305a27a960e01b81526004016200028f9190620004b9565b60405180910390fd5b8051620002a58262000509565b179392505050565b80516001600160a01b0381168114620002c557600080fd5b919050565b60008060008060808587031215620002e157600080fd5b620002ec85620002ad565b9350620002fc60208601620002ad565b92506200030c60408601620002ad565b6060959095015193969295505050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200034757607f821691505b6020821081036200036857634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620003bc57600081815260208120601f850160051c81016020861015620003975750805b601f850160051c820191505b81811015620003b857828155600101620003a3565b5050505b505050565b81516001600160401b03811115620003dd57620003dd6200031c565b620003f581620003ee845462000332565b846200036e565b602080601f8311600181146200042d5760008415620004145750858301515b600019600386901b1c1916600185901b178555620003b8565b600085815260208120601f198616915b828110156200045e578886015182559484019460019091019084016200043d565b50858210156200047d5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215620004a057600080fd5b815160ff81168114620004b257600080fd5b9392505050565b600060208083528351808285015260005b81811015620004e857858101830151858201604001528201620004ca565b506000604082860101526040601f19601f8301168501019250505092915050565b80516020808301519190811015620003685760001960209190910360031b1b16919050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e051612583620005ff600039600081816103780152818161040201526106be0152600081816101df0152818161042e01526106ea01526000818161027a015281816104dc015281816105a60152818161072a015281816108740152610a52015260006102b90152600061021b015260006106490152600061061e01526000610d9401526000610d6c01526000610cc701526000610cf101526000610d1b01526125836000f3fe608060405234801561001057600080fd5b50600436106101825760003560e01c806370a08231116100d8578063a457c2d71161008c578063d505accf11610066578063d505accf1461039a578063dd62ed3e146103ad578063ec60bcf3146103e657600080fd5b8063a457c2d71461034d578063a9059cbb14610360578063d4b839921461037357600080fd5b806384b0196e116100bd57806384b0196e1461031757806395d89b41146103325780639dc29fac1461033a57600080fd5b806370a08231146102db5780637ecebe001461030457600080fd5b8063313ce5671161013a57806340c10f191161011457806340c10f19146102605780636ebc0af1146102755780636f307dc3146102b457600080fd5b8063313ce567146102145780633644e51514610245578063395093511461024d57600080fd5b806318160ddd1161016b57806318160ddd146101c8578063204f83f9146101da57806323b872dd1461020157600080fd5b806306fdde0314610187578063095ea7b3146101a5575b600080fd5b61018f6103f9565b60405161019c9190611ef2565b60405180910390f35b6101b86101b3366004611f21565b610478565b604051901515815260200161019c565b6002545b60405190815260200161019c565b6101cc7f000000000000000000000000000000000000000000000000000000000000000081565b6101b861020f366004611f4b565b610492565b60405160ff7f000000000000000000000000000000000000000000000000000000000000000016815260200161019c565b6101cc61054d565b6101b861025b366004611f21565b61055c565b61027361026e366004611f21565b61059b565b005b61029c7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161019c565b61029c7f000000000000000000000000000000000000000000000000000000000000000081565b6101cc6102e9366004611f87565b6001600160a01b031660009081526020819052604090205490565b6101cc610312366004611f87565b6105f2565b61031f610610565b60405161019c9796959493929190611fa2565b61018f6106b5565b610273610348366004611f21565b61071f565b6101b861035b366004611f21565b610772565b6101b861036e366004611f21565b61082c565b61029c7f000000000000000000000000000000000000000000000000000000000000000081565b6102736103a8366004612054565b6108e3565b6101cc6103bb3660046120c7565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6102736103f4366004611f4b565b610a47565b606060006104267f0000000000000000000000000000000000000000000000000000000000000000610ac3565b9050806104527f0000000000000000000000000000000000000000000000000000000000000000610b05565b6040516020016104639291906120fa565b60405160208183030381529060405291505090565b600033610486818585610b49565b60019150505b92915050565b6040517fefb2873c0000000000000000000000000000000000000000000000000000000081526001600160a01b0384811660048301528381166024830152604482018390526000917f00000000000000000000000000000000000000000000000000000000000000009091169063efb2873c90606401600060405180830381600087803b15801561052257600080fd5b505af1158015610536573d6000803e3d6000fd5b50505050610545848484610ca1565b949350505050565b6000610557610cba565b905090565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091906104869082908690610596908790612191565b610b49565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146105e45760405163cfb52b9560e01b815260040160405180910390fd5b6105ee8282610de5565b5050565b6001600160a01b03811660009081526007602052604081205461048c565b6000606080828080836106447f00000000000000000000000000000000000000000000000000000000000000006005610ea4565b61066f7f00000000000000000000000000000000000000000000000000000000000000006006610ea4565b604080516000808252602082019092527f0f000000000000000000000000000000000000000000000000000000000000009b939a50919850469750309650945092509050565b606060006106e27f0000000000000000000000000000000000000000000000000000000000000000610f4f565b90508061070e7f0000000000000000000000000000000000000000000000000000000000000000610b05565b6040516020016104639291906121ba565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146107685760405163cfb52b9560e01b815260040160405180910390fd5b6105ee8282610f7d565b3360008181526001602090815260408083206001600160a01b0387168452909152812054909190838110156108145760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f00000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6108218286868403610b49565b506001949350505050565b6040517fefb2873c0000000000000000000000000000000000000000000000000000000081523360048201526001600160a01b038381166024830152604482018390526000917f00000000000000000000000000000000000000000000000000000000000000009091169063efb2873c90606401600060405180830381600087803b1580156108ba57600080fd5b505af11580156108ce573d6000803e3d6000fd5b505050506108dc83836110e6565b9392505050565b834211156109335760405162461bcd60e51b815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e65000000604482015260640161080b565b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98888886109628c6110f4565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e00160405160208183030381529060405280519060200120905060006109bd8261111c565b905060006109cd82878787611164565b9050896001600160a01b0316816001600160a01b031614610a305760405162461bcd60e51b815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e61747572650000604482015260640161080b565b610a3b8a8a8a610b49565b50505050505050505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610a905760405163cfb52b9560e01b815260040160405180910390fd5b816001600160a01b0316836001600160a01b031614610ab457610ab483838361118c565b610abe8382610f7d565b505050565b60606000610af1837f06fdde030000000000000000000000000000000000000000000000000000000061121e565b9050805160000361048c576108dc83611377565b60606000806000610b1585611382565b925092509250828282604051602001610b309392919061223b565b6040516020818303038152906040529350505050919050565b6001600160a01b038316610bc45760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f7265737300000000000000000000000000000000000000000000000000000000606482015260840161080b565b6001600160a01b038216610c405760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f7373000000000000000000000000000000000000000000000000000000000000606482015260840161080b565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600033610caf85828561118c565b6108218585856113c5565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015610d1357507f000000000000000000000000000000000000000000000000000000000000000046145b15610d3d57507f000000000000000000000000000000000000000000000000000000000000000090565b610557604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b6001600160a01b038216610e3b5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640161080b565b8060026000828254610e4d9190612191565b90915550506001600160a01b038216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b606060ff8314610ebe57610eb7836115b2565b905061048c565b818054610eca906122b1565b80601f0160208091040260200160405190810160405280929190818152602001828054610ef6906122b1565b8015610f435780601f10610f1857610100808354040283529160200191610f43565b820191906000526020600020905b815481529060010190602001808311610f2657829003601f168201915b5050505050905061048c565b60606000610af1837f95d89b410000000000000000000000000000000000000000000000000000000061121e565b6001600160a01b038216610ff95760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f7300000000000000000000000000000000000000000000000000000000000000606482015260840161080b565b6001600160a01b038216600090815260208190526040902054818110156110885760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f6365000000000000000000000000000000000000000000000000000000000000606482015260840161080b565b6001600160a01b0383166000818152602081815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505050565b6000336104868185856113c5565b6001600160a01b03811660009081526007602052604090208054600181018255905b50919050565b600061048c611129610cba565b836040517f19010000000000000000000000000000000000000000000000000000000000008152600281019290925260228201526042902090565b6000806000611175878787876115f1565b91509150611182816116b5565b5095945050505050565b6001600160a01b038381166000908152600160209081526040808320938616835292905220546000198114611218578181101561120b5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161080b565b6112188484848403610b49565b50505050565b60408051600481526024810182526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000008516179052905160609160009182916001600160a01b0387169161129591906122e5565b600060405180830381855afa9150503d80600081146112d0576040519150601f19603f3d011682016040523d82523d6000602084013e6112d5565b606091505b50915091508115806112e657508051155b1561130457604051806020016040528060008152509250505061048c565b8051602003611338576000818060200190518101906113239190612301565b905061132e8161181d565b935050505061048c565b60408151111561135f5780806020019051810190611356919061231a565b9250505061048c565b50506040805160208101909152600081529392505050565b606061048c82611991565b60608060606000806000611395876119a7565b9250925092506113a4816119cd565b95506113af826119cd565b94506113ba836119cd565b959794965050505050565b6001600160a01b0383166114415760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f6472657373000000000000000000000000000000000000000000000000000000606482015260840161080b565b6001600160a01b0382166114bd5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f6573730000000000000000000000000000000000000000000000000000000000606482015260840161080b565b6001600160a01b0383166000908152602081905260409020548181101561154c5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e63650000000000000000000000000000000000000000000000000000606482015260840161080b565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3611218565b606060006115bf83611b0c565b604080516020808252818301909252919250600091906020820181803683375050509182525060208101929092525090565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083111561162857506000905060036116ac565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa15801561167c573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166116a5576000600192509250506116ac565b9150600090505b94509492505050565b60008160048111156116c9576116c96123c7565b036116d15750565b60018160048111156116e5576116e56123c7565b036117325760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604482015260640161080b565b6002816004811115611746576117466123c7565b036117935760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604482015260640161080b565b60038160048111156117a7576117a76123c7565b0361181a5760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f7565000000000000000000000000000000000000000000000000000000000000606482015260840161080b565b50565b604080516020808252818301909252606091600091906020820181803683370190505090506000805b60208110156118dc576000858260208110611863576118636123dd565b1a60f81b90507fff000000000000000000000000000000000000000000000000000000000000008116156118c957808484815181106118a4576118a46123dd565b60200101906001600160f81b031916908160001a905350826118c5816123f3565b9350505b50806118d4816123f3565b915050611846565b5060008167ffffffffffffffff8111156118f8576118f86121a4565b6040519080825280601f01601f191660200182016040528015611922576020820181803683370190505b50905060005b8281101561198857838181518110611942576119426123dd565b602001015160f81c60f81b82828151811061195f5761195f6123dd565b60200101906001600160f81b031916908160001a90535080611980816123f3565b915050611928565b50949350505050565b606061048c6001600160a01b0383166014611b4d565b600080806119c06119bb6201518086612423565b611d2e565b9196909550909350915050565b606081600003611a1057505060408051808201909152600181527f3000000000000000000000000000000000000000000000000000000000000000602082015290565b8160005b8115611a3a5780611a24816123f3565b9150611a339050600a83612423565b9150611a14565b60008167ffffffffffffffff811115611a5557611a556121a4565b6040519080825280601f01601f191660200182016040528015611a7f576020820181803683370190505b509050815b851561198857611a95600182612437565b90506000611aa4600a88612423565b611aaf90600a61244a565b611ab99088612437565b611ac4906030612461565b905060008160f81b905080848481518110611ae157611ae16123dd565b60200101906001600160f81b031916908160001a905350611b03600a89612423565b97505050611a84565b600060ff8216601f81111561048c576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60606000611b5c83600261244a565b611b67906002612191565b67ffffffffffffffff811115611b7f57611b7f6121a4565b6040519080825280601f01601f191660200182016040528015611ba9576020820181803683370190505b5090507f300000000000000000000000000000000000000000000000000000000000000081600081518110611be057611be06123dd565b60200101906001600160f81b031916908160001a9053507f780000000000000000000000000000000000000000000000000000000000000081600181518110611c2b57611c2b6123dd565b60200101906001600160f81b031916908160001a9053506000611c4f84600261244a565b611c5a906001612191565b90505b6001811115611cdf577f303132333435363738396162636465660000000000000000000000000000000085600f1660108110611c9b57611c9b6123dd565b1a60f81b828281518110611cb157611cb16123dd565b60200101906001600160f81b031916908160001a90535060049490941c93611cd88161247a565b9050611c5d565b5083156108dc5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e74604482015260640161080b565b60008080838162253d8c611d458362010bd9612491565b611d4f9190612491565b9050600062023ab1611d628360046124b9565b611d6c9190612505565b90506004611d7d8262023ab16124b9565b611d88906003612491565b611d929190612505565b611d9c908361254f565b9150600062164b09611daf846001612491565b611dbb90610fa06124b9565b611dc59190612505565b90506004611dd5826105b56124b9565b611ddf9190612505565b611de9908461254f565b611df490601f612491565b9250600061098f611e068560506124b9565b611e109190612505565b905060006050611e228361098f6124b9565b611e2c9190612505565b611e36908661254f565b9050611e43600b83612505565b9450611e5085600c6124b9565b611e5b836002612491565b611e65919061254f565b91508483611e7460318761254f565b611e7f9060646124b9565b611e899190612491565b611e939190612491565b9a919950975095505050505050565b60005b83811015611ebd578181015183820152602001611ea5565b50506000910152565b60008151808452611ede816020860160208601611ea2565b601f01601f19169290920160200192915050565b6020815260006108dc6020830184611ec6565b80356001600160a01b0381168114611f1c57600080fd5b919050565b60008060408385031215611f3457600080fd5b611f3d83611f05565b946020939093013593505050565b600080600060608486031215611f6057600080fd5b611f6984611f05565b9250611f7760208501611f05565b9150604084013590509250925092565b600060208284031215611f9957600080fd5b6108dc82611f05565b7fff00000000000000000000000000000000000000000000000000000000000000881681526000602060e081840152611fde60e084018a611ec6565b8381036040850152611ff0818a611ec6565b606085018990526001600160a01b038816608086015260a0850187905284810360c0860152855180825283870192509083019060005b8181101561204257835183529284019291840191600101612026565b50909c9b505050505050505050505050565b600080600080600080600060e0888a03121561206f57600080fd5b61207888611f05565b965061208660208901611f05565b95506040880135945060608801359350608088013560ff811681146120aa57600080fd5b9699959850939692959460a0840135945060c09093013592915050565b600080604083850312156120da57600080fd5b6120e383611f05565b91506120f160208401611f05565b90509250929050565b7f4e6170696572205969656c6420546f6b656e2000000000000000000000000000815260008351612132816013850160208801611ea2565b7f4000000000000000000000000000000000000000000000000000000000000000601391840191820152835161216f816014840160208801611ea2565b01601401949350505050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561048c5761048c61217b565b634e487b7160e01b600052604160045260246000fd5b7f59542d00000000000000000000000000000000000000000000000000000000008152600083516121f2816003850160208801611ea2565b7f4000000000000000000000000000000000000000000000000000000000000000600391840191820152835161222f816004840160208801611ea2565b01600401949350505050565b6000845161224d818460208901611ea2565b80830190507f2d000000000000000000000000000000000000000000000000000000000000008082528551612289816001850160208a01611ea2565b600192019182015283516122a4816002840160208801611ea2565b0160020195945050505050565b600181811c908216806122c557607f821691505b60208210810361111657634e487b7160e01b600052602260045260246000fd5b600082516122f7818460208701611ea2565b9190910192915050565b60006020828403121561231357600080fd5b5051919050565b60006020828403121561232c57600080fd5b815167ffffffffffffffff8082111561234457600080fd5b818401915084601f83011261235857600080fd5b81518181111561236a5761236a6121a4565b604051601f8201601f19908116603f01168101908382118183101715612392576123926121a4565b816040528281528760208487010111156123ab57600080fd5b6123bc836020830160208801611ea2565b979650505050505050565b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b600060001982036124065761240661217b565b5060010190565b634e487b7160e01b600052601260045260246000fd5b6000826124325761243261240d565b500490565b8181038181111561048c5761048c61217b565b808202811582820484141761048c5761048c61217b565b60ff818116838216019081111561048c5761048c61217b565b6000816124895761248961217b565b506000190190565b80820182811260008312801582168215821617156124b1576124b161217b565b505092915050565b808202600082127f8000000000000000000000000000000000000000000000000000000000000000841416156124f1576124f161217b565b818105831482151761048c5761048c61217b565b6000826125145761251461240d565b60001983147f80000000000000000000000000000000000000000000000000000000000000008314161561254a5761254a61217b565b500590565b818103600083128015838313168383128216171561256f5761256f61217b565b509291505056fea164736f6c6343000813000a00000000000000000000000079a5856906bdbf4e35e108e5f396b6b117204857000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000004ab76d0676e38315787f4c63406546e4b60395840000000000000000000000000000000000000000000000000000000067724355