0x60806040526040516107f33803806107f383398101604081905261002291610359565b805160005b818110156100c157828181518110610041576100416104c9565b6020026020010151600001516001600160a01b03163b600014156100af576100ad838281518110610074576100746104c9565b602002602001015160200151848381518110610092576100926104c9565b6020026020010151604001516100c960201b6100091760201c565b505b806100b9816104df565b915050610027565b505050610557565b606061011183836040518060400160405280601e81526020017f416464726573733a206c6f772d6c6576656c2063616c6c206661696c6564000081525061011860201b60201c565b9392505050565b6060610127848460008561012f565b949350505050565b6060824710156101955760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084015b60405180910390fd5b6001600160a01b0385163b6101ec5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161018c565b600080866001600160a01b031685876040516102089190610508565b60006040518083038185875af1925050503d8060008114610245576040519150601f19603f3d011682016040523d82523d6000602084013e61024a565b606091505b50909250905061025b828286610266565b979650505050505050565b60608315610275575081610111565b8251156102855782518084602001fd5b8160405162461bcd60e51b815260040161018c9190610524565b634e487b7160e01b600052604160045260246000fd5b604051606081016001600160401b03811182821017156102d7576102d761029f565b60405290565b604051601f8201601f191681016001600160401b03811182821017156103055761030561029f565b604052919050565b80516001600160a01b038116811461032457600080fd5b919050565b60005b8381101561034457818101518382015260200161032c565b83811115610353576000848401525b50505050565b6000602080838503121561036c57600080fd5b82516001600160401b038082111561038357600080fd5b818501915085601f83011261039757600080fd5b8151818111156103a9576103a961029f565b8060051b6103b88582016102dd565b91825283810185019185810190898411156103d257600080fd5b86860192505b838310156104bc578251858111156103f05760008081fd5b86016060601f19828d0381018213156104095760008081fd5b6104116102b5565b61041c8b850161030d565b8152604061042b81860161030d565b828d01529284015192898411156104425760008081fd5b83850194508e603f86011261045957600093508384fd5b8b85015193508984111561046f5761046f61029f565b61047f8c84601f870116016102dd565b92508383528e818587010111156104965760008081fd5b6104a5848d8501838801610329565b8101919091528452505091860191908601906103d8565b9998505050505050505050565b634e487b7160e01b600052603260045260246000fd5b600060001982141561050157634e487b7160e01b600052601160045260246000fd5b5060010190565b6000825161051a818460208701610329565b9190910192915050565b6020815260008251806020840152610543816040850160208701610329565b601f01601f19169190910160400192915050565b61028d806105666000396000f3fe6080604052600080fd5b606061004b83836040518060400160405280601e81526020017f416464726573733a206c6f772d6c6576656c2063616c6c206661696c65640000815250610052565b9392505050565b60606100618484600085610069565b949350505050565b6060824710156100cf5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084015b60405180910390fd5b6001600160a01b0385163b6101265760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016100c6565b600080866001600160a01b031685876040516101429190610208565b60006040518083038185875af1925050503d806000811461017f576040519150601f19603f3d011682016040523d82523d6000602084013e610184565b606091505b509150915061019482828661019f565b979650505050505050565b606083156101ae57508161004b565b8251156101be5782518084602001fd5b8160405162461bcd60e51b81526004016100c69190610224565b60005b838110156101f35781810151838201526020016101db565b83811115610202576000848401525b50505050565b6000825161021a8184602087016101d8565b9190910192915050565b60208152600082518060208401526102438160408501602087016101d8565b601f01601f1916919091016040019291505056fea26469706673582212200b524eb8ceaafe6c603273ee859fddbc2d6f1b7860c3d853dcf6f129f9d9371364736f6c634300080c0033000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000d6e21ec0b102d5d30f3b15bb52af6c5ea6e44115000000000000000000000000d7ade007ab3852d370fa57a4d66ad5907f7ac6d500000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000d206703e5f4267c01ff789d1301077ed6cf697d384e0301603aa3fa5fbf61943fb661014060405234801561001157600080fd5b50604080518082018252600f81526e23a9a73b19102337b93bb0b93232b960891b602080830191825283518085019094526005845264302e302e3160d81b908401528151902060e08190527fae209a0b48f21c054280f2455d32cf309387644879d9acbd8ffc1991638118856101008190524660a0529192917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6100fa8184846040805160208101859052908101839052606081018290524660808201523060a082015260009060c0016040516020818303038152906040528051906020012090509392505050565b6080523060c052610120525061010f92505050565b60805160a05160c05160e0516101005161012051610ba261015e60003960006105300152600061057f0152600061055a015260006104b3015260006104dd015260006105070152610ba26000f3fe6080604052600436106100345760003560e01c80632d0335ab1461003957806347153f8214610082578063bf5d3bdb146100a3575b600080fd5b34801561004557600080fd5b5061006f61005436600461093a565b6001600160a01b031660009081526020819052604090205490565b6040519081526020015b60405180910390f35b61009561009036600461096a565b6100d3565b604051610079929190610a39565b3480156100af57600080fd5b506100c36100be36600461096a565b6102b0565b6040519015158152602001610079565b600060603332146101155760405162461bcd60e51b81526020600482015260076024820152666e6f7420454f4160c81b60448201526064015b60405180910390fd5b6101208585856102b0565b6101925760405162461bcd60e51b815260206004820152603260248201527f4d696e696d616c466f727761726465723a207369676e617475726520646f657360448201527f206e6f74206d6174636820726571756573740000000000000000000000000000606482015260840161010c565b6101a160808601356001610a75565b6000806101b1602089018961093a565b6001600160a01b03166001600160a01b03168152602001908152602001600020819055506000808660200160208101906101eb919061093a565b6001600160a01b03166060880135604089013561020b60a08b018b610a9b565b61021860208d018d61093a565b60405160200161022a93929190610ae2565b60408051601f198184030181529082905261024491610b08565b600060405180830381858888f193505050503d8060008114610282576040519150601f19603f3d011682016040523d82523d6000602084013e610287565b606091505b50909250905061029c603f6060890135610b24565b5a116102a457fe5b90969095509350505050565b6000806103c384848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506103bd92507fdd8f4b70b0f4393e889bd39128a30628a78b61816a9eb8199759e7a349657e489150610320905060208a018a61093a565b61033060408b0160208c0161093a565b60408b013560608c013560808d013561034c60a08f018f610a9b565b60405161035a929190610b46565b6040805191829003822060208301989098526001600160a01b0396871690820152949093166060850152608084019190915260a083015260c082015260e0810191909152610100016040516020818303038152906040528051906020012061042e565b90610482565b905060808501356000806103da602089018961093a565b6001600160a01b03166001600160a01b03168152602001908152602001600020541480156104255750610410602086018661093a565b6001600160a01b0316816001600160a01b0316145b95945050505050565b600061047c61043b6104a6565b8360405161190160f01b6020820152602281018390526042810182905260009060620160405160208183030381529060405280519060200120905092915050565b92915050565b600080600061049185856105cd565b9150915061049e8161063d565b509392505050565b6000306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480156104ff57507f000000000000000000000000000000000000000000000000000000000000000046145b1561052957507f000000000000000000000000000000000000000000000000000000000000000090565b50604080517f00000000000000000000000000000000000000000000000000000000000000006020808301919091527f0000000000000000000000000000000000000000000000000000000000000000828401527f000000000000000000000000000000000000000000000000000000000000000060608301524660808301523060a0808401919091528351808403909101815260c0909201909252805191012090565b6000808251604114156106045760208301516040840151606085015160001a6105f8878285856107fb565b94509450505050610636565b82516040141561062e57602083015160408401516106238683836108e8565b935093505050610636565b506000905060025b9250929050565b600081600481111561065157610651610b56565b141561065a5750565b600181600481111561066e5761066e610b56565b14156106bc5760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604482015260640161010c565b60028160048111156106d0576106d0610b56565b141561071e5760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604482015260640161010c565b600381600481111561073257610732610b56565b141561078b5760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b606482015260840161010c565b600481600481111561079f5761079f610b56565b14156107f85760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202776272076616c604482015261756560f01b606482015260840161010c565b50565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083111561083257506000905060036108df565b8460ff16601b1415801561084a57508460ff16601c14155b1561085b57506000905060046108df565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa1580156108af573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166108d8576000600192509250506108df565b9150600090505b94509492505050565b6000807f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83168161091e60ff86901c601b610a75565b905061092c878288856107fb565b935093505050935093915050565b60006020828403121561094c57600080fd5b81356001600160a01b038116811461096357600080fd5b9392505050565b60008060006040848603121561097f57600080fd5b833567ffffffffffffffff8082111561099757600080fd5b9085019060c082880312156109ab57600080fd5b909350602085013590808211156109c157600080fd5b818601915086601f8301126109d557600080fd5b8135818111156109e457600080fd5b8760208285010111156109f657600080fd5b6020830194508093505050509250925092565b60005b83811015610a24578181015183820152602001610a0c565b83811115610a33576000848401525b50505050565b82151581526040602082015260008251806040840152610a60816060850160208701610a09565b601f01601f1916919091016060019392505050565b60008219821115610a9657634e487b7160e01b600052601160045260246000fd5b500190565b6000808335601e19843603018112610ab257600080fd5b83018035915067ffffffffffffffff821115610acd57600080fd5b60200191503681900382131561063657600080fd5b8284823760609190911b6bffffffffffffffffffffffff19169101908152601401919050565b60008251610b1a818460208701610a09565b9190910192915050565b600082610b4157634e487b7160e01b600052601260045260246000fd5b500490565b8183823760009101908152919050565b634e487b7160e01b600052602160045260246000fdfea26469706673582212200a10b9daa21b5f2f8fed19b0e88824a9fb2c6a43c723760a97332eeabf84fb4d64736f6c634300080c0033