0x60806040523480156200001157600080fd5b50600054610100900460ff16806200002c575060005460ff16155b620000945760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840160405180910390fd5b600054610100900460ff16158015620000b7576000805461ffff19166101011790555b8015620000ca576000805461ff00191690555b5061326b80620000db6000396000f3fe6080604052600436106102765760003560e01c806367a527931161014f578063a64b6e5f116100c1578063cef6c0201161007a578063cef6c020146107ee578063d0e30db01461080e578063d505accf14610816578063dd62ed3e14610836578063f23a6e611461087c578063f2fde38b146108a857600080fd5b8063a64b6e5f14610722578063a9059cbb14610742578063b83e72b814610762578063bc197c8114610782578063c1756a2c146107ae578063ca6d56dc146107ce57600080fd5b806379cc67901161011357806379cc67901461066f5780637ecebe001461068f5780638da5cb5b146106af5780638f7fdca0146106cd57806395d89b41146106ed578063a457c2d71461070257600080fd5b806367a52793146105cd5780636b264259146105e457806370a0823114610604578063715018a61461063a57806374e87e1e1461064f57600080fd5b8063215fce93116101e857806339509351116101ac57806339509351146105195780633ba0b9a91461053957806340c10f191461055057806342966c6814610572578063490ae210146105925780635e4c57a4146105b257600080fd5b8063215fce931461048857806323b872dd146104a85780632e1a7d4d146104c8578063313ce567146104e85780633644e5151461050457600080fd5b8063095ea7b31161023a578063095ea7b3146103a55780630a7e880c146103c55780630b1ca49a146103e5578063150b7a021461040557806318160ddd146104495780631aca63761461046857600080fd5b806301ffc9a7146102c457806305a8fc95146102f957806305ab421d1461033257806306fdde031461035257806308ae4b0c1461037457600080fd5b366102bf577f3643f613df9307490ef8b5c6ebbd3e96b40e6fde6584e7efadd9e065eb5b0b4933604080516001600160a01b0390921682523460208301520160405180910390a1005b600080fd5b3480156102d057600080fd5b506102e46102df366004612e4d565b6108c8565b60405190151581526020015b60405180910390f35b34801561030557600080fd5b506101fc5461031a906001600160a01b031681565b6040516001600160a01b0390911681526020016102f0565b34801561033e57600080fd5b506102e461034d366004612e04565b6108ff565b34801561035e57600080fd5b5061036761098a565b6040516102f09190612f65565b34801561038057600080fd5b506102e461038f366004612ad7565b6101fa6020526000908152604090205460ff1681565b3480156103b157600080fd5b506102e46103c0366004612e04565b610a1c565b3480156103d157600080fd5b506102e46103e0366004612c71565b610a32565b3480156103f157600080fd5b506102e4610400366004612ad7565b610b22565b34801561041157600080fd5b50610430610420366004612c0b565b630a85bd0160e11b949350505050565b6040516001600160e01b031990911681526020016102f0565b34801561045557600080fd5b506035545b6040519081526020016102f0565b34801561047457600080fd5b506102e4610483366004612bd0565b610bad565b34801561049457600080fd5b506102e46104a3366004612f09565b610c8d565b3480156104b457600080fd5b506102e46104c3366004612bd0565b610cf4565b3480156104d457600080fd5b506102e46104e3366004612f09565b610d9e565b3480156104f457600080fd5b50604051601281526020016102f0565b34801561051057600080fd5b5061045a6110cd565b34801561052557600080fd5b506102e4610534366004612e04565b6110dc565b34801561054557600080fd5b5061045a6101f95481565b34801561055c57600080fd5b5061057061056b366004612e04565b611118565b005b34801561057e57600080fd5b5061057061058d366004612f09565b611150565b34801561059e57600080fd5b506105706105ad366004612f09565b61115d565b3480156105be57600080fd5b506101f8546102e49060ff1681565b3480156105d957600080fd5b5061045a6101fb5481565b3480156105f057600080fd5b506102e46105ff366004612e2d565b6111ce565b34801561061057600080fd5b5061045a61061f366004612ad7565b6001600160a01b031660009081526033602052604090205490565b34801561064657600080fd5b50610570611246565b34801561065b57600080fd5b5061057061066a366004612e75565b61127c565b34801561067b57600080fd5b5061057061068a366004612e04565b611378565b34801561069b57600080fd5b5061045a6106aa366004612ad7565b6113fe565b3480156106bb57600080fd5b506097546001600160a01b031661031a565b3480156106d957600080fd5b506102e46106e8366004612d86565b61141c565b3480156106f957600080fd5b50610367611463565b34801561070e57600080fd5b506102e461071d366004612e04565b611472565b34801561072e57600080fd5b506102e461073d366004612bd0565b61150b565b34801561074e57600080fd5b506102e461075d366004612e04565b611563565b34801561076e57600080fd5b506102e461077d366004612e2d565b611570565b34801561078e57600080fd5b5061043061079d366004612b2a565b63bc197c8160e01b95945050505050565b3480156107ba57600080fd5b506102e46107c9366004612e04565b6115e2565b3480156107da57600080fd5b506102e46107e9366004612ad7565b6116a9565b3480156107fa57600080fd5b506101f8546102e490610100900460ff1681565b610570611734565b34801561082257600080fd5b50610570610831366004612d15565b611967565b34801561084257600080fd5b5061045a610851366004612af8565b6001600160a01b03918216600090815260346020908152604080832093909416825291909152205490565b34801561088857600080fd5b50610430610897366004612cb2565b63f23a6e6160e01b95945050505050565b3480156108b457600080fd5b506105706108c3366004612ad7565b611aad565b60006001600160e01b03198216630271189760e51b14806108f957506301ffc9a760e01b6001600160e01b03198316145b92915050565b6097546000906001600160a01b031633146109355760405162461bcd60e51b815260040161092c90612fe6565b60405180910390fd5b61093f8383611b45565b604080516001600160a01b0385168152602081018490527ff18d5a93c62c1d0c761ed52107f11d20bc2071851206b79c4dd3283bd9f006f1910160405180910390a150600192915050565b606060368054610999906131d4565b80601f01602080910402602001604051908101604052809291908181526020018280546109c5906131d4565b8015610a125780601f106109e757610100808354040283529160200191610a12565b820191906000526020600020905b8154815290600101906020018083116109f557829003601f168201915b5050505050905090565b6000610a29338484611c24565b50600192915050565b6097546000906001600160a01b03163314610a5f5760405162461bcd60e51b815260040161092c90612fe6565b604080513060248201526001600160a01b038681166044830152606482018690526084820185905260a060a4830152600060c4808401919091528351808403909101815260e490920183526020820180516001600160e01b0316637921219560e11b179052915191871691610ad49190612f49565b6000604051808303816000865af19150503d8060008114610b11576040519150601f19603f3d011682016040523d82523d6000602084013e610b16565b606091505b50909695505050505050565b6097546000906001600160a01b03163314610b4f5760405162461bcd60e51b815260040161092c90612fe6565b6040516001600160a01b038316907f6e76fb4c77256006d9c38ec7d82b45a8c8f3c27b1d6766fffc42dfb8de68449290600090a2506001600160a01b03811660009081526101fa60205260409020805460ff1916905560015b919050565b6097546000906001600160a01b03163314610bda5760405162461bcd60e51b815260040161092c90612fe6565b6040513060248201526001600160a01b038481166044830152606482018490528516906323b872dd906084015b6040516020818303038152906040529060e01b6020820180516001600160e01b038381831617835250505050604051610c409190612f49565b6000604051808303816000865af19150503d8060008114610c7d576040519150601f19603f3d011682016040523d82523d6000602084013e610c82565b606091505b509095945050505050565b6097546000906001600160a01b03163314610cba5760405162461bcd60e51b815260040161092c90612fe6565b6101f9546040518391907fb01b0304cdcaffa13e4b57ecbe280da183afb719becd1d56e9211cc3781ea42190600090a3506101f955600190565b6000610d01848484611d48565b6001600160a01b038416600090815260346020908152604080832033845290915290205482811015610d865760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b606482015260840161092c565b610d938533858403611c24565b506001949350505050565b6000808211610dc057604051631fbaba3560e01b815260040160405180910390fd5b6000306370a08231336040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260240160206040518083038186803b158015610e0857600080fd5b505afa158015610e1c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e409190612f21565b905080831115610e635760405163fd7850ad60e01b815260040160405180910390fd5b60003063dd62ed3e336040516001600160e01b031960e084901b1681526001600160a01b03909116600482015230602482015260440160206040518083038186803b158015610eb157600080fd5b505afa158015610ec5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ee99190612f21565b905080841115610f0c5760405163175936bd60e31b815260040160405180910390fd5b6000306001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b158015610f4757600080fd5b505afa158015610f5b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f7f9190612f21565b905047600082610f8f8389613172565b610f999190613064565b9050306379cc6790336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602481018a9052604401600060405180830381600087803b158015610fea57600080fd5b505af1158015610ffe573d6000803e3d6000fd5b50505050600061100b3390565b6001600160a01b03168260405160006040518083038185875af1925050503d8060008114611055576040519150601f19603f3d011682016040523d82523d6000602084013e61105a565b606091505b505090508061107c57604051630dcf35db60e41b815260040160405180910390fd5b7f154b1cd4912f736fc284317c956d06d2f9322625918a8e46438da0a5c950591733604080516001600160a01b039092168252602082018590520160405180910390a1506001979650505050505050565b60006110d7611f18565b905090565b3360008181526034602090815260408083206001600160a01b03871684529091528120549091610a2991859061111390869061304c565b611c24565b6097546001600160a01b031633146111425760405162461bcd60e51b815260040161092c90612fe6565b61114c8282611b45565b5050565b61115a3382611f93565b50565b6101fc546001600160a01b0316336001600160a01b0316146111925760405163fa4a8e2760e01b815260040160405180910390fd5b6101fb8190556040518181527f3dda580d2b9d92da338ef46ec718e7b1dd0a2c505e3df4aa8d40360192a0f8229060200160405180910390a150565b6097546000906001600160a01b031633146111fb5760405162461bcd60e51b815260040161092c90612fe6565b604051821515907f66efcdf2f2b56bbd74b671484b4193d25ba508fba446c741a75b6255a6e10da790600090a2506101f880548215156101000261ff00199091161790556001919050565b6097546001600160a01b031633146112705760405162461bcd60e51b815260040161092c90612fe6565b61127a60006120e1565b565b600054610100900460ff1680611295575060005460ff16155b6112b15760405162461bcd60e51b815260040161092c90612f98565b600054610100900460ff161580156112d3576000805461ffff19166101011790555b6112dd8787612133565b6112e56121b2565b6112ed61222d565b6112f687612294565b6101f8805461ffff19166101011790556103e86101f9556101fb8390556101fc80546001600160a01b0319166001600160a01b038616179055811561135457611354306113456012600a6130c7565b61134f9085613172565b611b45565b61135d85611aad565b801561136f576000805461ff00191690555b50505050505050565b60006113848333610851565b9050818110156113e25760405162461bcd60e51b8152602060048201526024808201527f45524332303a206275726e20616d6f756e74206578636565647320616c6c6f77604482015263616e636560e01b606482015260840161092c565b6113ef8333848403611c24565b6113f98383611f93565b505050565b6001600160a01b038116600090815260fd60205260408120546108f9565b6097546000906001600160a01b031633146114495760405162461bcd60e51b815260040161092c90612fe6565b836001600160a01b03168383604051610c40929190612f39565b606060378054610999906131d4565b3360009081526034602090815260408083206001600160a01b0386168452909152812054828110156114f45760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b606482015260840161092c565b6115013385858403611c24565b5060019392505050565b6097546000906001600160a01b031633146115385760405162461bcd60e51b815260040161092c90612fe6565b6040516001600160a01b0384811660248301526044820184905285169063a9059cbb90606401610c07565b6000610a29338484611d48565b6097546000906001600160a01b0316331461159d5760405162461bcd60e51b815260040161092c90612fe6565b604051821515907fbc08448eb710598e822470794891bc124e5da7b6e57471afb43b36bd03d37a8890600090a2506101f8805460ff1916911515919091179055600190565b6097546000906001600160a01b0316331461160f5760405162461bcd60e51b815260040161092c90612fe6565b6000821161163057604051631fbaba3560e01b815260040160405180910390fd5b478211156116515760405163fd7850ad60e01b815260040160405180910390fd5b6040516001600160a01b038416908390600081818185875af1925050503d806000811461169a576040519150601f19603f3d011682016040523d82523d6000602084013e61169f565b606091505b5090949350505050565b6097546000906001600160a01b031633146116d65760405162461bcd60e51b815260040161092c90612fe6565b6040516001600160a01b038316907fb251eb052afc73ffd02ffe85ad79990a8b3fed60d76dbc2fa2fdd7123dffd91490600090a2506001600160a01b031660009081526101fa60205260409020805460ff1916600190811790915590565b3360009081526101fa602052604090205460ff1615801561175d57506101f854610100900460ff165b1561177b576040516305031d1160e31b815260040160405180910390fd5b6101f85460ff1661179f57604051630e2f42c960e31b815260040160405180910390fd5b600034116117c057604051631fbaba3560e01b815260040160405180910390fd5b3360009081526101fa602052604090205460ff1661181a573360008181526101fa6020526040808220805460ff19166001179055517fb251eb052afc73ffd02ffe85ad79990a8b3fed60d76dbc2fa2fdd7123dffd9149190a25b6000806101fb541161182d576000611846565b6101fb5461183c606434613064565b6118469190613172565b905060006118548234613191565b905060006101f954826118679190613172565b90508215611919576101fc546040516000916001600160a01b03169085908381818185875af1925050503d80600081146118bd576040519150601f19603f3d011682016040523d82523d6000602084013e6118c2565b606091505b50509050806118e457604051638b3dac3760e01b815260040160405180910390fd5b6040518481527f69e27f80547602d16208b028c44d20f25956e1fb7d0f51d62aa02f392426f3719060200160405180910390a1505b6119233382611b45565b6040805133815234602082015280820183905290517f9fe18e522e4e4f5421c6bc85df877f936efea110320f151af86d74d4fdd137569181900360600190a1505050565b834211156119b75760405162461bcd60e51b815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e65000000604482015260640161092c565b600060fe548888886119c88c612334565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090506000611a238261235c565b90506000611a33828787876123aa565b9050896001600160a01b0316816001600160a01b031614611a965760405162461bcd60e51b815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e61747572650000604482015260640161092c565b611aa18a8a8a611c24565b50505050505050505050565b6097546001600160a01b03163314611ad75760405162461bcd60e51b815260040161092c90612fe6565b6001600160a01b038116611b3c5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161092c565b61115a816120e1565b6001600160a01b038216611b9b5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640161092c565b8060356000828254611bad919061304c565b90915550506001600160a01b03821660009081526033602052604081208054839290611bda90849061304c565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b6001600160a01b038316611c865760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161092c565b6001600160a01b038216611ce75760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161092c565b6001600160a01b0383811660008181526034602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316611dac5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161092c565b6001600160a01b038216611e0e5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161092c565b6001600160a01b03831660009081526033602052604090205481811015611e865760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161092c565b6001600160a01b03808516600090815260336020526040808220858503905591851681529081208054849290611ebd90849061304c565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611f0991815260200190565b60405180910390a35b50505050565b60006110d77f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f611f4760c95490565b60ca546040805160208101859052908101839052606081018290524660808201523060a082015260009060c0016040516020818303038152906040528051906020012090509392505050565b6001600160a01b038216611ff35760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b606482015260840161092c565b6001600160a01b038216600090815260336020526040902054818110156120675760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b606482015260840161092c565b6001600160a01b0383166000908152603360205260408120838303905560358054849290612096908490613191565b90915550506040518281526000906001600160a01b038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3505050565b609780546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff168061214c575060005460ff16155b6121685760405162461bcd60e51b815260040161092c90612f98565b600054610100900460ff1615801561218a576000805461ffff19166101011790555b6121926123d2565b61219c838361243c565b80156113f9576000805461ff0019169055505050565b600054610100900460ff16806121cb575060005460ff16155b6121e75760405162461bcd60e51b815260040161092c90612f98565b600054610100900460ff16158015612209576000805461ffff19166101011790555b6122116123d2565b6122196123d2565b801561115a576000805461ff001916905550565b600054610100900460ff1680612246575060005460ff16155b6122625760405162461bcd60e51b815260040161092c90612f98565b600054610100900460ff16158015612284576000805461ffff19166101011790555b61228c6123d2565b6122196124d1565b600054610100900460ff16806122ad575060005460ff16155b6122c95760405162461bcd60e51b815260040161092c90612f98565b600054610100900460ff161580156122eb576000805461ffff19166101011790555b6122f36123d2565b61231682604051806040016040528060018152602001603160f81b815250612531565b61231f826125bb565b801561114c576000805461ff00191690555050565b6001600160a01b038116600090815260fd602052604090208054600181018255905b50919050565b60006108f9612369611f18565b8360405161190160f01b6020820152602281018390526042810182905260009060620160405160208183030381529060405280519060200120905092915050565b60008060006123bb8787878761264b565b915091506123c881612738565b5095945050505050565b600054610100900460ff16806123eb575060005460ff16155b6124075760405162461bcd60e51b815260040161092c90612f98565b600054610100900460ff16158015612219576000805461ffff1916610101179055801561115a576000805461ff001916905550565b600054610100900460ff1680612455575060005460ff16155b6124715760405162461bcd60e51b815260040161092c90612f98565b600054610100900460ff16158015612493576000805461ffff19166101011790555b82516124a6906036906020860190612939565b5081516124ba906037906020850190612939565b5080156113f9576000805461ff0019169055505050565b600054610100900460ff16806124ea575060005460ff16155b6125065760405162461bcd60e51b815260040161092c90612f98565b600054610100900460ff16158015612528576000805461ffff19166101011790555b612219336120e1565b600054610100900460ff168061254a575060005460ff16155b6125665760405162461bcd60e51b815260040161092c90612f98565b600054610100900460ff16158015612588576000805461ffff19166101011790555b825160208085019190912083519184019190912060c99190915560ca5580156113f9576000805461ff0019169055505050565b600054610100900460ff16806125d4575060005460ff16155b6125f05760405162461bcd60e51b815260040161092c90612f98565b600054610100900460ff16158015612612576000805461ffff19166101011790555b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c960fe55801561114c576000805461ff00191690555050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831115612682575060009050600361272f565b8460ff16601b1415801561269a57508460ff16601c14155b156126ab575060009050600461272f565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa1580156126ff573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166127285760006001925092505061272f565b9150600090505b94509492505050565b600081600481111561275a57634e487b7160e01b600052602160045260246000fd5b14156127635750565b600181600481111561278557634e487b7160e01b600052602160045260246000fd5b14156127d35760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604482015260640161092c565b60028160048111156127f557634e487b7160e01b600052602160045260246000fd5b14156128435760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604482015260640161092c565b600381600481111561286557634e487b7160e01b600052602160045260246000fd5b14156128be5760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b606482015260840161092c565b60048160048111156128e057634e487b7160e01b600052602160045260246000fd5b141561115a5760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202776272076616c604482015261756560f01b606482015260840161092c565b828054612945906131d4565b90600052602060002090601f01602090048101928261296757600085556129ad565b82601f1061298057805160ff19168380011785556129ad565b828001600101855582156129ad579182015b828111156129ad578251825591602001919060010190612992565b506129b99291506129bd565b5090565b5b808211156129b957600081556001016129be565b80356001600160a01b0381168114610ba857600080fd5b600082601f8301126129f9578081fd5b8135602067ffffffffffffffff821115612a1557612a1561321f565b8160051b612a2482820161301b565b838152828101908684018388018501891015612a3e578687fd5b8693505b85841015612a60578035835260019390930192918401918401612a42565b50979650505050505050565b600082601f830112612a7c578081fd5b813567ffffffffffffffff811115612a9657612a9661321f565b612aa9601f8201601f191660200161301b565b818152846020838601011115612abd578283fd5b816020850160208301379081016020019190915292915050565b600060208284031215612ae8578081fd5b612af1826129d2565b9392505050565b60008060408385031215612b0a578081fd5b612b13836129d2565b9150612b21602084016129d2565b90509250929050565b600080600080600060a08688031215612b41578081fd5b612b4a866129d2565b9450612b58602087016129d2565b9350604086013567ffffffffffffffff80821115612b74578283fd5b612b8089838a016129e9565b94506060880135915080821115612b95578283fd5b612ba189838a016129e9565b93506080880135915080821115612bb6578283fd5b50612bc388828901612a6c565b9150509295509295909350565b600080600060608486031215612be4578283fd5b612bed846129d2565b9250612bfb602085016129d2565b9150604084013590509250925092565b60008060008060808587031215612c20578384fd5b612c29856129d2565b9350612c37602086016129d2565b925060408501359150606085013567ffffffffffffffff811115612c59578182fd5b612c6587828801612a6c565b91505092959194509250565b60008060008060808587031215612c86578384fd5b612c8f856129d2565b9350612c9d602086016129d2565b93969395505050506040820135916060013590565b600080600080600060a08688031215612cc9578081fd5b612cd2866129d2565b9450612ce0602087016129d2565b93506040860135925060608601359150608086013567ffffffffffffffff811115612d09578182fd5b612bc388828901612a6c565b600080600080600080600060e0888a031215612d2f578485fd5b612d38886129d2565b9650612d46602089016129d2565b95506040880135945060608801359350608088013560ff81168114612d69578283fd5b9699959850939692959460a0840135945060c09093013592915050565b600080600060408486031215612d9a578081fd5b612da3846129d2565b9250602084013567ffffffffffffffff80821115612dbf578283fd5b818601915086601f830112612dd2578283fd5b813581811115612de0578384fd5b876020828501011115612df1578384fd5b6020830194508093505050509250925092565b60008060408385031215612e16578182fd5b612e1f836129d2565b946020939093013593505050565b600060208284031215612e3e578081fd5b81358015158114612af1578182fd5b600060208284031215612e5e578081fd5b81356001600160e01b031981168114612af1578182fd5b60008060008060008060c08789031215612e8d578384fd5b863567ffffffffffffffff80821115612ea4578586fd5b612eb08a838b01612a6c565b97506020890135915080821115612ec5578586fd5b50612ed289828a01612a6c565b955050612ee1604088016129d2565b9350612eef606088016129d2565b92506080870135915060a087013590509295509295509295565b600060208284031215612f1a578081fd5b5035919050565b600060208284031215612f32578081fd5b5051919050565b8183823760009101908152919050565b60008251612f5b8184602087016131a8565b9190910192915050565b6020815260008251806020840152612f848160408501602087016131a8565b601f01601f19169190910160400192915050565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b604051601f8201601f1916810167ffffffffffffffff811182821017156130445761304461321f565b604052919050565b6000821982111561305f5761305f613209565b500190565b60008261307f57634e487b7160e01b81526012600452602481fd5b500490565b600181815b808511156130bf5781600019048211156130a5576130a5613209565b808516156130b257918102915b93841c9390800290613089565b509250929050565b6000612af160ff8416836000826130e0575060016108f9565b816130ed575060006108f9565b8160018114613103576002811461310d57613129565b60019150506108f9565b60ff84111561311e5761311e613209565b50506001821b6108f9565b5060208310610133831016604e8410600b841016171561314c575081810a6108f9565b6131568383613084565b806000190482111561316a5761316a613209565b029392505050565b600081600019048311821515161561318c5761318c613209565b500290565b6000828210156131a3576131a3613209565b500390565b60005b838110156131c35781810151838201526020016131ab565b83811115611f125750506000910152565b600181811c908216806131e857607f821691505b6020821081141561235657634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fdfea264697066735822122041f6233edd7fb68423521796c286fbc903267699d3f14b37f9f285e60cf4970364736f6c63430008040033