SPB Git

Repository Public

cctp-code.json 117.6 KB 1 lines json

1{"proxy":"0x60806040526004361061005e5760003560e01c80635c60da1b116100435780635c60da1b146101425780638f28397014610180578063f851a440146101c05761006d565b80633659cfe6146100755780634f1ef286146100b55761006d565b3661006d5761006b6101d5565b005b61006b6101d5565b34801561008157600080fd5b5061006b6004803603602081101561009857600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166101ef565b61006b600480360360408110156100cb57600080fd5b73ffffffffffffffffffffffffffffffffffffffff823516919081019060408101602082013564010000000081111561010357600080fd5b82018360208201111561011557600080fd5b8035906020019184600183028401116401000000008311171561013757600080fd5b509092509050610243565b34801561014e57600080fd5b506101576102da565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b34801561018c57600080fd5b5061006b600480360360208110156101a357600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166102e9565b3480156101cc57600080fd5b506101576103f1565b6101dd6101ed565b6101ed6101e861042d565b610452565b565b6101f7610476565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415610238576102338161049b565b610240565b6102406101d5565b50565b61024b610476565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156102cd576102878361049b565b6102c78383838080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506103fb92505050565b506102d5565b6102d56101d5565b505050565b60006102e461042d565b905090565b6102f1610476565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156102385773ffffffffffffffffffffffffffffffffffffffff8116610390576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260338152602001806107946033913960400191505060405180910390fd5b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6103b9610476565b6040805173ffffffffffffffffffffffffffffffffffffffff928316815291841660208301528051918290030190a1610233816104e8565b60006102e4610476565b606061042083836040518060600160405280602781526020016107c76027913961050c565b9392505050565b3b151590565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b3660008037600080366000845af43d6000803e808015610471573d6000f35b3d6000fd5b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b6104a481610653565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355565b606061051784610427565b61056c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806108246026913960400191505060405180910390fd5b6000808573ffffffffffffffffffffffffffffffffffffffff16856040518082805190602001908083835b602083106105d457805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101610597565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610634576040519150601f19603f3d011682016040523d82523d6000602084013e610639565b606091505b50915091506106498282866106d5565b9695505050505050565b61065c81610427565b6106b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260368152602001806107ee6036913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b606083156106e4575081610420565b8251156106f45782518084602001fd5b816040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610758578181015183820152602001610740565b50505050905090810190601f1680156107855780820380516001836020036101000a031916815260200191505b509250505060405180910390fdfe41646d696e55706772616461626c6550726f78793a206e65772061646d696e20697320746865207a65726f2061646472657373416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c65645570677261646561626c6550726f78793a206e657720696d706c656d656e746174696f6e206973206e6f74206120636f6e7472616374416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6e7472616374a2646970667358221220068f811348b609f5517cbc7465c83b11974babdf4b0be88e961401326b39178264736f6c63430007060033","minter":"0x608060405234801561001057600080fd5b50600436106101ae5760003560e01c80638da5cb5b116100ee578063cec74c0311610097578063e30c397811610071578063e30c397814610559578063eddd9d8214610561578063eed3b9da14610569578063f2fde38b14610586576101ae565b8063cec74c03146104d3578063d54de06f146104db578063e102baab14610526576101ae565b80639fd0506d116100c85780639fd0506d14610443578063a56ec6321461044b578063b2118a8d14610490576101ae565b80638da5cb5b146103a75780638dfcfa90146103af5780639dc29fac1461040a576101ae565b8063554bab3c1161015b578063770fc1f011610135578063770fc1f01461036657806378a0565e1461036e57806379ba5097146103975780638456cb591461039f576101ae565b8063554bab3c146102de5780635c975abb146103115780637235ea0c1461032d576101ae565b806336a816da1161018c57806336a816da1461027257806338a63183146102a55780633f4ba83a146102d6576101ae565b806311b35fa4146101b35780632ab60045146101fa5780632b2b90e11461022d575b600080fd5b6101f8600480360360608110156101c957600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169063ffffffff60208201351690604001356105b9565b005b6101f86004803603602081101561021057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610777565b6101f86004803603606081101561024357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169063ffffffff602082013516906040013561078b565b6101f86004803603602081101561028857600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610950565b6102ad610ade565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6101f8610afa565b6101f8600480360360208110156102f457600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610bbd565b610319610bce565b604080519115158252519081900360200190f35b6101f86004803603604081101561034357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610bef565b6102ad610cd4565b6102ad6004803603604081101561038457600080fd5b5063ffffffff8135169060200135610cf0565b6101f8610d03565b6101f8610da3565b6102ad610e7d565b6102ad600480360360c08110156103c557600080fd5b5063ffffffff8135169060208101359073ffffffffffffffffffffffffffffffffffffffff604082013581169160608101359091169060808101359060a00135610e99565b6101f86004803603604081101561042057600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813516906020013561124d565b6102ad6114c7565b61047e6004803603602081101561046157600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166114e3565b60408051918252519081900360200190f35b6101f8600480360360608110156104a657600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135811691602081013590911690604001356114f5565b6101f861158b565b6102ad600480360360808110156104f157600080fd5b5063ffffffff8135169060208101359073ffffffffffffffffffffffffffffffffffffffff604082013516906060013561168c565b6101f86004803603602081101561053c57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611936565b6102ad611947565b6102ad611963565b6102ad6004803603602081101561057f57600080fd5b503561197f565b6101f86004803603602081101561059c57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166119a7565b60025473ffffffffffffffffffffffffffffffffffffffff16331461063f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f43616c6c6572206973206e6f7420746f6b656e436f6e74726f6c6c6572000000604482015290519081900360640190fd5b600061064b8383611ab6565b60008181526001602052604090205490915073ffffffffffffffffffffffffffffffffffffffff166106de57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f556e61626c6520746f20756e6c696e6b20746f6b656e20706169720000000000604482015290519081900360640190fd5b60008181526001602090815260409182902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055815173ffffffffffffffffffffffffffffffffffffffff8716815263ffffffff86169181019190915280820184905290517fa545a3b499d14157d483b3da15afb4c3845531142505def4697f46863750b09e9181900360600190a150505050565b61077f611af8565b61078881611ba2565b50565b60025473ffffffffffffffffffffffffffffffffffffffff16331461081157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f43616c6c6572206973206e6f7420746f6b656e436f6e74726f6c6c6572000000604482015290519081900360640190fd5b600061081d8383611ab6565b60008181526001602052604090205490915073ffffffffffffffffffffffffffffffffffffffff16156108b157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f556e61626c6520746f206c696e6b20746f6b656e207061697200000000000000604482015290519081900360640190fd5b600081815260016020908152604091829020805473ffffffffffffffffffffffffffffffffffffffff88167fffffffffffffffffffffffff00000000000000000000000000000000000000009091168117909155825190815263ffffffff86169181019190915280820184905290517f0d62f22541e067b40918826c6ea1d53a5d3d8cd6db5ea2412f98ee13658067279181900360600190a150505050565b610958611af8565b73ffffffffffffffffffffffffffffffffffffffff81166109da57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f496e76616c696420546f6b656e4d657373656e67657220616464726573730000604482015290519081900360640190fd5b60075473ffffffffffffffffffffffffffffffffffffffff1615610a5f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4c6f63616c20546f6b656e4d657373656e67657220616c726561647920736574604482015290519081900360640190fd5b600780547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff838116919091179182905560408051929091168252517f9b5383f8f338b0114c8a37985032531722c23d3266b6304c09d5712c7aa9c53a916020908290030190a150565b60065473ffffffffffffffffffffffffffffffffffffffff1690565b60055473ffffffffffffffffffffffffffffffffffffffff163314610b6a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806123ce6022913960400191505060405180910390fd5b600580547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1690556040517f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3390600090a1565b610bc5611af8565b61078881611c7d565b60055474010000000000000000000000000000000000000000900460ff1681565b60025473ffffffffffffffffffffffffffffffffffffffff163314610c7557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f43616c6c6572206973206e6f7420746f6b656e436f6e74726f6c6c6572000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff821660008181526020818152604091829020849055815184815291517f6aa98de3efb0f031e70a96b4bd97fafc58474ad59f4e890aa3733bba321ecca29281900390910190a25050565b60075473ffffffffffffffffffffffffffffffffffffffff1681565b6000610cfc8383611d5e565b9392505050565b6000610d0d611d98565b90508073ffffffffffffffffffffffffffffffffffffffff16610d2e611947565b73ffffffffffffffffffffffffffffffffffffffff1614610d9a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260298152602001806123316029913960400191505060405180910390fd5b61078881611d9c565b60055473ffffffffffffffffffffffffffffffffffffffff163314610e13576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806123ce6022913960400191505060405180910390fd5b600580547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790556040517f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62590600090a1565b60035473ffffffffffffffffffffffffffffffffffffffff1690565b60055460009074010000000000000000000000000000000000000000900460ff1615610f2657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b610f2e611dcd565b610f9957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f43616c6c6572206e6f74206c6f63616c20546f6b656e4d657373656e67657200604482015290519081900360640190fd5b6000610fa58888611d5e565b905073ffffffffffffffffffffffffffffffffffffffff811661102957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4d696e7420746f6b656e206e6f7420737570706f727465640000000000000000604482015290519081900360640190fd5b604080517f40c10f1900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff888116600483015260248201879052915183928316916340c10f199160448083019260209291908290030181600087803b1580156110a257600080fd5b505af11580156110b6573d6000803e3d6000fd5b505050506040513d60208110156110cc57600080fd5b505161113957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f4669727374206d696e74206f7065726174696f6e206661696c65640000000000604482015290519081900360640190fd5b8073ffffffffffffffffffffffffffffffffffffffff166340c10f1987866040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156111aa57600080fd5b505af11580156111be573d6000803e3d6000fd5b505050506040513d60208110156111d457600080fd5b505161124157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f5365636f6e64206d696e74206f7065726174696f6e206661696c656400000000604482015290519081900360640190fd5b50979650505050505050565b60055474010000000000000000000000000000000000000000900460ff16156112d757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b6112df611dcd565b61134a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f43616c6c6572206e6f74206c6f63616c20546f6b656e4d657373656e67657200604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff821660009081526020819052604090205482908290806113e057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4275726e20746f6b656e206e6f7420737570706f727465640000000000000000604482015290519081900360640190fd5b8082111561144f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4275726e20616d6f756e74206578636565647320706572207478206c696d6974604482015290519081900360640190fd5b60008590508073ffffffffffffffffffffffffffffffffffffffff166342966c68866040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b1580156114a757600080fd5b505af11580156114bb573d6000803e3d6000fd5b50505050505050505050565b60055473ffffffffffffffffffffffffffffffffffffffff1690565b60006020819052908152604090205481565b60065473ffffffffffffffffffffffffffffffffffffffff163314611565576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806123aa6024913960400191505060405180910390fd5b61158673ffffffffffffffffffffffffffffffffffffffff84168383611e13565b505050565b611593611af8565b60075473ffffffffffffffffffffffffffffffffffffffff168061161857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f4e6f206c6f63616c20546f6b656e4d657373656e676572206973207365740000604482015290519081900360640190fd5b600780547fffffffffffffffffffffffff00000000000000000000000000000000000000001690556040805173ffffffffffffffffffffffffffffffffffffffff8316815290517ff38224d382e0b9cd3f016a2cc70e00cc46f3c902a50d96f1e32f10a9c9ecc5bc9181900360200190a150565b60055460009074010000000000000000000000000000000000000000900460ff161561171957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b611721611dcd565b61178c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f43616c6c6572206e6f74206c6f63616c20546f6b656e4d657373656e67657200604482015290519081900360640190fd5b60006117988686611d5e565b905073ffffffffffffffffffffffffffffffffffffffff811661181c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4d696e7420746f6b656e206e6f7420737570706f727465640000000000000000604482015290519081900360640190fd5b604080517f40c10f1900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff868116600483015260248201869052915183928316916340c10f199160448083019260209291908290030181600087803b15801561189557600080fd5b505af11580156118a9573d6000803e3d6000fd5b505050506040513d60208110156118bf57600080fd5b505161192c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4d696e74206f7065726174696f6e206661696c65640000000000000000000000604482015290519081900360640190fd5b5095945050505050565b61193e611af8565b61078881611ea0565b60045473ffffffffffffffffffffffffffffffffffffffff1690565b60025473ffffffffffffffffffffffffffffffffffffffff1690565b60016020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b6119af611af8565b600480547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556119fa610e7d565b73ffffffffffffffffffffffffffffffffffffffff167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b6003805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60008282604051602001808363ffffffff1660e01b81526004018281526020019250505060405160208183030381529060405280519060200120905092915050565b611b00611d98565b73ffffffffffffffffffffffffffffffffffffffff16611b1e610e7d565b73ffffffffffffffffffffffffffffffffffffffff1614611ba057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b565b73ffffffffffffffffffffffffffffffffffffffff8116611c0e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a81526020018061235a602a913960400191505060405180910390fd5b600680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517fe475e580d85111348e40d8ca33cfdd74c30fe1655c2d8537a13abc10065ffa5a90600090a250565b73ffffffffffffffffffffffffffffffffffffffff8116611ce9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260288152602001806123096028913960400191505060405180910390fd5b600580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83811691909117918290556040519116907fb80482a293ca2e013eda8683c9bd7fc8347cfdaeea5ede58cba46df502c2a60490600090a250565b600080611d6b8484611ab6565b60009081526001602052604090205473ffffffffffffffffffffffffffffffffffffffff16949350505050565b3390565b600480547fffffffffffffffffffffffff000000000000000000000000000000000000000016905561078881611a3f565b60075460009073ffffffffffffffffffffffffffffffffffffffff1615801590611e0e575060075473ffffffffffffffffffffffffffffffffffffffff1633145b905090565b6040805173ffffffffffffffffffffffffffffffffffffffff8416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb00000000000000000000000000000000000000000000000000000000179052611586908490611f9b565b73ffffffffffffffffffffffffffffffffffffffff8116611f2257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f496e76616c696420746f6b656e20636f6e74726f6c6c65722061646472657373604482015290519081900360640190fd5b6002805473ffffffffffffffffffffffffffffffffffffffff83167fffffffffffffffffffffffff0000000000000000000000000000000000000000909116811790915560408051918252517fbc661161c0cbda8d30350f565f4a00497983a8204ce97d977fa633359160b0759181900360200190a150565b6000611ffd826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166120739092919063ffffffff16565b8051909150156115865780806020019051602081101561201c57600080fd5b5051611586576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001806123f0602a913960400191505060405180910390fd5b6060612082848460008561208a565b949350505050565b6060824710156120e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806123846026913960400191505060405180910390fd5b6120ee85612244565b61215957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040518082805190602001908083835b602083106121c257805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101612185565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114612224576040519150601f19603f3d011682016040523d82523d6000602084013e612229565b606091505b509150915061223982828661224a565b979650505050505050565b3b151590565b60608315612259575081610cfc565b8251156122695782518084602001fd5b816040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156122cd5781810151838201526020016122b5565b50505050905090810190601f1680156122fa5780820380516001836020036101000a031916815260200191505b509250505060405180910390fdfe5061757361626c653a206e65772070617573657220697320746865207a65726f20616464726573734f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206e6577206f776e6572526573637561626c653a206e6577207265736375657220697320746865207a65726f2061646472657373416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c526573637561626c653a2063616c6c6572206973206e6f742074686520726573637565725061757361626c653a2063616c6c6572206973206e6f7420746865207061757365725361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a2646970667358221220466a05abc4d3b59412d236ae55182e66a208ae14bacb0aa3f581df2df059f70464736f6c63430007060033","0x555e272506c06e7e559d57418563742afe363ec8":"0x608060405234801561001057600080fd5b50600436106101c45760003560e01c80638fb2ea65116100f9578063cb75c11c11610097578063e74b981b11610071578063e74b981b1461076a578063e877a5261461079d578063f2fde38b146107d0578063f79fd08e14610803576101c4565b8063cb75c11c14610731578063da87e44814610739578063e30c397814610762576101c4565b80639cdbb181116100d35780639cdbb18114610692578063a946de04146106b3578063b2118a8d146106e6578063bcc76c6014610729576101c4565b80638fb2ea651461055757806391f17888146106575780639cab0c1c1461065f576101c4565b8063779b432d116101665780638197beb9116101405780638197beb91461048857806382a5e665146104bb5780638da5cb5b146104f05780638e0250ee146104f8576101c4565b8063779b432d1461033757806379ba5097146103f45780637c92f219146103fc576101c4565b80632c121921116101a25780632c121921146102c35780633371bfff146102f457806338a6318314610327578063469048401461032f576101c4565b806308828eb7146101c957806311cffb67146101ee5780632ab600451461028e575b600080fd5b6101d1610826565b6040805167ffffffffffffffff9092168252519081900360200190f35b61027a6004803603608081101561020457600080fd5b63ffffffff823581169260208101359260408201359092169181019060808101606082013564010000000081111561023b57600080fd5b82018360208201111561024d57600080fd5b8035906020019184600183028401116401000000008311171561026f57600080fd5b509092509050610835565b604080519115158252519081900360200190f35b6102c1600480360360208110156102a457600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610964565b005b6102cb610978565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6102c16004803603602081101561030a57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661099c565b6102cb610a5e565b6102cb610a7a565b6102c1600480360361010081101561034e57600080fd5b81359163ffffffff602082013581169260408301359273ffffffffffffffffffffffffffffffffffffffff6060820135169260808201359260a08301359260c08101359092169190810190610100810160e08201356401000000008111156103b557600080fd5b8201836020820111156103c757600080fd5b803590602001918460018302840111640100000000831117156103e957600080fd5b509092509050610a96565b6102c1610b37565b61027a6004803603608081101561041257600080fd5b63ffffffff823581169260208101359260408201359092169181019060808101606082013564010000000081111561044957600080fd5b82018360208201111561045b57600080fd5b8035906020019184600183028401116401000000008311171561047d57600080fd5b509092509050610bd7565b6102c16004803603602081101561049e57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610d24565b6104de600480360360208110156104d157600080fd5b503563ffffffff16610d35565b60408051918252519081900360200190f35b6102cb610d47565b6102c1600480360360e081101561050e57600080fd5b5080359063ffffffff602082013581169160408101359173ffffffffffffffffffffffffffffffffffffffff6060830135169160808101359160a08201359160c0013516610d63565b6102c1600480360360e081101561056d57600080fd5b73ffffffffffffffffffffffffffffffffffffffff823581169260208101358216926040820135831692606083013581169260808101359091169181019060c0810160a08201356401000000008111156105c657600080fd5b8201836020820111156105d857600080fd5b803590602001918460208302840111640100000000831117156105fa57600080fd5b91939092909160208101903564010000000081111561061857600080fd5b82018360208201111561062a57600080fd5b8035906020019184602083028401116401000000008311171561064c57600080fd5b509092509050610da0565b6102c161107e565b6102c16004803603602081101561067557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661117f565b61069a611240565b6040805163ffffffff9092168252519081900360200190f35b6102c1600480360360208110156106c957600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611264565b6102c1600480360360608110156106fc57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135611275565b6102cb61130b565b6102cb611327565b6102c16004803603604081101561074f57600080fd5b5063ffffffff8135169060200135611343565b6102cb611359565b6102c16004803603602081101561078057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611375565b61027a600480360360208110156107b357600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611386565b6102c1600480360360208110156107e657600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113b5565b6102c16004803603602081101561081957600080fd5b503563ffffffff1661144d565b60006108306115a6565b905090565b600061083f6115c0565b6108aa57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f496e76616c6964206d657373616765207472616e736d69747465720000000000604482015290519081900360640190fd5b85856108b682826115fc565b61090b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806138866021913960400191505060405180910390fd5b610958610952600087878080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929392505061162a9050565b8961164e565b98975050505050505050565b61096c611683565b6109758161172d565b50565b7f00000000000000000000000081d40f21f12a8f0e3252bccb954d722d4c464b6481565b60035473ffffffffffffffffffffffffffffffffffffffff163314610a0c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602681526020018061399a6026913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff811660008181526004602052604080822060019055517ffa4507bc1f9c730e6e95897024f1fe7d576cf2deb53579d55c14f1ac3439e1149190a250565b60025473ffffffffffffffffffffffffffffffffffffffff1690565b601b5473ffffffffffffffffffffffffffffffffffffffff1681565b610a9f33611808565b333214610aaf57610aaf32611808565b80610b1b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f486f6f6b206461746120697320656d7074790000000000000000000000000000604482015290519081900360640190fd5b610b2c898989898989898989611884565b505050505050505050565b6000610b41611c4e565b90508073ffffffffffffffffffffffffffffffffffffffff16610b62611359565b73ffffffffffffffffffffffffffffffffffffffff1614610bce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260298152602001806137de6029913960400191505060405180910390fd5b61097581611c52565b6000610be16115c0565b610c4c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f496e76616c6964206d657373616765207472616e736d69747465720000000000604482015290519081900360640190fd5b8585610c5882826115fc565b610cad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806138866021913960400191505060405180910390fd5b6101f463ffffffff8716101561090b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f556e737570706f727465642066696e616c697479207468726573686f6c640000604482015290519081900360640190fd5b610d2c611683565b61097581611c83565b601a6020526000908152604090205481565b60005473ffffffffffffffffffffffffffffffffffffffff1690565b610d6c33611808565b333214610d7c57610d7c32611808565b366000610d8b8180848161376d565b91509150610b2c898989898989898989611884565b6000610daa611e03565b805490915060ff68010000000000000000820416159067ffffffffffffffff16600081158015610dd75750825b905060008267ffffffffffffffff166001148015610dfb5750610df930611e27565b155b90508180610e065750805b610e5b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806137b96025913960400191505060405180910390fd5b84547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001660011785558315610ebc5784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff16680100000000000000001785555b73ffffffffffffffffffffffffffffffffffffffff8e16610f3e57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4f776e657220697320746865207a65726f206164647265737300000000000000604482015290519081900360640190fd5b878614610f96576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806137966023913960400191505060405180910390fd5b610f9f8e611c52565b610fa88d61172d565b610fb18b611e2d565b610fba8c611f10565b610fc38a611c83565b8760005b8181101561100b576110038b8b83818110610fde57fe5b9050602002013563ffffffff168a8a84818110610ff757fe5b9050602002013561200b565b600101610fc7565b5050831561106e5784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff168555604080516001815290517fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29181900360200190a15b5050505050505050505050505050565b611086611683565b60195473ffffffffffffffffffffffffffffffffffffffff168061110b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4e6f206c6f63616c206d696e746572206973207365742e000000000000000000604482015290519081900360640190fd5b601980547fffffffffffffffffffffffff00000000000000000000000000000000000000001690556040805173ffffffffffffffffffffffffffffffffffffffff8316815290517f2db49fbf671271826a27b02ebc496209c85fffffb4bccc67430d2a0f22b4d1ac9181900360200190a150565b60035473ffffffffffffffffffffffffffffffffffffffff1633146111ef576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602681526020018061399a6026913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8116600081815260046020526040808220829055517fc904e1b03de0c20d7fcf9dbd056daf1bd3815e93f251199de815fd0f0b96e1669190a250565b7f000000000000000000000000000000000000000000000000000000000000000181565b61126c611683565b61097581611e2d565b60025473ffffffffffffffffffffffffffffffffffffffff1633146112e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806138ee6024913960400191505060405180910390fd5b61130673ffffffffffffffffffffffffffffffffffffffff8416838361214f565b505050565b60035473ffffffffffffffffffffffffffffffffffffffff1690565b60195473ffffffffffffffffffffffffffffffffffffffff1681565b61134b611683565b611355828261200b565b5050565b60015473ffffffffffffffffffffffffffffffffffffffff1690565b61137d611683565b61097581611f10565b73ffffffffffffffffffffffffffffffffffffffff81166000908152600460205260409020546001145b919050565b6113bd611683565b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8316908117909155611408610d47565b73ffffffffffffffffffffffffffffffffffffffff167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b611455611683565b63ffffffff81166000908152601a60205260409020546114d657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4e6f20546f6b656e4d657373656e676572207365740000000000000000000000604482015290519081900360640190fd5b63ffffffff81166000818152601a6020908152604080832080549390558051938452908301829052805191927f3dcea012093dbca2bb8ed7fd2b2ff90305ab70bddda8bbb94d4152735a98f0b1929081900390910190a15050565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60006115b0611e03565b5467ffffffffffffffff16905090565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000081d40f21f12a8f0e3252bccb954d722d4c464b64161490565b60008115801590611621575063ffffffff83166000908152601a602052604090205482145b90505b92915050565b81516000906020840161164564ffffffffff851682846121dc565b95945050505050565b600080600080600061165f8761223d565b935093509350935061167686848684860385612595565b5060019695505050505050565b61168b611c4e565b73ffffffffffffffffffffffffffffffffffffffff166116a9610d47565b73ffffffffffffffffffffffffffffffffffffffff161461172b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b565b73ffffffffffffffffffffffffffffffffffffffff8116611799576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a81526020018061382c602a913960400191505060405180910390fd5b600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517fe475e580d85111348e40d8ca33cfdd74c30fe1655c2d8537a13abc10065ffa5a90600090a250565b73ffffffffffffffffffffffffffffffffffffffff811660009081526004602052604090205415610975576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602481526020018061394c6024913960400191505060405180910390fd5b600089116118f357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f416d6f756e74206d757374206265206e6f6e7a65726f00000000000000000000604482015290519081900360640190fd5b8661195f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f4d696e7420726563697069656e74206d757374206265206e6f6e7a65726f0000604482015290519081900360640190fd5b8884106119cd57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4d617820666565206d757374206265206c657373207468616e20616d6f756e74604482015290519081900360640190fd5b60006119d8896127ab565b90506119e587338c61282d565b6000611a3d7f0000000000000000000000000000000000000000000000000000000000000001611a2a8a73ffffffffffffffffffffffffffffffffffffffff166129d9565b8b8e611a35336129d9565b8b8a8a6129f2565b90507f00000000000000000000000081d40f21f12a8f0e3252bccb954d722d4c464b6473ffffffffffffffffffffffffffffffffffffffff166314b157ab8b848a89866040518663ffffffff1660e01b8152600401808663ffffffff1681526020018581526020018481526020018363ffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611af0578181015183820152602001611ad8565b50505050905090810190601f168015611b1d5780820380516001836020036101000a031916815260200191505b509650505050505050600060405180830381600087803b158015611b4057600080fd5b505af1158015611b54573d6000803e3d6000fd5b505050508463ffffffff163373ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167f0c8c1cbdc5190613ebd485511d4e2812cfa45eecb79d845893331fedad5130a58e8d8f888e8e8d8d604051808981526020018881526020018763ffffffff168152602001868152602001858152602001848152602001806020018281038252848482818152602001925080828437600083820152604051601f9091017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169092018290039b50909950505050505050505050a45050505050505050505050565b3390565b600180547fffffffffffffffffffffffff000000000000000000000000000000000000000016905561097581611531565b73ffffffffffffffffffffffffffffffffffffffff8116611d0557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f5a65726f2061646472657373206e6f7420616c6c6f7765640000000000000000604482015290519081900360640190fd5b60195473ffffffffffffffffffffffffffffffffffffffff1615611d8a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4c6f63616c206d696e74657220697320616c7265616479207365742e00000000604482015290519081900360640190fd5b6019805473ffffffffffffffffffffffffffffffffffffffff83167fffffffffffffffffffffffff0000000000000000000000000000000000000000909116811790915560408051918252517f109bb3e70cbf1931e295b49e75c67013b85ff80d64e6f1d321f37157b90c38309181900360200190a150565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0090565b3b151590565b73ffffffffffffffffffffffffffffffffffffffff8116611e99576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001806138566030913960400191505060405180910390fd5b6003805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907fe144e84038182cefebda68c192c222085b2c12a85d135d3c938498c0165c01d390600090a35050565b73ffffffffffffffffffffffffffffffffffffffff8116611f9257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f5a65726f2061646472657373206e6f7420616c6c6f7765640000000000000000604482015290519081900360640190fd5b601b805473ffffffffffffffffffffffffffffffffffffffff83167fffffffffffffffffffffffff0000000000000000000000000000000000000000909116811790915560408051918252517fbf9a9534339a9d6b81696e05dcfb614b7dc518a31d48be3cfb757988381fb3239181900360200190a150565b8061207757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f62797465733332283029206e6f7420616c6c6f77656400000000000000000000604482015290519081900360640190fd5b63ffffffff82166000908152601a6020526040902054156120f957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f546f6b656e4d657373656e67657220616c726561647920736574000000000000604482015290519081900360640190fd5b63ffffffff82166000818152601a60209081526040918290208490558151928352820183905280517f4bba2b08298cf59661b4895e384cc2ac3962ce2d71f1b7c11bca52e1169f95999281900390910190a15050565b6040805173ffffffffffffffffffffffffffffffffffffffff8416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb00000000000000000000000000000000000000000000000000000000179052611306908490612a75565b6000806121e98484612b4d565b90506040518111156121f9575060005b80612227577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000915050612236565b612232858585612bbf565b9150505b9392505050565b600080808061226d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008616612bd2565b63ffffffff7f0000000000000000000000000000000000000000000000000000000000000001166122bf7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008716612d10565b63ffffffff161461233157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f496e76616c6964206d65737361676520626f64792076657273696f6e00000000604482015290519081900360640190fd5b600061235e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008716612d3d565b905080158061236c57504381115b6123c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806138076025913960400191505060405180910390fd5b6123ec7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008716612d6e565b92506124197fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008716612d9b565b915081158061242757508282105b61249257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f46656520657175616c73206f72206578636565647320616d6f756e7400000000604482015290519081900360640190fd5b6124bd7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008716612dcc565b82111561252b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4665652065786365656473206d61782066656500000000000000000000000000604482015290519081900360640190fd5b61255e6125597fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008816612dfd565b612e2a565b945061258b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008716612e2d565b9350509193509193565b600061259f612e5a565b90506000821561267a57601b54604080517f8dfcfa9000000000000000000000000000000000000000000000000000000000815263ffffffff8a1660048201526024810189905273ffffffffffffffffffffffffffffffffffffffff888116604483015292831660648201526084810187905260a48101869052905191841691638dfcfa909160c4808201926020929091908290030181600087803b15801561264757600080fd5b505af115801561265b573d6000803e3d6000fd5b505050506040513d602081101561267157600080fd5b50519050612735565b604080517fd54de06f00000000000000000000000000000000000000000000000000000000815263ffffffff891660048201526024810188905273ffffffffffffffffffffffffffffffffffffffff87811660448301526064820187905291519184169163d54de06f916084808201926020929091908290030181600087803b15801561270657600080fd5b505af115801561271a573d6000803e3d6000fd5b505050506040513d602081101561273057600080fd5b505190505b8073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167f50c55e915134d457debfa58eb6f4342956f8b0616d51a89a3659360178e1ab638686604051808381526020018281526020019250505060405180910390a350505050505050565b63ffffffff81166000908152601a60205260408120548061162457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4e6f20546f6b656e4d657373656e67657220666f7220646f6d61696e00000000604482015290519081900360640190fd5b6000612837612e5a565b604080517f23b872dd00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff868116600483015280841660248301526044820186905291519293508692918316916323b872dd916064808201926020929091908290030181600087803b1580156128bd57600080fd5b505af11580156128d1573d6000803e3d6000fd5b505050506040513d60208110156128e757600080fd5b505161295457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f5472616e73666572206f7065726174696f6e206661696c656400000000000000604482015290519081900360640190fd5b8173ffffffffffffffffffffffffffffffffffffffff16639dc29fac86856040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b1580156129c557600080fd5b505af1158015610b2c573d6000803e3d6000fd5b73ffffffffffffffffffffffffffffffffffffffff1690565b60608888888888886000808a8a604051602001808b63ffffffff1660e01b81526004018a8152602001898152602001888152602001878152602001868152602001858152602001848152602001838380828437808301925050509a5050505050505050505050604051602081830303815290604052905098975050505050505050565b6000612ad7826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16612efe9092919063ffffffff16565b80519091501561130657808060200190516020811015612af657600080fd5b5051611306576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180613970602a913960400191505060405180910390fd5b8181018281101561162457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4f766572666c6f7720647572696e67206164646974696f6e2e00000000000000604482015290519081900360640190fd5b606092831b9190911790911b1760181b90565b612bfd7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008216612f15565b612c6857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4d616c666f726d6564206d657373616765000000000000000000000000000000604482015290519081900360640190fd5b60e4612c957fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008316612f52565b6bffffffffffffffffffffffff16101561097557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f496e76616c6964206275726e206d6573736167653a20746f6f2073686f727400604482015290519081900360640190fd5b60006116247fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008316612f66565b60006116247fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000831660c46020612f92565b60006116247fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008316612fb3565b60006116247fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000831660a46020612f92565b60006116247fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000831660846020612f92565b60006116247fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008316612fe4565b90565b60006116247fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008316613015565b60195460009073ffffffffffffffffffffffffffffffffffffffff16612ee157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4c6f63616c206d696e746572206973206e6f7420736574000000000000000000604482015290519081900360640190fd5b5060195473ffffffffffffffffffffffffffffffffffffffff1690565b6060612f0d8484600085613046565b949350505050565b6000612f2082613200565b64ffffffffff1664ffffffffff1415612f3b575060006113b0565b6000612f4683613206565b60405110159392505050565b60181c6bffffffffffffffffffffffff1690565b60006116247fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000083168260045b60008160200360080260ff16612fa9858585613230565b901c949350505050565b60006116247fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000831660446020612f92565b60006116247fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000831660246020613230565b60006116247fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000831660046020613230565b6060824710156130a1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806138a76026913960400191505060405180910390fd5b6130aa85611e27565b61311557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040518082805190602001908083835b6020831061317e57805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101613141565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d80600081146131e0576040519150601f19603f3d011682016040523d82523d6000602084013e6131e5565b606091505b50915091506131f58282866133db565b979650505050505050565b60d81c90565b600061321182612f52565b61321a8361345b565b016bffffffffffffffffffffffff169050919050565b600060ff821661324257506000612236565b61324b84612f52565b6bffffffffffffffffffffffff166132668460ff8516612b4d565b1115613345576132a76132788561345b565b6bffffffffffffffffffffffff1661328f86612f52565b6bffffffffffffffffffffffff16858560ff1661346f565b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561330a5781810151838201526020016132f2565b50505050905090810190601f1680156133375780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b60208260ff1611156133a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a815260200180613912603a913960400191505060405180910390fd5b6008820260006133b18661345b565b6bffffffffffffffffffffffff16905060006133cc836135ca565b91909501511695945050505050565b606083156133ea575081612236565b8251156133fa5782518084602001fd5b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181815284516024840152845185939192839260440191908501908083836000831561330a5781810151838201526020016132f2565b60781c6bffffffffffffffffffffffff1690565b6060600061347c86613613565b915050600061348a86613613565b915050600061349886613613565b91505060006134a686613613565b9150508383838360405160200180806139c0603591397fffffffffffff000000000000000000000000000000000000000000000000000060d087811b821660358401527f2077697468206c656e6774682030780000000000000000000000000000000000603b84015286901b16604a82015260500160216138cd82397fffffffffffff000000000000000000000000000000000000000000000000000060d094851b811660218301527f2077697468206c656e677468203078000000000000000000000000000000000060278301529290931b9091166036830152507f2e00000000000000000000000000000000000000000000000000000000000000603c82015260408051601d818403018152603d90920190529b9a5050505050505050505050565b7f80000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9091011d90565b600080601f5b600f8160ff16111561367b5760ff600882021684901c613638816136e7565b61ffff16841793508160ff1660101461365357601084901b93505b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01613619565b50600f5b60ff8160ff1610156136e15760ff600882021684901c61369e816136e7565b61ffff16831792508160ff166000146136b957601083901b92505b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0161367f565b50915091565b60006136f960048360ff16901c613717565b60ff161760081b62ffff001661370e82613717565b60ff1617919050565b6040805180820190915260108082527f30313233343536373839616263646566000000000000000000000000000000006020830152600091600f8416918290811061375e57fe5b016020015160f81c9392505050565b6000808585111561377c578182fd5b83861115613788578182fd5b505082019391909203915056fe496e76616c69642072656d6f746520646f6d61696e20636f6e66696775726174696f6e496e697469616c697a61626c653a20696e76616c696420696e697469616c697a6174696f6e4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206e6577206f776e65724d657373616765206578706972656420616e64206d7573742062652072652d7369676e6564526573637561626c653a206e6577207265736375657220697320746865207a65726f206164647265737344656e796c69737461626c653a206e65772064656e796c697374657220697320746865207a65726f206164647265737352656d6f746520546f6b656e4d657373656e67657220756e737570706f72746564416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c2e20417474656d7074656420746f20696e646578206174206f6666736574203078526573637561626c653a2063616c6c6572206973206e6f7420746865207265736375657254797065644d656d566965772f696e646578202d20417474656d7074656420746f20696e646578206d6f7265207468616e20333220627974657344656e796c69737461626c653a206163636f756e74206973206f6e2064656e796c6973745361666545524332303a204552433230206f7065726174696f6e20646964206e6f74207375636365656444656e796c69737461626c653a2063616c6c6572206973206e6f742064656e796c697374657254797065644d656d566965772f696e646578202d204f76657272616e2074686520766965772e20536c696365206973206174203078a26469706673582212207b423e38b2ca7fd7eba562928fa97745c640180aae74bf81d48903a7e2c6f0cd64736f6c63430007060033","0x7db629f6acc20be49a0a7565c21cc178e9ac21e3":"0x608060405234801561001057600080fd5b50600436106101e55760003560e01c80638456cb591161010f578063b2118a8d116100a2578063e30c397811610071578063e30c397814610680578063f2fde38b14610688578063fae36879146106bb578063feb61724146106ee576101e5565b8063b2118a8d146105d0578063bbde537414610613578063beb673d814610630578063de7769d41461064d576101e5565b80639b0d94b7116100de5780639b0d94b7146105b05780639fd0506d146105b8578063a82f2e26146105c0578063af47b9bb146105c8576101e5565b80638456cb591461057b5780638d3638f4146105835780638da5cb5b1461058b57806392492c6814610593576101e5565b806354fd4d50116101875780635f747e7d116101565780635f747e7d1461048d57806379ba5097146105385780637af82f60146105405780637de25ae414610573576101e5565b806354fd4d501461035b578063554bab3c1461037c57806357ecfd28146103af5780635c975abb14610485576101e5565b80632d025080116101c35780632d025080146102d557806338a63183146103085780633f4ba83a1461033957806351079a5314610341576101e5565b806308828eb7146101ea57806314b157ab1461020f5780632ab60045146102a2575b600080fd5b6101f261070b565b6040805167ffffffffffffffff9092168252519081900360200190f35b6102a0600480360360a081101561022557600080fd5b63ffffffff8235811692602081013592604082013592606083013516919081019060a08101608082013564010000000081111561026157600080fd5b82018360208201111561027357600080fd5b8035906020019184600183028401116401000000008311171561029557600080fd5b50909250905061071a565b005b6102a0600480360360208110156102b857600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610a21565b6102a0600480360360208110156102eb57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610a35565b610310610c61565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6102a0610c7d565b610349610d40565b60408051918252519081900360200190f35b610363610d4c565b6040805163ffffffff9092168252519081900360200190f35b6102a06004803603602081101561039257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610d70565b610471600480360360408110156103c557600080fd5b8101906020810181356401000000008111156103e057600080fd5b8201836020820111156103f257600080fd5b8035906020019184600183028401116401000000008311171561041457600080fd5b91939092909160208101903564010000000081111561043257600080fd5b82018360208201111561044457600080fd5b8035906020019184600183028401116401000000008311171561046657600080fd5b509092509050610d81565b604080519115158252519081900360200190f35b6104716111ee565b6102a0600480360360e08110156104a357600080fd5b73ffffffffffffffffffffffffffffffffffffffff823581169260208101358216926040820135831692606083013516919081019060a0810160808201356401000000008111156104f357600080fd5b82018360208201111561050557600080fd5b8035906020019184602083028401116401000000008311171561052757600080fd5b91935091508035906020013561120f565b6102a06115fb565b6104716004803603602081101561055657600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661169b565b6103496116b0565b6102a06116b5565b61036361178f565b6103106117b3565b6102a0600480360360208110156105a957600080fd5b50356117cf565b6103106117e0565b6103106117fc565b610349611818565b61034961181e565b6102a0600480360360608110156105e657600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135611824565b6102a06004803603602081101561062957600080fd5b50356118ba565b6103106004803603602081101561064657600080fd5b5035611949565b6102a06004803603602081101561066357600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611956565b610310611967565b6102a06004803603602081101561069e57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611983565b6102a0600480360360208110156106d157600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611a1b565b6103496004803603602081101561070457600080fd5b5035611aaa565b6000610715611b5c565b905090565b60025474010000000000000000000000000000000000000000900460ff16156107a457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b7f000000000000000000000000000000000000000000000000000000000000000663ffffffff168663ffffffff16141561083f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f446f6d61696e206973206c6f63616c20646f6d61696e00000000000000000000604482015290519081900360640190fd5b601c548111156108b057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f4d65737361676520626f64792065786365656473206d61782073697a65000000604482015290519081900360640190fd5b8461091c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f526563697069656e74206d757374206265206e6f6e7a65726f00000000000000604482015290519081900360640190fd5b600061092733611b76565b9050600061097c7f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000000000000000000000000000000000000000000068a858b8b8b8b8b611b8f565b90507f8c5261668696ce22758910d05bab8f186d6eb247ceac2af2e82c7dc17669b036816040518080602001828103825283818151815260200191508051906020019080838360005b838110156109dd5781810151838201526020016109c5565b50505050905090810190601f168015610a0a5780820380516001836020036101000a031916815260200191505b509250505060405180910390a15050505050505050565b610a29611c42565b610a3281611cec565b50565b60075473ffffffffffffffffffffffffffffffffffffffff163314610abb57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f43616c6c6572206e6f74206174746573746572206d616e616765720000000000604482015290519081900360640190fd5b6000610ac5610d40565b905060018111610b3657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f546f6f2066657720656e61626c65642061747465737465727300000000000000604482015290519081900360640190fd5b6004548111610ba657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f5369676e6174757265207468726573686f6c6420697320746f6f206c6f770000604482015290519081900360640190fd5b610bb1600583611dc7565b610c1c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f417474657374657220616c72656164792064697361626c656400000000000000604482015290519081900360640190fd5b60405173ffffffffffffffffffffffffffffffffffffffff8316907f78e573a18c75957b7cadaab01511aa1c19a659f06ecf53e01de37ed92d3261fc90600090a25050565b60035473ffffffffffffffffffffffffffffffffffffffff1690565b60025473ffffffffffffffffffffffffffffffffffffffff163314610ced576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806140c16022913960400191505060405180910390fd5b600280547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1690556040517f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3390600090a1565b60006107156005611de9565b7f000000000000000000000000000000000000000000000000000000000000000181565b610d78611c42565b610a3281611df4565b60025460009074010000000000000000000000000000000000000000900460ff1615610e0e57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b600080600080600080610e238b8b8b8b611ed5565b6000868152601d6020526040902060019055949a509298509096509450925090506107d063ffffffff83161015610fb3578273ffffffffffffffffffffffffffffffffffffffff16637c92f219868685856040518563ffffffff1660e01b8152600401808563ffffffff1681526020018481526020018363ffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610ede578181015183820152602001610ec6565b50505050905090810190601f168015610f0b5780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b158015610f2d57600080fd5b505af1158015610f41573d6000803e3d6000fd5b505050506040513d6020811015610f5757600080fd5b5051610fae576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260288152602001806141956028913960400191505060405180910390fd5b61110d565b8273ffffffffffffffffffffffffffffffffffffffff166311cffb67868685856040518563ffffffff1660e01b8152600401808563ffffffff1681526020018481526020018363ffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561103d578181015183820152602001611025565b50505050905090810190601f16801561106a5780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b15801561108c57600080fd5b505af11580156110a0573d6000803e3d6000fd5b505050506040513d60208110156110b657600080fd5b505161110d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180613f8f6026913960400191505060405180910390fd5b8163ffffffff16863373ffffffffffffffffffffffffffffffffffffffff167fff48c13eda96b1cceacc6b9edeedc9e9db9d6226afbc30146b720c19d3addb1c888886604051808463ffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561119f578181015183820152602001611187565b50505050905090810190601f1680156111cc5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a4600196505050505050505b949350505050565b60025474010000000000000000000000000000000000000000900460ff1681565b6000611219612382565b805490915060ff68010000000000000000820416159067ffffffffffffffff166000811580156112465750825b905060008267ffffffffffffffff16600114801561126a5750611268306123a6565b155b905081806112755750805b6112ca576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180613ef26025913960400191505060405180910390fd5b84547fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000166001178555831561132b5784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff16680100000000000000001785555b73ffffffffffffffffffffffffffffffffffffffff8d166113ad57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4f776e657220697320746865207a65726f206164647265737300000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8a16611419576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806140646023913960400191505060405180910390fd5b87871115611472576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180613f6a6025913960400191505060405180910390fd5b600086116114e157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f4d61784d657373616765426f647953697a65206973207a65726f000000000000604482015290519081900360640190fd5b6114ea8d6123ac565b6114f38b611cec565b6114fc8c611df4565b6115058a6123dd565b61150e866124d6565b8760005b818110156115535761154b8b8b8381811061152957fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff16612511565b600101611512565b5061155d8861264d565b5060008052601d60205260017f0a51588b1664495f089dd83d2d26f247920f94a57a4a09f20cf068efc8f82bd45583156115ec5784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff168555604080516001815290517fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29181900360200190a15b50505050505050505050505050565b60006116056127e9565b90508073ffffffffffffffffffffffffffffffffffffffff16611626611967565b73ffffffffffffffffffffffffffffffffffffffff1614611692576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526029815260200180613f176029913960400191505060405180910390fd5b610a32816123ac565b60006116a86005836127ed565b90505b919050565b600181565b60025473ffffffffffffffffffffffffffffffffffffffff163314611725576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806140c16022913960400191505060405180910390fd5b600280547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790556040517f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62590600090a1565b7f000000000000000000000000000000000000000000000000000000000000000681565b60005473ffffffffffffffffffffffffffffffffffffffff1690565b6117d7611c42565b610a32816124d6565b60075473ffffffffffffffffffffffffffffffffffffffff1690565b60025473ffffffffffffffffffffffffffffffffffffffff1690565b60045481565b601c5481565b60035473ffffffffffffffffffffffffffffffffffffffff163314611894576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806140406024913960400191505060405180910390fd5b6118b573ffffffffffffffffffffffffffffffffffffffff8416838361280f565b505050565b60075473ffffffffffffffffffffffffffffffffffffffff16331461194057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f43616c6c6572206e6f74206174746573746572206d616e616765720000000000604482015290519081900360640190fd5b610a328161264d565b60006116a860058361289c565b61195e611c42565b610a32816123dd565b60015473ffffffffffffffffffffffffffffffffffffffff1690565b61198b611c42565b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556119d66117b3565b73ffffffffffffffffffffffffffffffffffffffff167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b60075473ffffffffffffffffffffffffffffffffffffffff163314611aa157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f43616c6c6572206e6f74206174746573746572206d616e616765720000000000604482015290519081900360640190fd5b610a3281612511565b601d6020526000908152604090205481565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000611b538373ffffffffffffffffffffffffffffffffffffffff84166128a8565b90505b92915050565b6000611b66612382565b5467ffffffffffffffff16905090565b73ffffffffffffffffffffffffffffffffffffffff1690565b60608989896000801b8a8a8a8a60008b8b604051602001808c63ffffffff1660e01b81526004018b63ffffffff1660e01b81526004018a63ffffffff1660e01b81526004018981526020018881526020018781526020018681526020018563ffffffff1660e01b81526004018463ffffffff1660e01b8152600401838380828437808301925050509b50505050505050505050505060405160208183030381529060405290509998505050505050505050565b611c4a6127e9565b73ffffffffffffffffffffffffffffffffffffffff16611c686117b3565b73ffffffffffffffffffffffffffffffffffffffff1614611cea57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b565b73ffffffffffffffffffffffffffffffffffffffff8116611d58576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180613f40602a913960400191505060405180910390fd5b600380547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517fe475e580d85111348e40d8ca33cfdd74c30fe1655c2d8537a13abc10065ffa5a90600090a250565b6000611b538373ffffffffffffffffffffffffffffffffffffffff84166128f2565b60006116a8826129d6565b73ffffffffffffffffffffffffffffffffffffffff8116611e60576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180613eca6028913960400191505060405180910390fd5b600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83811691909117918290556040519116907fb80482a293ca2e013eda8683c9bd7fc8347cfdaeea5ede58cba46df502c2a60490600090a250565b60008060008060006060611eeb8a8a8a8a6129da565b6000611f3160008c8c8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509293925050612bf79050565b9050611f5e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008216612c1b565b63ffffffff7f000000000000000000000000000000000000000000000000000000000000000616611fb07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008316612d59565b63ffffffff161461202257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f496e76616c69642064657374696e6174696f6e20646f6d61696e000000000000604482015290519081900360640190fd5b600061204f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008316612d8a565b146120f45761205d33611b76565b6120887fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008316612d8a565b146120f457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f496e76616c69642063616c6c657220666f72206d657373616765000000000000604482015290519081900360640190fd5b63ffffffff7f0000000000000000000000000000000000000000000000000000000000000001166121467fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008316612dbb565b63ffffffff16146121b857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f496e76616c6964206d6573736167652076657273696f6e000000000000000000604482015290519081900360640190fd5b6121e37fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008216612deb565b6000818152601d60205260409020549097501561226157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f4e6f6e636520616c726561647920757365640000000000000000000000000000604482015290519081900360640190fd5b61228c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008216612e1c565b95506122b97fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008216612e4c565b94506122ee6122e97fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008316612e7d565b612eae565b935061231b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008216612eb1565b925061237261234b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008316612ee2565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000016612f51565b9150509499939850945094509450565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0090565b3b151590565b600180547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055610a3281611abc565b73ffffffffffffffffffffffffffffffffffffffff811661245f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f496e76616c6964206174746573746572206d616e616765722061646472657373604482015290519081900360640190fd5b6007805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f0cee1b7ae04f3c788dd3a46c6fa677eb95b913611ef7ab59524fdc09d346021990600090a35050565b601c8190556040805182815290517fb13bf6bebed03d1b318e3ea32e4b2a3ad9f5e2312cdf340a2f4bbfaee39f928d9181900360200190a150565b73ffffffffffffffffffffffffffffffffffffffff811661259357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4e6577206174746573746572206d757374206265206e6f6e7a65726f00000000604482015290519081900360640190fd5b61259e600582611b31565b61260957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f417474657374657220616c726561647920656e61626c65640000000000000000604482015290519081900360640190fd5b60405173ffffffffffffffffffffffffffffffffffffffff8216907f5b99bab45c72ce67e89466dbc47480b9c1fde1400e7268bbf463b8354ee4653f90600090a250565b806126b957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f496e76616c6964207369676e6174757265207468726573686f6c640000000000604482015290519081900360640190fd5b6126c36005611de9565b81111561273157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4e6577207369676e6174757265207468726573686f6c6420746f6f2068696768604482015290519081900360640190fd5b6004548114156127a257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5369676e6174757265207468726573686f6c6420616c72656164792073657400604482015290519081900360640190fd5b6004805490829055604080518281526020810184905281517f149153f58b4da003a8cfd4523709a202402182cb5aa335046911277a1be6eede929181900390910190a15050565b3390565b6000611b538373ffffffffffffffffffffffffffffffffffffffff8416612f95565b6040805173ffffffffffffffffffffffffffffffffffffffff8416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001790526118b5908490612fad565b6000611b538383613085565b60006128b48383612f95565b6128ea57508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155611b56565b506000611b56565b600081815260018301602052604081205480156129cc5783547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff808301919081019060009087908390811061294357fe5b906000526020600020015490508087600001848154811061296057fe5b60009182526020808320909101929092558281526001898101909252604090209084019055865487908061299057fe5b60019003818190600052602060002001600090559055866001016000878152602001908152602001600020600090556001945050505050611b56565b6000915050611b56565b5490565b6004546041028114612a4d57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f496e76616c6964206174746573746174696f6e206c656e677468000000000000604482015290519081900360640190fd5b60008085856040518083838082843760405192018290039091209450600093505050505b600454811015612bee576000612a906041838102908101908789613e7f565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250939450612ad39250869150849050613103565b90508473ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1611612b6f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f496e76616c6964207369676e6174757265206f72646572206f72206475706500604482015290519081900360640190fd5b612b788161169b565b612be357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f496e76616c6964207369676e61747572653a206e6f7420617474657374657200604482015290519081900360640190fd5b935050600101612a71565b50505050505050565b815160009060208401612c1264ffffffffff8516828461310f565b95945050505050565b612c467fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008216613170565b612cb157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4d616c666f726d6564206d657373616765000000000000000000000000000000604482015290519081900360640190fd5b6094612cde7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000083166131ad565b6bffffffffffffffffffffffff161015610a3257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f496e76616c6964206d6573736167653a20746f6f2073686f7274000000000000604482015290519081900360640190fd5b60006116a87fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008316600860046131c1565b60006116a87fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008316606c60206131e2565b60006116a87fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000083168260046131c1565b60006116a87fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008316600c60206131e2565b60006116a87fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000083166004806131c1565b60006116a87fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008316602c60206131e2565b60006116a87fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008316604c60206131e2565b90565b60006116a87fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008316609060046131c1565b60006116a8609480612f157fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000086166131ad565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000861692916bffffffffffffffffffffffff910316600061338d565b6060600080612f5f846131ad565b6bffffffffffffffffffffffff1690506040519150819250612f84848360200161341d565b508181016020016040529052919050565b60009081526001919091016020526040902054151590565b600061300f826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166135c29092919063ffffffff16565b8051909150156118b55780806020019051602081101561302e57600080fd5b50516118b5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001806140e3602a913960400191505060405180910390fd5b815460009082106130e1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180613ea86022913960400191505060405180910390fd5b8260000182815481106130f057fe5b9060005260206000200154905092915050565b6000611b5383836135d1565b60008061311c8484613661565b905060405181111561312c575060005b8061315a577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000915050613169565b6131658585856136d3565b9150505b9392505050565b600061317b826136e6565b64ffffffffff1664ffffffffff1415613196575060006116ab565b60006131a1836136ec565b60405110159392505050565b60181c6bffffffffffffffffffffffff1690565b60008160200360080260ff166131d88585856131e2565b901c949350505050565b600060ff82166131f457506000613169565b6131fd846131ad565b6bffffffffffffffffffffffff166132188460ff8516613661565b11156132f75761325961322a85613716565b6bffffffffffffffffffffffff16613241866131ad565b6bffffffffffffffffffffffff16858560ff1661372a565b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156132bc5781810151838201526020016132a4565b50505050905090810190601f1680156132e95780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b60208260ff161115613354576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a815260200180614087603a913960400191505060405180910390fd5b60088202600061336386613716565b6bffffffffffffffffffffffff169050600061337e83613885565b91909501511695945050505050565b60008061339986613716565b6bffffffffffffffffffffffff1690506133b2866136ec565b6133c6856133c08489613661565b90613661565b11156133f5577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000009150506111e6565b6133ff8186613661565b90506134138364ffffffffff16828661310f565b9695505050505050565b6000613428836138ce565b61347d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602881526020018061410d6028913960400191505060405180910390fd5b61348683613170565b6134db576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b815260200180614135602b913960400191505060405180910390fd5b60006134e6846131ad565b6bffffffffffffffffffffffff169050600061350185613716565b6bffffffffffffffffffffffff1690506000806040519150858211156135275760206060fd5b8386858560045afa90508061359d57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f6964656e74697479204f4f470000000000000000000000000000000000000000604482015290519081900360640190fd5b6135b76135a9886136e6565b64ffffffffff1687866136d3565b979650505050505050565b60606111e684846000856138e0565b6000815160411461364357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604482015290519081900360640190fd5b60208201516040830151606084015160001a61341386828585613a8f565b81810182811015611b5657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4f766572666c6f7720647572696e67206164646974696f6e2e00000000000000604482015290519081900360640190fd5b606092831b9190911790911b1760181b90565b60d81c90565b60006136f7826131ad565b61370083613716565b016bffffffffffffffffffffffff169050919050565b60781c6bffffffffffffffffffffffff1690565b6060600061373786613c7d565b915050600061374586613c7d565b915050600061375386613c7d565b915050600061376186613c7d565b915050838383836040516020018080614160603591397fffffffffffff000000000000000000000000000000000000000000000000000060d087811b821660358401527f2077697468206c656e6774682030780000000000000000000000000000000000603b84015286901b16604a8201526050016021613ffd82397fffffffffffff000000000000000000000000000000000000000000000000000060d094851b811660218301527f2077697468206c656e677468203078000000000000000000000000000000000060278301529290931b9091166036830152507f2e00000000000000000000000000000000000000000000000000000000000000603c82015260408051601d818403018152603d90920190529b9a5050505050505050505050565b7f80000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9091011d90565b60006138d982613d51565b1592915050565b60608247101561393b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180613fd76026913960400191505060405180910390fd5b613944856123a6565b6139af57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040518082805190602001908083835b60208310613a1857805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016139db565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114613a7a576040519150601f19603f3d011682016040523d82523d6000602084013e613a7f565b606091505b50915091506135b7828286613d79565b60007f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0821115613b0a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180613fb56022913960400191505060405180910390fd5b8360ff16601b1480613b1f57508360ff16601c145b613b74576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602281526020018061401e6022913960400191505060405180910390fd5b600060018686868660405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa158015613bd0573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff8116612c1257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604482015290519081900360640190fd5b600080601f5b600f8160ff161115613ce55760ff600882021684901c613ca281613df9565b61ffff16841793508160ff16601014613cbd57601084901b93505b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01613c83565b50600f5b60ff8160ff161015613d4b5760ff600882021684901c613d0881613df9565b61ffff16831792508160ff16600014613d2357601083901b92505b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01613ce9565b50915091565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000009081161490565b60608315613d88575081613169565b825115613d985782518084602001fd5b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526020600482018181528451602484015284518593919283926044019190850190808383600083156132bc5781810151838201526020016132a4565b6000613e0b60048360ff16901c613e29565b60ff161760081b62ffff0016613e2082613e29565b60ff1617919050565b6040805180820190915260108082527f30313233343536373839616263646566000000000000000000000000000000006020830152600091600f84169182908110613e7057fe5b016020015160f81c9392505050565b60008085851115613e8e578182fd5b83861115613e9a578182fd5b505082019391909203915056fe456e756d657261626c655365743a20696e646578206f7574206f6620626f756e64735061757361626c653a206e65772070617573657220697320746865207a65726f2061646472657373496e697469616c697a61626c653a20696e76616c696420696e697469616c697a6174696f6e4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206e6577206f776e6572526573637561626c653a206e6577207265736375657220697320746865207a65726f20616464726573735369676e6174757265207468726573686f6c6420657863656564732061747465737465727368616e646c655265636569766546696e616c697a65644d6573736167652829206661696c656445434453413a20696e76616c6964207369676e6174757265202773272076616c7565416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c2e20417474656d7074656420746f20696e646578206174206f666673657420307845434453413a20696e76616c6964207369676e6174757265202776272076616c7565526573637561626c653a2063616c6c6572206973206e6f7420746865207265736375657241747465737465724d616e6167657220697320746865207a65726f206164647265737354797065644d656d566965772f696e646578202d20417474656d7074656420746f20696e646578206d6f7265207468616e2033322062797465735061757361626c653a2063616c6c6572206973206e6f7420746865207061757365725361666545524332303a204552433230206f7065726174696f6e20646964206e6f74207375636365656454797065644d656d566965772f636f7079546f202d204e756c6c20706f696e74657220646572656654797065644d656d566965772f636f7079546f202d20496e76616c696420706f696e74657220646572656654797065644d656d566965772f696e646578202d204f76657272616e2074686520766965772e20536c69636520697320617420307868616e646c6552656365697665556e66696e616c697a65644d6573736167652829206661696c6564a2646970667358221220a00165ce6e6796a53230fb3366595e0ea95a7bf3ce20f2ff3464ada879d3f15764736f6c63430007060033","0x7b93db2bc72faf642cec0adcac4f91718831a1f4":"0x608060405234801561001057600080fd5b50600436106101e55760003560e01c80638456cb591161010f578063b2118a8d116100a2578063e30c397811610071578063e30c397814610680578063f2fde38b14610688578063fae36879146106bb578063feb61724146106ee576101e5565b8063b2118a8d146105d0578063bbde537414610613578063beb673d814610630578063de7769d41461064d576101e5565b80639b0d94b7116100de5780639b0d94b7146105b05780639fd0506d146105b8578063a82f2e26146105c0578063af47b9bb146105c8576101e5565b80638456cb591461057b5780638d3638f4146105835780638da5cb5b1461058b57806392492c6814610593576101e5565b806354fd4d50116101875780635f747e7d116101565780635f747e7d1461048d57806379ba5097146105385780637af82f60146105405780637de25ae414610573576101e5565b806354fd4d501461035b578063554bab3c1461037c57806357ecfd28146103af5780635c975abb14610485576101e5565b80632d025080116101c35780632d025080146102d557806338a63183146103085780633f4ba83a1461033957806351079a5314610341576101e5565b806308828eb7146101ea57806314b157ab1461020f5780632ab60045146102a2575b600080fd5b6101f261070b565b6040805167ffffffffffffffff9092168252519081900360200190f35b6102a0600480360360a081101561022557600080fd5b63ffffffff8235811692602081013592604082013592606083013516919081019060a08101608082013564010000000081111561026157600080fd5b82018360208201111561027357600080fd5b8035906020019184600183028401116401000000008311171561029557600080fd5b50909250905061071a565b005b6102a0600480360360208110156102b857600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610a21565b6102a0600480360360208110156102eb57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610a35565b610310610c61565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6102a0610c7d565b610349610d40565b60408051918252519081900360200190f35b610363610d4c565b6040805163ffffffff9092168252519081900360200190f35b6102a06004803603602081101561039257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610d70565b610471600480360360408110156103c557600080fd5b8101906020810181356401000000008111156103e057600080fd5b8201836020820111156103f257600080fd5b8035906020019184600183028401116401000000008311171561041457600080fd5b91939092909160208101903564010000000081111561043257600080fd5b82018360208201111561044457600080fd5b8035906020019184600183028401116401000000008311171561046657600080fd5b509092509050610d81565b604080519115158252519081900360200190f35b6104716111ee565b6102a0600480360360e08110156104a357600080fd5b73ffffffffffffffffffffffffffffffffffffffff823581169260208101358216926040820135831692606083013516919081019060a0810160808201356401000000008111156104f357600080fd5b82018360208201111561050557600080fd5b8035906020019184602083028401116401000000008311171561052757600080fd5b91935091508035906020013561120f565b6102a06115fb565b6104716004803603602081101561055657600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661169b565b6103496116b0565b6102a06116b5565b61036361178f565b6103106117b3565b6102a0600480360360208110156105a957600080fd5b50356117cf565b6103106117e0565b6103106117fc565b610349611818565b61034961181e565b6102a0600480360360608110156105e657600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135611824565b6102a06004803603602081101561062957600080fd5b50356118ba565b6103106004803603602081101561064657600080fd5b5035611949565b6102a06004803603602081101561066357600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611956565b610310611967565b6102a06004803603602081101561069e57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611983565b6102a0600480360360208110156106d157600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611a1b565b6103496004803603602081101561070457600080fd5b5035611aaa565b6000610715611b5c565b905090565b60025474010000000000000000000000000000000000000000900460ff16156107a457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b7f000000000000000000000000000000000000000000000000000000000000000363ffffffff168663ffffffff16141561083f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f446f6d61696e206973206c6f63616c20646f6d61696e00000000000000000000604482015290519081900360640190fd5b601c548111156108b057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f4d65737361676520626f64792065786365656473206d61782073697a65000000604482015290519081900360640190fd5b8461091c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f526563697069656e74206d757374206265206e6f6e7a65726f00000000000000604482015290519081900360640190fd5b600061092733611b76565b9050600061097c7f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000000000000000000000000000000000000000000038a858b8b8b8b8b611b8f565b90507f8c5261668696ce22758910d05bab8f186d6eb247ceac2af2e82c7dc17669b036816040518080602001828103825283818151815260200191508051906020019080838360005b838110156109dd5781810151838201526020016109c5565b50505050905090810190601f168015610a0a5780820380516001836020036101000a031916815260200191505b509250505060405180910390a15050505050505050565b610a29611c42565b610a3281611cec565b50565b60075473ffffffffffffffffffffffffffffffffffffffff163314610abb57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f43616c6c6572206e6f74206174746573746572206d616e616765720000000000604482015290519081900360640190fd5b6000610ac5610d40565b905060018111610b3657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f546f6f2066657720656e61626c65642061747465737465727300000000000000604482015290519081900360640190fd5b6004548111610ba657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f5369676e6174757265207468726573686f6c6420697320746f6f206c6f770000604482015290519081900360640190fd5b610bb1600583611dc7565b610c1c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f417474657374657220616c72656164792064697361626c656400000000000000604482015290519081900360640190fd5b60405173ffffffffffffffffffffffffffffffffffffffff8316907f78e573a18c75957b7cadaab01511aa1c19a659f06ecf53e01de37ed92d3261fc90600090a25050565b60035473ffffffffffffffffffffffffffffffffffffffff1690565b60025473ffffffffffffffffffffffffffffffffffffffff163314610ced576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806140c16022913960400191505060405180910390fd5b600280547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1690556040517f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3390600090a1565b60006107156005611de9565b7f000000000000000000000000000000000000000000000000000000000000000181565b610d78611c42565b610a3281611df4565b60025460009074010000000000000000000000000000000000000000900460ff1615610e0e57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b600080600080600080610e238b8b8b8b611ed5565b6000868152601d6020526040902060019055949a509298509096509450925090506107d063ffffffff83161015610fb3578273ffffffffffffffffffffffffffffffffffffffff16637c92f219868685856040518563ffffffff1660e01b8152600401808563ffffffff1681526020018481526020018363ffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610ede578181015183820152602001610ec6565b50505050905090810190601f168015610f0b5780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b158015610f2d57600080fd5b505af1158015610f41573d6000803e3d6000fd5b505050506040513d6020811015610f5757600080fd5b5051610fae576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260288152602001806141956028913960400191505060405180910390fd5b61110d565b8273ffffffffffffffffffffffffffffffffffffffff166311cffb67868685856040518563ffffffff1660e01b8152600401808563ffffffff1681526020018481526020018363ffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561103d578181015183820152602001611025565b50505050905090810190601f16801561106a5780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b15801561108c57600080fd5b505af11580156110a0573d6000803e3d6000fd5b505050506040513d60208110156110b657600080fd5b505161110d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180613f8f6026913960400191505060405180910390fd5b8163ffffffff16863373ffffffffffffffffffffffffffffffffffffffff167fff48c13eda96b1cceacc6b9edeedc9e9db9d6226afbc30146b720c19d3addb1c888886604051808463ffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561119f578181015183820152602001611187565b50505050905090810190601f1680156111cc5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a4600196505050505050505b949350505050565b60025474010000000000000000000000000000000000000000900460ff1681565b6000611219612382565b805490915060ff68010000000000000000820416159067ffffffffffffffff166000811580156112465750825b905060008267ffffffffffffffff16600114801561126a5750611268306123a6565b155b905081806112755750805b6112ca576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180613ef26025913960400191505060405180910390fd5b84547fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000166001178555831561132b5784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff16680100000000000000001785555b73ffffffffffffffffffffffffffffffffffffffff8d166113ad57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4f776e657220697320746865207a65726f206164647265737300000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8a16611419576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806140646023913960400191505060405180910390fd5b87871115611472576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180613f6a6025913960400191505060405180910390fd5b600086116114e157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f4d61784d657373616765426f647953697a65206973207a65726f000000000000604482015290519081900360640190fd5b6114ea8d6123ac565b6114f38b611cec565b6114fc8c611df4565b6115058a6123dd565b61150e866124d6565b8760005b818110156115535761154b8b8b8381811061152957fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff16612511565b600101611512565b5061155d8861264d565b5060008052601d60205260017f0a51588b1664495f089dd83d2d26f247920f94a57a4a09f20cf068efc8f82bd45583156115ec5784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff168555604080516001815290517fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29181900360200190a15b50505050505050505050505050565b60006116056127e9565b90508073ffffffffffffffffffffffffffffffffffffffff16611626611967565b73ffffffffffffffffffffffffffffffffffffffff1614611692576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526029815260200180613f176029913960400191505060405180910390fd5b610a32816123ac565b60006116a86005836127ed565b90505b919050565b600181565b60025473ffffffffffffffffffffffffffffffffffffffff163314611725576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806140c16022913960400191505060405180910390fd5b600280547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790556040517f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62590600090a1565b7f000000000000000000000000000000000000000000000000000000000000000381565b60005473ffffffffffffffffffffffffffffffffffffffff1690565b6117d7611c42565b610a32816124d6565b60075473ffffffffffffffffffffffffffffffffffffffff1690565b60025473ffffffffffffffffffffffffffffffffffffffff1690565b60045481565b601c5481565b60035473ffffffffffffffffffffffffffffffffffffffff163314611894576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806140406024913960400191505060405180910390fd5b6118b573ffffffffffffffffffffffffffffffffffffffff8416838361280f565b505050565b60075473ffffffffffffffffffffffffffffffffffffffff16331461194057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f43616c6c6572206e6f74206174746573746572206d616e616765720000000000604482015290519081900360640190fd5b610a328161264d565b60006116a860058361289c565b61195e611c42565b610a32816123dd565b60015473ffffffffffffffffffffffffffffffffffffffff1690565b61198b611c42565b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556119d66117b3565b73ffffffffffffffffffffffffffffffffffffffff167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b60075473ffffffffffffffffffffffffffffffffffffffff163314611aa157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f43616c6c6572206e6f74206174746573746572206d616e616765720000000000604482015290519081900360640190fd5b610a3281612511565b601d6020526000908152604090205481565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000611b538373ffffffffffffffffffffffffffffffffffffffff84166128a8565b90505b92915050565b6000611b66612382565b5467ffffffffffffffff16905090565b73ffffffffffffffffffffffffffffffffffffffff1690565b60608989896000801b8a8a8a8a60008b8b604051602001808c63ffffffff1660e01b81526004018b63ffffffff1660e01b81526004018a63ffffffff1660e01b81526004018981526020018881526020018781526020018681526020018563ffffffff1660e01b81526004018463ffffffff1660e01b8152600401838380828437808301925050509b50505050505050505050505060405160208183030381529060405290509998505050505050505050565b611c4a6127e9565b73ffffffffffffffffffffffffffffffffffffffff16611c686117b3565b73ffffffffffffffffffffffffffffffffffffffff1614611cea57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b565b73ffffffffffffffffffffffffffffffffffffffff8116611d58576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180613f40602a913960400191505060405180910390fd5b600380547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517fe475e580d85111348e40d8ca33cfdd74c30fe1655c2d8537a13abc10065ffa5a90600090a250565b6000611b538373ffffffffffffffffffffffffffffffffffffffff84166128f2565b60006116a8826129d6565b73ffffffffffffffffffffffffffffffffffffffff8116611e60576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180613eca6028913960400191505060405180910390fd5b600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83811691909117918290556040519116907fb80482a293ca2e013eda8683c9bd7fc8347cfdaeea5ede58cba46df502c2a60490600090a250565b60008060008060006060611eeb8a8a8a8a6129da565b6000611f3160008c8c8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509293925050612bf79050565b9050611f5e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008216612c1b565b63ffffffff7f000000000000000000000000000000000000000000000000000000000000000316611fb07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008316612d59565b63ffffffff161461202257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f496e76616c69642064657374696e6174696f6e20646f6d61696e000000000000604482015290519081900360640190fd5b600061204f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008316612d8a565b146120f45761205d33611b76565b6120887fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008316612d8a565b146120f457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f496e76616c69642063616c6c657220666f72206d657373616765000000000000604482015290519081900360640190fd5b63ffffffff7f0000000000000000000000000000000000000000000000000000000000000001166121467fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008316612dbb565b63ffffffff16146121b857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f496e76616c6964206d6573736167652076657273696f6e000000000000000000604482015290519081900360640190fd5b6121e37fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008216612deb565b6000818152601d60205260409020549097501561226157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f4e6f6e636520616c726561647920757365640000000000000000000000000000604482015290519081900360640190fd5b61228c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008216612e1c565b95506122b97fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008216612e4c565b94506122ee6122e97fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008316612e7d565b612eae565b935061231b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008216612eb1565b925061237261234b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008316612ee2565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000016612f51565b9150509499939850945094509450565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0090565b3b151590565b600180547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055610a3281611abc565b73ffffffffffffffffffffffffffffffffffffffff811661245f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f496e76616c6964206174746573746572206d616e616765722061646472657373604482015290519081900360640190fd5b6007805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f0cee1b7ae04f3c788dd3a46c6fa677eb95b913611ef7ab59524fdc09d346021990600090a35050565b601c8190556040805182815290517fb13bf6bebed03d1b318e3ea32e4b2a3ad9f5e2312cdf340a2f4bbfaee39f928d9181900360200190a150565b73ffffffffffffffffffffffffffffffffffffffff811661259357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4e6577206174746573746572206d757374206265206e6f6e7a65726f00000000604482015290519081900360640190fd5b61259e600582611b31565b61260957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f417474657374657220616c726561647920656e61626c65640000000000000000604482015290519081900360640190fd5b60405173ffffffffffffffffffffffffffffffffffffffff8216907f5b99bab45c72ce67e89466dbc47480b9c1fde1400e7268bbf463b8354ee4653f90600090a250565b806126b957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f496e76616c6964207369676e6174757265207468726573686f6c640000000000604482015290519081900360640190fd5b6126c36005611de9565b81111561273157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4e6577207369676e6174757265207468726573686f6c6420746f6f2068696768604482015290519081900360640190fd5b6004548114156127a257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5369676e6174757265207468726573686f6c6420616c72656164792073657400604482015290519081900360640190fd5b6004805490829055604080518281526020810184905281517f149153f58b4da003a8cfd4523709a202402182cb5aa335046911277a1be6eede929181900390910190a15050565b3390565b6000611b538373ffffffffffffffffffffffffffffffffffffffff8416612f95565b6040805173ffffffffffffffffffffffffffffffffffffffff8416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001790526118b5908490612fad565b6000611b538383613085565b60006128b48383612f95565b6128ea57508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155611b56565b506000611b56565b600081815260018301602052604081205480156129cc5783547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff808301919081019060009087908390811061294357fe5b906000526020600020015490508087600001848154811061296057fe5b60009182526020808320909101929092558281526001898101909252604090209084019055865487908061299057fe5b60019003818190600052602060002001600090559055866001016000878152602001908152602001600020600090556001945050505050611b56565b6000915050611b56565b5490565b6004546041028114612a4d57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f496e76616c6964206174746573746174696f6e206c656e677468000000000000604482015290519081900360640190fd5b60008085856040518083838082843760405192018290039091209450600093505050505b600454811015612bee576000612a906041838102908101908789613e7f565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250939450612ad39250869150849050613103565b90508473ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1611612b6f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f496e76616c6964207369676e6174757265206f72646572206f72206475706500604482015290519081900360640190fd5b612b788161169b565b612be357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f496e76616c6964207369676e61747572653a206e6f7420617474657374657200604482015290519081900360640190fd5b935050600101612a71565b50505050505050565b815160009060208401612c1264ffffffffff8516828461310f565b95945050505050565b612c467fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008216613170565b612cb157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4d616c666f726d6564206d657373616765000000000000000000000000000000604482015290519081900360640190fd5b6094612cde7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000083166131ad565b6bffffffffffffffffffffffff161015610a3257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f496e76616c6964206d6573736167653a20746f6f2073686f7274000000000000604482015290519081900360640190fd5b60006116a87fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008316600860046131c1565b60006116a87fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008316606c60206131e2565b60006116a87fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000083168260046131c1565b60006116a87fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008316600c60206131e2565b60006116a87fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000083166004806131c1565b60006116a87fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008316602c60206131e2565b60006116a87fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008316604c60206131e2565b90565b60006116a87fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000008316609060046131c1565b60006116a8609480612f157fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000086166131ad565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000861692916bffffffffffffffffffffffff910316600061338d565b6060600080612f5f846131ad565b6bffffffffffffffffffffffff1690506040519150819250612f84848360200161341d565b508181016020016040529052919050565b60009081526001919091016020526040902054151590565b600061300f826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166135c29092919063ffffffff16565b8051909150156118b55780806020019051602081101561302e57600080fd5b50516118b5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001806140e3602a913960400191505060405180910390fd5b815460009082106130e1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180613ea86022913960400191505060405180910390fd5b8260000182815481106130f057fe5b9060005260206000200154905092915050565b6000611b5383836135d1565b60008061311c8484613661565b905060405181111561312c575060005b8061315a577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000915050613169565b6131658585856136d3565b9150505b9392505050565b600061317b826136e6565b64ffffffffff1664ffffffffff1415613196575060006116ab565b60006131a1836136ec565b60405110159392505050565b60181c6bffffffffffffffffffffffff1690565b60008160200360080260ff166131d88585856131e2565b901c949350505050565b600060ff82166131f457506000613169565b6131fd846131ad565b6bffffffffffffffffffffffff166132188460ff8516613661565b11156132f75761325961322a85613716565b6bffffffffffffffffffffffff16613241866131ad565b6bffffffffffffffffffffffff16858560ff1661372a565b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156132bc5781810151838201526020016132a4565b50505050905090810190601f1680156132e95780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b60208260ff161115613354576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a815260200180614087603a913960400191505060405180910390fd5b60088202600061336386613716565b6bffffffffffffffffffffffff169050600061337e83613885565b91909501511695945050505050565b60008061339986613716565b6bffffffffffffffffffffffff1690506133b2866136ec565b6133c6856133c08489613661565b90613661565b11156133f5577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000009150506111e6565b6133ff8186613661565b90506134138364ffffffffff16828661310f565b9695505050505050565b6000613428836138ce565b61347d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602881526020018061410d6028913960400191505060405180910390fd5b61348683613170565b6134db576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b815260200180614135602b913960400191505060405180910390fd5b60006134e6846131ad565b6bffffffffffffffffffffffff169050600061350185613716565b6bffffffffffffffffffffffff1690506000806040519150858211156135275760206060fd5b8386858560045afa90508061359d57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f6964656e74697479204f4f470000000000000000000000000000000000000000604482015290519081900360640190fd5b6135b76135a9886136e6565b64ffffffffff1687866136d3565b979650505050505050565b60606111e684846000856138e0565b6000815160411461364357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604482015290519081900360640190fd5b60208201516040830151606084015160001a61341386828585613a8f565b81810182811015611b5657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4f766572666c6f7720647572696e67206164646974696f6e2e00000000000000604482015290519081900360640190fd5b606092831b9190911790911b1760181b90565b60d81c90565b60006136f7826131ad565b61370083613716565b016bffffffffffffffffffffffff169050919050565b60781c6bffffffffffffffffffffffff1690565b6060600061373786613c7d565b915050600061374586613c7d565b915050600061375386613c7d565b915050600061376186613c7d565b915050838383836040516020018080614160603591397fffffffffffff000000000000000000000000000000000000000000000000000060d087811b821660358401527f2077697468206c656e6774682030780000000000000000000000000000000000603b84015286901b16604a8201526050016021613ffd82397fffffffffffff000000000000000000000000000000000000000000000000000060d094851b811660218301527f2077697468206c656e677468203078000000000000000000000000000000000060278301529290931b9091166036830152507f2e00000000000000000000000000000000000000000000000000000000000000603c82015260408051601d818403018152603d90920190529b9a5050505050505050505050565b7f80000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9091011d90565b60006138d982613d51565b1592915050565b60608247101561393b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180613fd76026913960400191505060405180910390fd5b613944856123a6565b6139af57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040518082805190602001908083835b60208310613a1857805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016139db565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114613a7a576040519150601f19603f3d011682016040523d82523d6000602084013e613a7f565b606091505b50915091506135b7828286613d79565b60007f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0821115613b0a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180613fb56022913960400191505060405180910390fd5b8360ff16601b1480613b1f57508360ff16601c145b613b74576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602281526020018061401e6022913960400191505060405180910390fd5b600060018686868660405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa158015613bd0573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff8116612c1257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604482015290519081900360640190fd5b600080601f5b600f8160ff161115613ce55760ff600882021684901c613ca281613df9565b61ffff16841793508160ff16601014613cbd57601084901b93505b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01613c83565b50600f5b60ff8160ff161015613d4b5760ff600882021684901c613d0881613df9565b61ffff16831792508160ff16600014613d2357601083901b92505b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01613ce9565b50915091565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000009081161490565b60608315613d88575081613169565b825115613d985782518084602001fd5b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526020600482018181528451602484015284518593919283926044019190850190808383600083156132bc5781810151838201526020016132a4565b6000613e0b60048360ff16901c613e29565b60ff161760081b62ffff0016613e2082613e29565b60ff1617919050565b6040805180820190915260108082527f30313233343536373839616263646566000000000000000000000000000000006020830152600091600f84169182908110613e7057fe5b016020015160f81c9392505050565b60008085851115613e8e578182fd5b83861115613e9a578182fd5b505082019391909203915056fe456e756d657261626c655365743a20696e646578206f7574206f6620626f756e64735061757361626c653a206e65772070617573657220697320746865207a65726f2061646472657373496e697469616c697a61626c653a20696e76616c696420696e697469616c697a6174696f6e4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206e6577206f776e6572526573637561626c653a206e6577207265736375657220697320746865207a65726f20616464726573735369676e6174757265207468726573686f6c6420657863656564732061747465737465727368616e646c655265636569766546696e616c697a65644d6573736167652829206661696c656445434453413a20696e76616c6964207369676e6174757265202773272076616c7565416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c2e20417474656d7074656420746f20696e646578206174206f666673657420307845434453413a20696e76616c6964207369676e6174757265202776272076616c7565526573637561626c653a2063616c6c6572206973206e6f7420746865207265736375657241747465737465724d616e6167657220697320746865207a65726f206164647265737354797065644d656d566965772f696e646578202d20417474656d7074656420746f20696e646578206d6f7265207468616e2033322062797465735061757361626c653a2063616c6c6572206973206e6f7420746865207061757365725361666545524332303a204552433230206f7065726174696f6e20646964206e6f74207375636365656454797065644d656d566965772f636f7079546f202d204e756c6c20706f696e74657220646572656654797065644d656d566965772f636f7079546f202d20496e76616c696420706f696e74657220646572656654797065644d656d566965772f696e646578202d204f76657272616e2074686520766965772e20536c69636520697320617420307868616e646c6552656365697665556e66696e616c697a65644d6573736167652829206661696c6564a2646970667358221220a00165ce6e6796a53230fb3366595e0ea95a7bf3ce20f2ff3464ada879d3f15764736f6c63430007060033"}
Files main
Menu

Theme