0x60a06040523060601b60805234801561001757600080fd5b5060805160601c6132fe61005260003960008181610aa501528181610ae501528181610c9101528181610cd10152610e2d01526132fe6000f3fe60806040526004361061025c5760003560e01c8063685ed81a11610144578063a457c2d7116100b6578063c82898ee1161007a578063c82898ee14610702578063d547741f14610724578063d84f91e814610744578063dd62ed3e14610766578063f36c8f5c14610786578063f834c502146107a857600080fd5b8063a457c2d714610653578063a9059cbb14610673578063aa74a34a14610693578063aaf10f42146106b5578063c233f3b7146106e257600080fd5b80638456cb59116101085780638456cb59146105bf57806391d14854146105d457806395d89b41146105f45780639711715a14610609578063981b24d01461061e578063a217fddf1461063e57600080fd5b8063685ed81a146105055780636e79a1c01461052557806370a0823114610545578063731ce8fc1461057b57806374d63ab81461059d57600080fd5b80633659cfe6116101dd5780634ee2cd7e116101a15780634ee2cd7e146104635780634f1ef286146104835780635120561a1461049657806352d1902d146104b65780635439ad86146104cb5780635c975abb146104e057600080fd5b80633659cfe6146103cc57806339509351146103ec5780633f4ba83a1461040c57806343ffa64e1461042157806347757fb61461044357600080fd5b8063248a9ca311610224578063248a9ca3146103175780632cd77a5a146103475780632f2ff15d14610369578063313ce5671461038957806336568abe146103ac57600080fd5b806301ffc9a71461026157806306fdde0314610296578063095ea7b3146102b857806318160ddd146102d857806323b872dd146102f7575b600080fd5b34801561026d57600080fd5b5061028161027c366004612d28565b6107c8565b60405190151581526020015b60405180910390f35b3480156102a257600080fd5b506102ab6107ff565b60405161028d9190612e82565b3480156102c457600080fd5b506102816102d3366004612c34565b610891565b3480156102e457600080fd5b506067545b60405190815260200161028d565b34801561030357600080fd5b50610281610312366004612b96565b6108a9565b34801561032357600080fd5b506102e9610332366004612cd3565b600090815260fb602052604090206001015490565b34801561035357600080fd5b50610367610362366004612d52565b6108c0565b005b34801561037557600080fd5b50610367610384366004612d05565b6109f2565b34801561039557600080fd5b506101605460405160ff909116815260200161028d565b3480156103b857600080fd5b506103676103c7366004612d05565b610a1c565b3480156103d857600080fd5b506103676103e7366004612b48565b610a9a565b3480156103f857600080fd5b50610281610407366004612c34565b610b63565b34801561041857600080fd5b50610367610b85565b34801561042d57600080fd5b506102e960008051602061316283398151915281565b34801561044f57600080fd5b5061036761045e366004612b48565b610ba5565b34801561046f57600080fd5b506102e961047e366004612c34565b610be1565b610367610491366004612bd2565b610c86565b3480156104a257600080fd5b506103676104b1366004612d05565b610d3c565b3480156104c257600080fd5b506102e9610e20565b3480156104d757600080fd5b506102e9610ed3565b3480156104ec57600080fd5b506000805160206132898339815191525460ff16610281565b34801561051157600080fd5b50610367610520366004612c5e565b610ef0565b34801561053157600080fd5b50610367610540366004612c5e565b610f64565b34801561055157600080fd5b506102e9610560366004612b48565b6001600160a01b031660009081526065602052604090205490565b34801561058757600080fd5b506102e96000805160206132a983398151915281565b3480156105a957600080fd5b506102e96000805160206131c283398151915281565b3480156105cb57600080fd5b50610367610fd2565b3480156105e057600080fd5b506102816105ef366004612d05565b610ff2565b34801561060057600080fd5b506102ab61101d565b34801561061557600080fd5b5061036761102c565b34801561062a57600080fd5b506102e9610639366004612cd3565b611034565b34801561064a57600080fd5b506102e9600081565b34801561065f57600080fd5b5061028161066e366004612c34565b61109f565b34801561067f57600080fd5b5061028161068e366004612c34565b611125565b34801561069f57600080fd5b506102e960008051602061312283398151915281565b3480156106c157600080fd5b506106ca611131565b6040516001600160a01b03909116815260200161028d565b3480156106ee57600080fd5b506103676106fd366004612c5e565b61113b565b34801561070e57600080fd5b506102e960008051602061318283398151915281565b34801561073057600080fd5b5061036761073f366004612d05565b611194565b34801561075057600080fd5b506102e960008051602061324983398151915281565b34801561077257600080fd5b506102e9610781366004612b63565b6111b9565b34801561079257600080fd5b506102e96000805160206131a283398151915281565b3480156107b457600080fd5b506103676107c3366004612c5e565b6111e4565b60006001600160e01b03198216637965db0b60e01b14806107f957506301ffc9a760e01b6001600160e01b03198316145b92915050565b60606068805461080e9061308f565b80601f016020809104026020016040519081016040528092919081815260200182805461083a9061308f565b80156108875780601f1061085c57610100808354040283529160200191610887565b820191906000526020600020905b81548152906001019060200180831161086a57829003601f168201915b5050505050905090565b60003361089f81858561123d565b5060019392505050565b60006108b6848484611361565b90505b9392505050565b600054610100900460ff16158080156108e05750600054600160ff909116105b806108fa5750303b1580156108fa575060005460ff166001145b6109625760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff191660011790558015610985576000805461ff0019166101001790555b610991878787876114a2565b61099b83836114e5565b6109a3611629565b80156109e9576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050505050565b600082815260fb6020526040902060010154610a0d8161169e565b610a1783836116a8565b505050565b6001600160a01b0381163314610a8c5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608401610959565b610a96828261172e565b5050565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161415610ae35760405162461bcd60e51b815260040161095990612eb5565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610b15611795565b6001600160a01b031614610b3b5760405162461bcd60e51b815260040161095990612f01565b610b44816117b1565b60408051600080825260208201909252610b6091839190611833565b50565b60003361089f818585610b7683836111b9565b610b809190612fdc565b61123d565b600080516020613249833981519152610b9d8161169e565b610b606119ad565b6000805160206131a2833981519152610bbd8161169e565b5061012d80546001600160a01b0319166001600160a01b0392909216919091179055565b604080516001600160a01b0384166020808301919091527ffbf1c7065455eb4486649b8540f24ef2dd4ebedf2aa423f0039d17c2c75dea15828401528251808303840181526060909201909252805191012060009081610c42826001612fdc565b9050600080610c52868585611a5a565b9150915081610c79576001600160a01b038716600090815260656020526040902054610c7b565b805b979650505050505050565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161415610ccf5760405162461bcd60e51b815260040161095990612eb5565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610d01611795565b6001600160a01b031614610d275760405162461bcd60e51b815260040161095990612f01565b610d30826117b1565b610a9682826001611833565b6000610d478161169e565b670de0b6b3a76400008310610d9e5760405162461bcd60e51b815260206004820152601a60248201527f4552524f523a205458204645452043414e5420424520313030250000000000006044820152606401610959565b6001600160a01b038216610dc45760405162461bcd60e51b815260040161095990612f4d565b610ddc600080516020613182833981519152336109f2565b826000805160206131e2833981519152558160008051602061314283398151915280546001600160a01b0319166001600160a01b0392909216919091179055505050565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610ec05760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610959565b5060008051602061320283398151915290565b6000610eeb6000805160206132698339815191525490565b905090565b600080516020613249833981519152610f088161169e565b60005b82811015610f5e57610f4c600080516020613122833981519152858584818110610f3757610f376130f5565b90506020020160208101906103849190612b48565b80610f56816130c4565b915050610f0b565b50505050565b600080516020613249833981519152610f7c8161169e565b60005b82811015610f5e57610fc06000805160206132a9833981519152858584818110610fab57610fab6130f5565b905060200201602081019061073f9190612b48565b80610fca816130c4565b915050610f7f565b600080516020613249833981519152610fea8161169e565b610b60611b45565b600091825260fb602090815260408084206001600160a01b0393909316845291905290205460ff1690565b60606069805461080e9061308f565b610b60611bd9565b6000806000611084847f286a9db37a0f8ddcbcee127c9f4f56031230f49cb46786f87e166d552e11f67e7ffcaa8bb100d3c5b627eac0369cc1d2778dbeffa2993d08f039fb27795729e9a5611a5a565b915091508161109557606754611097565b805b949350505050565b600033816110ad82866111b9565b90508381101561110d5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610959565b61111a828686840361123d565b506001949350505050565b60006108b98383611c49565b6000610eeb611795565b6000805160206132498339815191526111538161169e565b60005b82811015610f5e57611182600080516020613122833981519152858584818110610fab57610fab6130f5565b8061118c816130c4565b915050611156565b600082815260fb60205260409020600101546111af8161169e565b610a17838361172e565b6001600160a01b03918216600090815260666020908152604080832093909416825291909152205490565b6000805160206132498339815191526111fc8161169e565b60005b82811015610f5e5761122b6000805160206132a9833981519152858584818110610f3757610f376130f5565b80611235816130c4565b9150506111ff565b6001600160a01b03831661129f5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610959565b6001600160a01b0382166113005760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610959565b6001600160a01b0383811660008181526066602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000805160206131e28339815191525460008051602061314283398151915254600091906001600160a01b031682821515806113af5750856001600160a01b0316826001600160a01b031614155b806113c257506001600160a01b03861615155b80156113d557506113d38787611d07565b155b1561140457670de0b6b3a76400006113ed8487613016565b6113f79190612ff4565b9050611404878383611d7b565b61141887876114138489613035565b611d7b565b600061142488336111b9565b9050858110156114875760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b6064820152608401610959565b611494883388840361123d565b506001979650505050505050565b600054610100900460ff166114c95760405162461bcd60e51b815260040161095990612f91565b6114d1611f31565b6114db8484611f88565b610f5e8282611fd6565b600054610100900460ff1661150c5760405162461bcd60e51b815260040161095990612f91565b670de0b6b3a764000082106115635760405162461bcd60e51b815260206004820152601a60248201527f4552524f523a205458204645452043414e5420424520313030250000000000006044820152606401610959565b6001600160a01b0381166115895760405162461bcd60e51b815260040161095990612f4d565b6000805160206131e283398151915282905560008051602061314283398151915280546001600160a01b0319166001600160a01b0383161790556115e96000805160206131828339815191526000805160206131c2833981519152612017565b6116016000805160206131c2833981519152826116a8565b326001600160a01b03821614610a9657610a966000805160206131c2833981519152326116a8565b600054610100900460ff166116505760405162461bcd60e51b815260040161095990612f91565b6116766000805160206132a9833981519152600080516020613249833981519152612017565b61169c600080516020613122833981519152600080516020613249833981519152612017565b565b610b608133612062565b6116b28282610ff2565b610a9657600082815260fb602090815260408083206001600160a01b03851684529091529020805460ff191660011790556116ea3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6117388282610ff2565b15610a9657600082815260fb602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600080516020613202833981519152546001600160a01b031690565b6117c96000805160206131a283398151915233610ff2565b806117e757506117e760008051602061316283398151915233610ff2565b610b605760405162461bcd60e51b815260206004820152601d60248201527f4552524f523a2041646472657373206e6f7420617574686f72697a65640000006044820152606401610959565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161561186657610a17836120bb565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b815260040160206040518083038186803b15801561189f57600080fd5b505afa9250505080156118cf575060408051601f3d908101601f191682019092526118cc91810190612cec565b60015b6119325760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401610959565b60008051602061320283398151915281146119a15760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401610959565b50610a17838383612157565b6000805160206132898339815191525460ff16611a035760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b6044820152606401610959565b600080516020613289833981519152805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b60008060008511611aa65760405162461bcd60e51b815260206004820152601660248201527504552433230536e617073686f743a20696420697320360541b6044820152606401610959565b60008051602061326983398151915254851115611b055760405162461bcd60e51b815260206004820152601d60248201527f4552433230536e617073686f743a206e6f6e6578697374656e742069640000006044820152606401610959565b6000611b11858761217c565b90508454811415611b29576000809250925050611b3d565b6001611b35858361221b565b549093509150505b935093915050565b6000805160206132898339815191525460ff1615611b985760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b6044820152606401610959565b600080516020613289833981519152805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25833611a3d565b600060016000805160206132698339815191528054600090611bfc908490612fdc565b9091555050600080516020613269833981519152546040518181527f8030e83b04d87bef53480e26263266d6ca66863aa8506aca6f2559d18aa1cb679060200160405180910390a1919050565b6000805160206131e28339815191525460008051602061314283398151915254600091906001600160a01b03168282151580611c975750856001600160a01b0316826001600160a01b031614155b80611caa57506001600160a01b03861615155b8015611cbd5750611cbb3387611d07565b155b15611cec57670de0b6b3a7640000611cd58487613016565b611cdf9190612ff4565b9050611cec338383611d7b565b611cfb33876114138489613035565b50600195945050505050565b6000611d2160008051602061318283398151915284610ff2565b80611d3f5750611d3f60008051602061318283398151915283610ff2565b80611d5d5750611d5d6000805160206131c283398151915233610ff2565b806108b957506108b96000805160206131c283398151915283610ff2565b6001600160a01b038316611ddf5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610959565b6001600160a01b038216611e415760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610959565b611e4c83838361229a565b6001600160a01b03831660009081526065602052604090205481811015611ec45760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610959565b6001600160a01b0380851660008181526065602052604080822086860390559286168082529083902080548601905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611f249086815260200190565b60405180910390a3610f5e565b600054610100900460ff16611f585760405162461bcd60e51b815260040161095990612f91565b611f606122b0565b611f686122b0565b611f706122b0565b611f786122b0565b611f806122b0565b61169c6122d7565b600054610100900460ff16611faf5760405162461bcd60e51b815260040161095990612f91565b8151611fc29060689060208501906129fd565b508051610a179060699060208401906129fd565b600054610100900460ff16611ffd5760405162461bcd60e51b815260040161095990612f91565b610160805460ff191660ff8416179055610a96338261235f565b600082815260fb6020526040808220600101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b61206c8282610ff2565b610a96576120798161242c565b61208483602061243e565b604051602001612095929190612e0d565b60408051601f198184030181529082905262461bcd60e51b825261095991600401612e82565b6001600160a01b0381163b6121285760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610959565b60008051602061320283398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b612160836125da565b60008251118061216d5750805b15610a1757610f5e838361261a565b8154600090819080612193576000925050506107f9565b808210156121d75760006121a7838361270e565b9050846121b4878361221b565b5411156121c3578091506121d1565b6121ce816001612fdc565b92505b50612193565b6000821180156121fa5750836121f7866121f2600186613035565b61221b565b54145b156122135761220a600183613035565b925050506107f9565b5090506107f9565b6000825482106122635760405162461bcd60e51b815260206004820152601360248201527211549493d48e8813dd5d081bd988189bdd5b99606a1b6044820152606401610959565b818360405160200161227791815260200190565b6040516020818303038152906040528051906020012060001c6108b99190612fdc565b6122a5838383612729565b610a1783838361273f565b600054610100900460ff1661169c5760405162461bcd60e51b815260040161095990612f91565b600054610100900460ff166122fe5760405162461bcd60e51b815260040161095990612f91565b612309600033612787565b6123216000805160206131a283398151915233612787565b61233960008051602061316283398151915233612787565b61169c6000805160206131628339815191526000805160206131a2833981519152612017565b6001600160a01b0382166123b55760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610959565b6123c16000838361229a565b80606760008282546123d39190612fdc565b90915550506001600160a01b0382166000818152606560209081526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b60606107f96001600160a01b03831660145b6060600061244d836002613016565b612458906002612fdc565b67ffffffffffffffff8111156124705761247061310b565b6040519080825280601f01601f19166020018201604052801561249a576020820181803683370190505b509050600360fc1b816000815181106124b5576124b56130f5565b60200101906001600160f81b031916908160001a905350600f60fb1b816001815181106124e4576124e46130f5565b60200101906001600160f81b031916908160001a9053506000612508846002613016565b612513906001612fdc565b90505b600181111561258b576f181899199a1a9b1b9c1cb0b131b232b360811b85600f1660108110612547576125476130f5565b1a60f81b82828151811061255d5761255d6130f5565b60200101906001600160f81b031916908160001a90535060049490941c9361258481613078565b9050612516565b5083156108b95760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610959565b6125e3816120bb565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606001600160a01b0383163b6126825760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608401610959565b600080846001600160a01b03168460405161269d9190612df1565b600060405180830381855af49150503d80600081146126d8576040519150601f19603f3d011682016040523d82523d6000602084013e6126dd565b606091505b5091509150612705828260405180606001604052806027815260200161322260279139612791565b95945050505050565b600061271d6002848418612ff4565b6108b990848416612fdc565b6127348383836122a5565b610a178383836127aa565b6001600160a01b03831661275e576127568261282d565b610a176128b7565b6001600160a01b038216612775576127568361282d565b61277e8361282d565b610a178261282d565b610a9682826116a8565b606083156127a05750816108b9565b6108b98383612905565b6000805160206132898339815191525460ff1615806127ce57506127ce833361292f565b610a175760405162461bcd60e51b815260206004820152602a60248201527f45524332305061757361626c653a20746f6b656e207472616e736665722077686044820152691a5b19481c185d5cd95960b21b6064820152608401610959565b604080516001600160a01b0383166020808301919091527ffbf1c7065455eb4486649b8540f24ef2dd4ebedf2aa423f0039d17c2c75dea158284015282518083038401815260609092019092528051910120600061288c826001612fdc565b9050610a1782826128b2866001600160a01b031660009081526065602052604090205490565b612967565b61169c7f286a9db37a0f8ddcbcee127c9f4f56031230f49cb46786f87e166d552e11f67e7ffcaa8bb100d3c5b627eac0369cc1d2778dbeffa2993d08f039fb27795729e9a56128b260675490565b8151156129155781518083602001fd5b8060405162461bcd60e51b81526004016109599190612e82565b60006129496000805160206132a983398151915284610ff2565b806108b957506108b960008051602061312283398151915283610ff2565b600061297f6000805160206132698339815191525490565b90508061298b856129a5565b1015610f5e5761299b84826129d5565b610f5e83836129d5565b8054600090806129b85750600092915050565b6129c7836121f2600184613035565b549392505050565b50919050565b815460018360006129e68385612fdc565b909155508290506129f7848361221b565b55505050565b828054612a099061308f565b90600052602060002090601f016020900481019282612a2b5760008555612a71565b82601f10612a4457805160ff1916838001178555612a71565b82800160010185558215612a71579182015b82811115612a71578251825591602001919060010190612a56565b50612a7d929150612a81565b5090565b5b80821115612a7d5760008155600101612a82565b600067ffffffffffffffff80841115612ab157612ab161310b565b604051601f8501601f19908116603f01168101908282118183101715612ad957612ad961310b565b81604052809350858152868686011115612af257600080fd5b858560208301376000602087830101525050509392505050565b80356001600160a01b0381168114612b2357600080fd5b919050565b600082601f830112612b3957600080fd5b6108b983833560208501612a96565b600060208284031215612b5a57600080fd5b6108b982612b0c565b60008060408385031215612b7657600080fd5b612b7f83612b0c565b9150612b8d60208401612b0c565b90509250929050565b600080600060608486031215612bab57600080fd5b612bb484612b0c565b9250612bc260208501612b0c565b9150604084013590509250925092565b60008060408385031215612be557600080fd5b612bee83612b0c565b9150602083013567ffffffffffffffff811115612c0a57600080fd5b8301601f81018513612c1b57600080fd5b612c2a85823560208401612a96565b9150509250929050565b60008060408385031215612c4757600080fd5b612c5083612b0c565b946020939093013593505050565b60008060208385031215612c7157600080fd5b823567ffffffffffffffff80821115612c8957600080fd5b818501915085601f830112612c9d57600080fd5b813581811115612cac57600080fd5b8660208260051b8501011115612cc157600080fd5b60209290920196919550909350505050565b600060208284031215612ce557600080fd5b5035919050565b600060208284031215612cfe57600080fd5b5051919050565b60008060408385031215612d1857600080fd5b82359150612b8d60208401612b0c565b600060208284031215612d3a57600080fd5b81356001600160e01b0319811681146108b957600080fd5b60008060008060008060c08789031215612d6b57600080fd5b863567ffffffffffffffff80821115612d8357600080fd5b612d8f8a838b01612b28565b97506020890135915080821115612da557600080fd5b50612db289828a01612b28565b955050604087013560ff81168114612dc957600080fd5b93506060870135925060808701359150612de560a08801612b0c565b90509295509295509295565b60008251612e0381846020870161304c565b9190910192915050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351612e4581601785016020880161304c565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351612e7681602884016020880161304c565b01602801949350505050565b6020815260008251806020840152612ea181604085016020870161304c565b601f01601f19169190910160400192915050565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b60208082526024908201527f5458204645452042454e45464943494152592043414e542042452041444452456040820152630535320360e41b606082015260800190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60008219821115612fef57612fef6130df565b500190565b60008261301157634e487b7160e01b600052601260045260246000fd5b500490565b6000816000190483118215151615613030576130306130df565b500290565b600082821015613047576130476130df565b500390565b60005b8381101561306757818101518382015260200161304f565b83811115610f5e5750506000910152565b600081613087576130876130df565b506000190190565b600181811c908216806130a357607f821691505b602082108114156129cf57634e487b7160e01b600052602260045260246000fd5b60006000198214156130d8576130d86130df565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fdfee1ac655ab58995133a870d1fd307ddc1d624c8ad919a09e67867a7a1483e439ae38b16c806f019542b2d4bf356bb4ba2ea4b7eb450b8fbff2584f6084c4978f1a76ace73a908083d89af9ff88e5b4f7cadb3591a80631063f68b695fda726db59f5f81ddbc5ac08503c19706bc3f6c6f1fa838de9636118067fb7aea0b63598371840dc4906352362b0cdaf79870196c8e42acafade72d5d5a6d59291253ceb1bd2c316cfe59c1ad66ab70314b220e4e6e7d268ce48caeec96b64e0c20fea443253122b26cc2118faf5fcfc7761bd75fcfb5508f1f48d1a40db694aba32af5d0360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564356a809dfdea9198dd76fb76bf6d403ecf13ea675eb89e1eda2db2c4a4676a260d0a0ed3351c10a57d74a44b40c06e0946288e4e3816ac07bb89db2a755562e7ad6a6591fa308fe948065665239402780db8ed4a8c4e4e16c4d066bcaa05efc2ce108bcc5e0f50fe603649304cbbbd94de794a404db82d884c0afc9ba9328e61a2646970667358221220e8d041bf2a617d40401163a85b02d0514415db2f6d323085c58cd1bead9356f864736f6c63430008060033