60806040526001601155348015601457600080fd5b50600080546001600160a01b03191633179055612e7f806100366000396000f3fe608060405234801561001057600080fd5b506004361061023b5760003560e01c806306fdde0314610240578063095ea7b31461025e5780630b05e81b146102815780631624f6c61461029657806318160ddd146102a957806318af4c9e146102c05780631feb945c146102d3578063222c9777146102e057806323b872dd146102e9578063313ce567146102fc578063334943e81461031b5780633410fe6e14610364578063346c609f14610378578063486aa7851461038a5780634979b5351461039d5780634cd241f1146103a55780634cfe835f146103b85780634e71d92d146103d8578063580a2596146103e057806362c8b219146103f357806367bcd1b0146103fc5780636b92d3bb146104045780636cd2273b1461041757806370a082311461042a578063715018a61461045357806379ba50971461045b5780638d9067fc146104635780638da5cb5b1461047657806395d89b411461047e578063a42dce8014610486578063a9059cbb14610499578063a91ee0dc146104ac578063ac35c5f1146104bf578063ace925c7146104c8578063ad5dd7ed146104d1578063bacb7a93146104f4578063bed99850146104fd578063c415b95c14610505578063ca0dcf1614610518578063cea9d26f14610520578063d64eed0614610533578063dd62ed3e14610546578063de0e9a3e1461057f578063dfbe6fd214610592578063e2d7bee41461059a578063ea598cb0146105ad578063f2fde38b146105c0578063f6169824146105d3578063fb1669ca146105e6575b600080fd5b6102486105f9565b60405161025591906124b6565b60405180910390f35b61027161026c3660046124fe565b610687565b6040519015158152602001610255565b61029461028f366004612538565b6106f4565b005b6102946102a436600461260e565b610746565b6102b260065481565b604051908152602001610255565b6102946102ce366004612689565b610778565b6009546102719060ff1681565b6102b2600a5481565b6102716102f73660046126b9565b6107e2565b6005546103099060ff1681565b60405160ff9091168152602001610255565b6103546103293660046126fa565b601360205260009081526040902080546001820154600283015460039093015460ff90921692909184565b604051610255949392919061272d565b6102b26904ee2d6d415b85acef8160201b81565b60095461027190610100900460ff1681565b6102946103983660046126fa565b61089c565b6102b2610913565b6102946103b336600461276b565b610991565b6002546103cb906001600160a01b031681565b60405161025591906127e0565b610294610b7b565b6102946103ee3660046127f4565b610d96565b6102b260155481565b610248610df0565b600c546103cb906001600160a01b031681565b600b546103cb906001600160a01b031681565b6102b26104383660046126fa565b6001600160a01b031660009081526007602052604090205490565b610294610dfd565b610294610e3e565b6102946104713660046126fa565b610e8f565b6103cb61107c565b61024861108b565b6102946104943660046126fa565b611098565b6102716104a73660046124fe565b61110f565b6102946104ba3660046126fa565b611125565b6102b2600f5481565b6102b260105481565b6102716104df3660046126fa565b60146020526000908152604090205460ff1681565b6102b2600e5481565b6102b261119c565b600d546103cb906001600160a01b031681565b6102b261120c565b61029461052e3660046126b9565b611259565b610294610541366004612822565b61129c565b6102b2610554366004612896565b6001600160a01b03918216600090815260086020908152604080832093909416825291909152205490565b61029461058d3660046128c4565b6114ca565b6102946116cc565b6102946105a83660046128c4565b6117e6565b6102946105bb3660046128c4565b611861565b6102946105ce3660046126fa565b611bc3565b6102946105e13660046128dd565b611c82565b6102946105f43660046128c4565b611d09565b6004805461060690612911565b80601f016020809104026020016040519081016040528092919081815260200182805461063290612911565b801561067f5780601f106106545761010080835404028352916020019161067f565b820191906000526020600020905b81548152906001019060200180831161066257829003601f168201915b505050505081565b3360008181526008602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906106e29086815260200190565b60405180910390a35060015b92915050565b336106fd61107c565b6001600160a01b03161461072c5760405162461bcd60e51b81526004016107239061294b565b60405180910390fd5b600980549115156101000261ff0019909216919091179055565b600461075284826129ce565b50600361075f83826129ce565b506005805460ff191660ff929092169190911790555050565b3361078161107c565b6001600160a01b0316146107a75760405162461bcd60e51b81526004016107239061294b565b6040516001600160a01b0382169083156108fc029084906000818181858888f193505050501580156107dd573d6000803e3d6000fd5b505050565b6001600160a01b038316600090815260086020908152604080832033845290915281205482111561084e5760405162461bcd60e51b8152602060048201526016602482015275496e73756666696369656e7420616c6c6f77616e636560501b6044820152606401610723565b6001600160a01b038416600090815260086020908152604080832033845290915281208054849290610881908490612aa2565b909155506108929050848484611df1565b5060019392505050565b336108a561107c565b6001600160a01b0316146108cb5760405162461bcd60e51b81526004016107239061294b565b6001600160a01b0381166108f15760405162461bcd60e51b815260040161072390612ab5565b600b80546001600160a01b0319166001600160a01b0392909216919091179055565b600b54604080516332f9c06960e01b815290516000926001600160a01b0316916332f9c0699160048083019260209291908290030181865afa15801561095d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109819190612ade565b61098c906004612af7565b905090565b610999611e86565b6000805b82811015610b755760008484838181106109b9576109b9612b0e565b90506020020160208101906109ce91906126fa565b6001600160a01b03811660009081526013602052604090209091506001815460ff166003811115610a0157610a01612717565b14610a0d575050610b6d565b601054816003015414610a21575050610b6d565b60108054906000610a3183612b24565b9190505550600b60009054906101000a90046001600160a01b03166001600160a01b03166332f9c0696040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a89573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aad9190612ade565b8160010154610abc9190612aa2565b610ac69085612b3d565b600b546040516370a0823160e01b81529195506000916001600160a01b03909116906370a0823190610afc9030906004016127e0565b602060405180830381865afa158015610b19573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b3d9190612ade565b905084811015610b5f5760405162461bcd60e51b815260040161072390612b50565b50805460ff19166002179055505b60010161099d565b50505050565b3360009081526013602052604090206002815460ff166003811115610ba257610ba2612717565b14610bd85760405162461bcd60e51b815260206004820152600660248201526521636c61696d60d01b6044820152606401610723565b600b54604080516332f9c06960e01b815290516000926001600160a01b0316916332f9c0699160048083019260209291908290030181865afa158015610c22573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c469190612ade565b90506000818360010154610c5a9190612aa2565b60006001850155835460ff19166003178455600b546040516370a0823160e01b815291925082916001600160a01b03909116906370a0823190610ca19030906004016127e0565b602060405180830381865afa158015610cbe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ce29190612ade565b1015610d1b5760405162461bcd60e51b81526020600482015260086024820152672162616c616e636560c01b6044820152606401610723565b600b54610d33906001600160a01b0316303384611f93565b600b54600d54610d52916001600160a01b039081169130911685611f93565b7f34fcbac0073d7c3d388e51312faf357774904998eeb8fca628b9e6f65ee1cbf733828560030154604051610d8993929190612b7e565b60405180910390a1505050565b33610d9f61107c565b6001600160a01b031614610dc55760405162461bcd60e51b81526004016107239061294b565b6001600160a01b03919091166000908152601460205260409020805460ff1916911515919091179055565b6012805461060690612911565b33610e0661107c565b6001600160a01b031614610e2c5760405162461bcd60e51b81526004016107239061294b565b600080546001600160a01b0319169055565b6002546001600160a01b03163314610e855760405162461bcd60e51b815260206004820152600a602482015269085b9bdb5a5b985d195960b21b6044820152606401610723565b610e8d612021565b565b610e97611e86565b6001600160a01b03811660009081526013602052604090206001815460ff166003811115610ec757610ec7612717565b14610eff5760405162461bcd60e51b81526020600482015260086024820152672170656e64696e6760c01b6044820152606401610723565b601054816003015414610f445760405162461bcd60e51b815260206004820152600d60248201526c696e76616c69645f6e6f6e636560981b6044820152606401610723565b60108054906000610f5483612b24565b9190505550600b60009054906101000a90046001600160a01b03166001600160a01b03166332f9c0696040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fac573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fd09190612ade565b8160010154610fdf9190612aa2565b600b546040516370a0823160e01b81526001600160a01b03909116906370a082319061100f9030906004016127e0565b602060405180830381865afa15801561102c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110509190612ade565b101561106e5760405162461bcd60e51b815260040161072390612b50565b805460ff1916600217905550565b6000546001600160a01b031690565b6003805461060690612911565b336110a161107c565b6001600160a01b0316146110c75760405162461bcd60e51b81526004016107239061294b565b6001600160a01b0381166110ed5760405162461bcd60e51b815260040161072390612ab5565b600d80546001600160a01b0319166001600160a01b0392909216919091179055565b600061111c338484611df1565b50600192915050565b3361112e61107c565b6001600160a01b0316146111545760405162461bcd60e51b81526004016107239061294b565b6001600160a01b03811661117a5760405162461bcd60e51b815260040161072390612ab5565b600c80546001600160a01b0319166001600160a01b0392909216919091179055565b6000600654600014806111af5750600e54155b6111f4576006546904ee2d6d415b85acef8160201b601554600a6111d39190612c86565b600e546111e09190612af7565b6111ea9190612af7565b61098c9190612c92565b61098c6904ee2d6d415b85acef8160201b6001612af7565b60006006546000148061121f5750600e54155b6111f45760155461123190600a612c86565b600e5461123e9190612af7565b6904ee2d6d415b85acef8160201b6006546111ea9190612af7565b3361126261107c565b6001600160a01b0316146112885760405162461bcd60e51b81526004016107239061294b565b6107dd6001600160a01b038316848361207b565b6000546001600160a01b031633146112df5760405162461bcd60e51b815260206004820152600660248201526510b7bbb732b960d11b6044820152606401610723565b60155415806112f1575060095460ff16155b61132d5760405162461bcd60e51b815260206004820152600d60248201526c08485a5b9a5d1a585b1a5e9959609a1b6044820152606401610723565b6009805460ff1916600117905560408051808201825260138152724772616469656e74205374616b65642054414f60681b6020808301919091528251808401909352600683526567737754414f60d01b9083015261138c916012610746565b6009805461ff001916610100179055600d80546001600160a01b0386166001600160a01b031990911617905560126113c482826129ce565b50600b80546001600160a01b038086166001600160a01b03199283168117909355600c8054918616919092161790556040805163313ce56760e01b8152905163313ce567916004808201926020929091908290030181865afa15801561142e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114529190612cb4565b306001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015611490573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114b49190612cb4565b6114be9190612cd1565b60ff1660155550505050565b600081116114ea5760405162461bcd60e51b815260040161072390612cea565b3360009081526013602052604090206003815460ff16600381111561151157611511612717565b0361152357805460ff1916815561157a565b6000815460ff16600381111561153b5761153b612717565b1461157a5760405162461bcd60e51b815260206004820152600f60248201526e726571756573745f70656e64696e6760881b6044820152606401610723565b600061158461119c565b90506000601554600a6115979190612c86565b6904ee2d6d415b85acef8160201b6115af8487612af7565b6115b99190612c92565b6115c39190612c92565b90506115cf33856120d1565b80600e60008282546115e19190612aa2565b9091555050600e546001036115f6576000600e555b60408051608081019091528060018152602080820184905242604080840191909152600f5460609093019290925233600090815260139091522081518154829060ff1916600183600381111561164e5761164e612717565b02179055506020820151816001015560408201518160020155606082015181600301559050507ff1ef3da5dda8bfc6be4c0b9957ecac44c3aad8e3b710b9a50befc1a0c0922d713382600f546040516116a993929190612b7e565b60405180910390a1600f80549060006116c183612b24565b919050555050505050565b336116d561107c565b6001600160a01b0316146116fb5760405162461bcd60e51b81526004016107239061294b565b600b60009054906101000a90046001600160a01b03166001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561174e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117729190612cb4565b306001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156117b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117d49190612cb4565b6117de9190612cd1565b60ff16601555565b336117ef61107c565b6001600160a01b0316146118155760405162461bcd60e51b81526004016107239061294b565b633b9aca00811061185c5760405162461bcd60e51b8152602060048201526011602482015270696e76616c69645f7374616b655f66656560781b6044820152606401610723565b600a55565b600081116118815760405162461bcd60e51b815260040161072390612cea565b611889610913565b81116118c85760405162461bcd60e51b815260206004820152600e60248201526d085b5a5b97dcdd185ad957d85b5d60921b6044820152606401610723565b600b546040516370a0823160e01b81526000916001600160a01b0316906370a08231906118f99030906004016127e0565b602060405180830381865afa158015611916573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061193a9190612ade565b600b54909150611955906001600160a01b0316333085611f93565b600b546040516370a0823160e01b815260009183916001600160a01b03909116906370a082319061198a9030906004016127e0565b602060405180830381865afa1580156119a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119cb9190612ade565b6119d59190612aa2565b600b546040516302a3830960e41b81529192506001600160a01b031690632a38309090611a09908490601290600401612d16565b6020604051808303816000875af1158015611a28573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a4c9190612da9565b611a8a5760405162461bcd60e51b815260206004820152600f60248201526e189c9a5919da5b99d7d9985a5b1959608a1b6044820152606401610723565b600b54604080516332f9c06960e01b815290516000926001600160a01b0316916332f9c0699160048083019260209291908290030181865afa158015611ad4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611af89190612ade565b9050600a5481611b089190612b3d565b611b129083612aa2565b91506000611b1e61120c565b905060006904ee2d6d415b85acef8160201b82601554600a611b409190612c86565b611b4a9087612af7565b611b549190612af7565b611b5e9190612c92565b9050611b6a3382612183565b83600e6000828254611b7c9190612b3d565b90915550506040517fb7b257bd4478e735c3ca5132959259f3c6a6dd62049a175d81e904fb5c9d9f6890611bb39033908490612dc6565b60405180910390a1505050505050565b33611bcc61107c565b6001600160a01b031614611bf25760405162461bcd60e51b81526004016107239061294b565b6001600160a01b038116611c385760405162461bcd60e51b815260206004820152600d60248201526c217a65726f5f6164647265737360981b6044820152606401610723565b600280546001600160a01b0319166001600160a01b0383169081179091556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce2290600090a250565b33611c8b61107c565b6001600160a01b031614611cb15760405162461bcd60e51b81526004016107239061294b565b6000815111611cf95760405162461bcd60e51b815260206004820152601460248201527334b73b30b634b22fba30b7afb932b1b2b4bb32b960611b6044820152606401610723565b6012611d0582826129ce565b5050565b611d11611e86565b601554611d1f90600a612c86565b600654611d2c9190612c92565b811015611d6d5760405162461bcd60e51b815260206004820152600f60248201526e696e76616c69645f62616c616e636560881b6044820152606401610723565b600060065411611db65760405162461bcd60e51b8152602060048201526014602482015273696e76616c69645f746f74616c5f737570706c7960601b6044820152606401610723565b600e8190556040518181527fafae32ce2847c13a56ab802c034c27d3c19f1d61be48c424c5df134145cd44d09060200160405180910390a150565b6001600160a01b038316600090815260076020526040902054811115611e295760405162461bcd60e51b815260040161072390612ddf565b6001600160a01b0380841660008181526007602052604080822080548690039055928516808252908390208054850190559151600080516020612e2a83398151915290611e799085815260200190565b60405180910390a3505050565b600954610100900460ff1615611ee4573360009081526014602052604090205460ff16610e8d5760405162461bcd60e51b815260206004820152600c60248201526b085dda1a5d195b1a5cdd195960a21b6044820152606401610723565b600c54604051630a83aaa960e31b81526000916001600160a01b03169063541d554890611f159033906004016127e0565b602060405180830381865afa158015611f32573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f569190612da9565b905080611f905760405162461bcd60e51b815260206004820152600860248201526710b932b630bcb2b960c11b6044820152606401610723565b50565b600260115403611fd35760405162461bcd60e51b815260206004820152600b60248201526a217265656e7472616e637960a81b6044820152606401610723565b6002601155306001600160a01b0384160361200157611ffc6001600160a01b038516838361207b565b612016565b6120166001600160a01b0385168484846121f5565b505060016011555050565b60008054600280546001600160a01b038082166001600160a01b031980861682178755909216909255604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a350565b6107dd8363a9059cbb60e01b848460405160240161209a929190612dc6565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915261222d565b6001600160a01b0382166000908152600760205260409020548111156121095760405162461bcd60e51b815260040161072390612ddf565b6001600160a01b03821660009081526007602052604081208054839290612131908490612aa2565b92505081905550806006600082825461214a9190612aa2565b90915550506040518181526000906001600160a01b03841690600080516020612e2a833981519152906020015b60405180910390a35050565b6001600160a01b038216600090815260076020526040812080548392906121ab908490612b3d565b9250508190555080600660008282546121c49190612b3d565b90915550506040518181526001600160a01b03831690600090600080516020612e2a83398151915290602001612177565b6040516001600160a01b0380851660248301528316604482015260648101829052610b759085906323b872dd60e01b9060840161209a565b6000612282826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166123029092919063ffffffff16565b90508051600014806122a35750808060200190518101906122a39190612da9565b6107dd5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610723565b60606123118484600085612319565b949350505050565b60608247101561237a5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610723565b600080866001600160a01b031685876040516123969190612e0d565b60006040518083038185875af1925050503d80600081146123d3576040519150601f19603f3d011682016040523d82523d6000602084013e6123d8565b606091505b50915091506123e9878383876123f4565b979650505050505050565b6060831561246357825160000361245c576001600160a01b0385163b61245c5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610723565b5081612311565b61231183838151156124785781518083602001fd5b8060405162461bcd60e51b815260040161072391906124b6565b60005b838110156124ad578181015183820152602001612495565b50506000910152565b60208152600082518060208401526124d5816040850160208701612492565b601f01601f19169190910160400192915050565b6001600160a01b0381168114611f9057600080fd5b6000806040838503121561251157600080fd5b823561251c816124e9565b946020939093013593505050565b8015158114611f9057600080fd5b60006020828403121561254a57600080fd5b81356125558161252a565b9392505050565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261258357600080fd5b81356001600160401b0381111561259c5761259c61255c565b604051601f8201601f19908116603f011681016001600160401b03811182821017156125ca576125ca61255c565b6040528181528382016020018510156125e257600080fd5b816020850160208301376000918101602001919091529392505050565b60ff81168114611f9057600080fd5b60008060006060848603121561262357600080fd5b83356001600160401b0381111561263957600080fd5b61264586828701612572565b93505060208401356001600160401b0381111561266157600080fd5b61266d86828701612572565b925050604084013561267e816125ff565b809150509250925092565b6000806040838503121561269c57600080fd5b8235915060208301356126ae816124e9565b809150509250929050565b6000806000606084860312156126ce57600080fd5b83356126d9816124e9565b925060208401356126e9816124e9565b929592945050506040919091013590565b60006020828403121561270c57600080fd5b8135612555816124e9565b634e487b7160e01b600052602160045260246000fd5b608081016004861061274f57634e487b7160e01b600052602160045260246000fd5b9481526020810193909352604083019190915260609091015290565b6000806020838503121561277e57600080fd5b82356001600160401b0381111561279457600080fd5b8301601f810185136127a557600080fd5b80356001600160401b038111156127bb57600080fd5b8560208260051b84010111156127d057600080fd5b6020919091019590945092505050565b6001600160a01b0391909116815260200190565b6000806040838503121561280757600080fd5b8235612812816124e9565b915060208301356126ae8161252a565b6000806000806080858703121561283857600080fd5b8435612843816124e9565b93506020850135612853816124e9565b92506040850135612863816124e9565b915060608501356001600160401b0381111561287e57600080fd5b61288a87828801612572565b91505092959194509250565b600080604083850312156128a957600080fd5b82356128b4816124e9565b915060208301356126ae816124e9565b6000602082840312156128d657600080fd5b5035919050565b6000602082840312156128ef57600080fd5b81356001600160401b0381111561290557600080fd5b61231184828501612572565b600181811c9082168061292557607f821691505b60208210810361294557634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b601f8211156107dd57806000526020600020601f840160051c810160208510156129a75750805b601f840160051c820191505b818110156129c757600081556001016129b3565b5050505050565b81516001600160401b038111156129e7576129e761255c565b6129fb816129f58454612911565b84612980565b6020601f821160018114612a2f5760008315612a175750848201515b600019600385901b1c1916600184901b1784556129c7565b600084815260208120601f198516915b82811015612a5f5787850151825560209485019460019092019101612a3f565b5084821015612a7d5786840151600019600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b818103818111156106ee576106ee612a8c565b6020808252600f908201526e696e76616c69645f6164647265737360881b604082015260600190565b600060208284031215612af057600080fd5b5051919050565b80820281158282048414176106ee576106ee612a8c565b634e487b7160e01b600052603260045260246000fd5b600060018201612b3657612b36612a8c565b5060010190565b808201808211156106ee576106ee612a8c565b602080825260149082015273696e73756666696369656e745f62616c616e636560601b604082015260600190565b6001600160a01b039390931683526020830191909152604082015260600190565b6001815b6001841115612bda57808504811115612bbe57612bbe612a8c565b6001841615612bcc57908102905b60019390931c928002612ba3565b935093915050565b600082612bf1575060016106ee565b81612bfe575060006106ee565b8160018114612c145760028114612c1e57612c3a565b60019150506106ee565b60ff841115612c2f57612c2f612a8c565b50506001821b6106ee565b5060208310610133831016604e8410600b8410161715612c5d575081810a6106ee565b612c6a6000198484612b9f565b8060001904821115612c7e57612c7e612a8c565b029392505050565b60006125558383612be2565b600082612caf57634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215612cc657600080fd5b8151612555816125ff565b60ff82811682821603908111156106ee576106ee612a8c565b60208082526012908201527121677265617465725f7468616e5f7a65726f60701b604082015260600190565b828152604060208201526000808354612d2e81612911565b8060408601526001821660008114612d4d5760018114612d6957612d9d565b60ff1983166060870152606082151560051b8701019350612d9d565b86600052602060002060005b83811015612d9457815488820160600152600190910190602001612d75565b87016060019450505b50919695505050505050565b600060208284031215612dbb57600080fd5b81516125558161252a565b6001600160a01b03929092168252602082015260400190565b602080825260149082015273496e73756666696369656e742062616c616e636560601b604082015260600190565b60008251612e1f818460208701612492565b919091019291505056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa264697066735822122052e0c8936f08edb0ded57a36f3f38e78c495bebfd5e215ea1fa45d1309bc922a64736f6c634300081a0033