60a06040526001600860006101000a81548160ff0219169083151502179055506001600860016101000a81548160ff0219169083151502179055506001600860036101000a81548160ff0219169083151502179055503480156200006257600080fd5b50604051620047b4380380620047b4833981810160405281019062000088919062000710565b6040518060400160405280600c81526020017f4e6167696e6920536e616b6500000000000000000000000000000000000000008152506040518060400160405280600681526020017f4e4147494e4900000000000000000000000000000000000000000000000000008152508280600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620001566200014a6200045860201b60201c565b6200046060201b60201c565b508160069081620001689190620009bc565b5080600790816200017a9190620009bc565b505050620001983368056bc75e2d631000006200052460201b60201c565b6000620001aa6200069260201b60201c565b9050600060014603620001d457737a250d5630b4cf539739df2c5dacb4c659f2488d905062000238565b60054603620001fa57737a250d5630b4cf539739df2c5dacb4c659f2488d905062000237565b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200022e9062000b04565b60405180910390fd5b5b8073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff16815250506103e86014836200027e919062000b55565b6200028a919062000bcf565b600a819055506103e8601483620002a2919062000b55565b620002ae919062000bcf565b600b81905550620186a0601983620002c7919062000b55565b620002d3919062000bcf565b60098190555061012c600d8190555061012c600c819055506001600e60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600e600060805173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600f60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600f600060805173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050505062000ce2565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000596576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200058d9062000c57565b60405180910390fd5b620005aa600083836200069c60201b60201c565b8060056000828254620005be919062000c79565b9250508190555080600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000672919062000cc5565b60405180910390a36200068e60008383620006a160201b60201c565b5050565b6000600554905090565b505050565b505050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620006d882620006ab565b9050919050565b620006ea81620006cb565b8114620006f657600080fd5b50565b6000815190506200070a81620006df565b92915050565b600060208284031215620007295762000728620006a6565b5b60006200073984828501620006f9565b91505092915050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620007c457607f821691505b602082108103620007da57620007d96200077c565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620008447fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000805565b62000850868362000805565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b60006200089d62000897620008918462000868565b62000872565b62000868565b9050919050565b6000819050919050565b620008b9836200087c565b620008d1620008c882620008a4565b84845462000812565b825550505050565b600090565b620008e8620008d9565b620008f5818484620008ae565b505050565b5b818110156200091d5762000911600082620008de565b600181019050620008fb565b5050565b601f8211156200096c576200093681620007e0565b6200094184620007f5565b8101602085101562000951578190505b620009696200096085620007f5565b830182620008fa565b50505b505050565b600082821c905092915050565b6000620009916000198460080262000971565b1980831691505092915050565b6000620009ac83836200097e565b9150826002028217905092915050565b620009c78262000742565b67ffffffffffffffff811115620009e357620009e26200074d565b5b620009ef8254620007ab565b620009fc82828562000921565b600060209050601f83116001811462000a34576000841562000a1f578287015190505b62000a2b85826200099e565b86555062000a9b565b601f19841662000a4486620007e0565b60005b8281101562000a6e5784890151825560018201915060208501945060208101905062000a47565b8683101562000a8e578489015162000a8a601f8916826200097e565b8355505b6001600288020188555050505b505050505050565b600082825260208201905092915050565b7f436861696e206e6f7420636f6e66696775726564000000000000000000000000600082015250565b600062000aec60148362000aa3565b915062000af98262000ab4565b602082019050919050565b6000602082019050818103600083015262000b1f8162000add565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600062000b628262000868565b915062000b6f8362000868565b925082820262000b7f8162000868565b9150828204841483151762000b995762000b9862000b26565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600062000bdc8262000868565b915062000be98362000868565b92508262000bfc5762000bfb62000ba0565b5b828204905092915050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b600062000c3f601f8362000aa3565b915062000c4c8262000c07565b602082019050919050565b6000602082019050818103600083015262000c728162000c30565b9050919050565b600062000c868262000868565b915062000c938362000868565b925082820190508082111562000cae5762000cad62000b26565b5b92915050565b62000cbf8162000868565b82525050565b600060208201905062000cdc600083018462000cb4565b92915050565b608051613aa162000d136000396000818161081e01528181611eab0152818161255401526126310152613aa16000f3fe608060405234801561001057600080fd5b50600436106102535760003560e01c80638ed6795e11610146578063c2b7bbb6116100c3578063e884f26011610087578063e884f260146106f0578063ebff39c1146106fa578063f1f50a021461072a578063f2fde38b14610734578063f852b42d14610750578063f8b45b051461076c57610253565b8063c2b7bbb61461064c578063c647b20e14610668578063c78d0fa014610684578063cc1776d3146106a2578063dd62ed3e146106c057610253565b8063a746223f1161010a578063a746223f146105a8578063a9059cbb146105c4578063ab5a1887146105f4578063b2c25bce14610610578063bbc0c7421461062e57610253565b80638ed6795e146104f057806391b296951461050c57806395d89b411461053c5780639e93ad8e1461055a578063a457c2d71461057857610253565b80634f7041a5116101d457806370945d5f1161019857806370945d5f1461044a57806370a0823114610468578063715018a6146104985780638d3e6e40146104a25780638da5cb5b146104d257610253565b80634f7041a5146103b8578063540dd452146103d65780635d0044ca146104065780635d58ce36146104225780636162c92e1461044057610253565b806326ededb81161021b57806326ededb814610312578063313ce5671461032e578063395093511461034c578063452ed4f11461037c5780634a62bb651461039a57610253565b806306fdde03146102585780630758d92414610276578063095ea7b31461029457806318160ddd146102c457806323b872dd146102e2575b600080fd5b61026061078a565b60405161026d9190612757565b60405180910390f35b61027e61081c565b60405161028b91906127f8565b60405180910390f35b6102ae60048036038101906102a99190612891565b610840565b6040516102bb91906128ec565b60405180910390f35b6102cc610863565b6040516102d99190612916565b60405180910390f35b6102fc60048036038101906102f79190612931565b61086d565b60405161030991906128ec565b60405180910390f35b61032c600480360381019061032791906129e9565b61089c565b005b610336610973565b6040516103439190612a65565b60405180910390f35b61036660048036038101906103619190612891565b61097c565b60405161037391906128ec565b60405180910390f35b6103846109b3565b6040516103919190612a8f565b60405180910390f35b6103a26109d9565b6040516103af91906128ec565b60405180910390f35b6103c06109ec565b6040516103cd9190612916565b60405180910390f35b6103f060048036038101906103eb9190612aaa565b6109f2565b6040516103fd91906128ec565b60405180910390f35b610420600480360381019061041b9190612ad7565b610a12565b005b61042a610afb565b6040516104379190612916565b60405180910390f35b610448610b03565b005b610452610b8b565b60405161045f9190612916565b60405180910390f35b610482600480360381019061047d9190612aaa565b610b91565b60405161048f9190612916565b60405180910390f35b6104a0610bda565b005b6104bc60048036038101906104b79190612aaa565b610bee565b6040516104c991906128ec565b60405180910390f35b6104da610c0e565b6040516104e79190612a8f565b60405180910390f35b61050a60048036038101906105059190612b30565b610c37565b005b61052660048036038101906105219190612aaa565b610d42565b60405161053391906128ec565b60405180910390f35b610544610d62565b6040516105519190612757565b60405180910390f35b610562610df4565b60405161056f9190612916565b60405180910390f35b610592600480360381019061058d9190612891565b610dfa565b60405161059f91906128ec565b60405180910390f35b6105c260048036038101906105bd9190612b70565b610e71565b005b6105de60048036038101906105d99190612891565b610f18565b6040516105eb91906128ec565b60405180910390f35b61060e60048036038101906106099190612ad7565b610f3b565b005b610618611025565b60405161062591906128ec565b60405180910390f35b610636611038565b60405161064391906128ec565b60405180910390f35b61066660048036038101906106619190612aaa565b61104b565b005b610682600480360381019061067d9190612bd0565b611097565b005b61068c611123565b6040516106999190612916565b60405180910390f35b6106aa611129565b6040516106b79190612916565b60405180910390f35b6106da60048036038101906106d59190612c10565b61112f565b6040516106e79190612916565b60405180910390f35b6106f86111b6565b005b610714600480360381019061070f9190612aaa565b6111db565b60405161072191906128ec565b60405180910390f35b610732611231565b005b61074e60048036038101906107499190612aaa565b6112a6565b005b61076a60048036038101906107659190612b30565b611329565b005b6107746114ca565b6040516107819190612916565b60405180910390f35b60606006805461079990612c7f565b80601f01602080910402602001604051908101604052809291908181526020018280546107c590612c7f565b80156108125780601f106107e757610100808354040283529160200191610812565b820191906000526020600020905b8154815290600101906020018083116107f557829003601f168201915b5050505050905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b60008061084b6114d0565b90506108588185856114d8565b600191505092915050565b6000600554905090565b6000806108786114d0565b90506108858582856116a1565b61089085858561172d565b60019150509392505050565b6108a4611893565b60005b8383905081101561096d578383828181106108c5576108c4612cb0565b5b90506020020160208101906108da9190612aaa565b73ffffffffffffffffffffffffffffffffffffffff16601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516109589190612916565b60405180910390a380806001019150506108a7565b50505050565b60006009905090565b6000806109876114d0565b90506109a8818585610999858961112f565b6109a39190612d0e565b6114d8565b600191505092915050565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600860019054906101000a900460ff1681565b600c5481565b600e6020528060005260406000206000915054906101000a900460ff1681565b610a1a611893565b610a22610973565b600a610a2e9190612e75565b60646001610a3a610863565b610a449190612ec0565b610a4e9190612f31565b610a589190612f31565b811015610a9a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a9190612fae565b60405180910390fd5b610aa2610973565b600a610aae9190612e75565b81610ab99190612ec0565b600b819055507fde064515fae8f8bb6d8ff19d2c6ba704322def7494147d8a971266430ade0788600b54604051610af09190612916565b60405180910390a150565b600047905090565b610b0b611893565b6000600860016101000a81548160ff0219169083151502179055506000600860006101000a81548160ff021916908315150217905550610b49610863565b600a81905550610b57610863565b600b819055507fa4ffae85e880608d5d4365c2b682786545d136145537788e7e0940dff9f0b98c60405160405180910390a1565b600a5481565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610be2611893565b610bec6000611911565b565b600f6020528060005260406000206000915054906101000a900460ff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610c3f611893565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610cae576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ca59061301a565b60405180910390fd5b80600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f998cce27cbf44405c67eb636a634d5e2f2e6ff248b3d71fbbbb022f3c4c6dd2d8282604051610d3692919061303a565b60405180910390a15050565b60106020528060005260406000206000915054906101000a900460ff1681565b606060078054610d7190612c7f565b80601f0160208091040260200160405190810160405280929190818152602001828054610d9d90612c7f565b8015610dea5780601f10610dbf57610100808354040283529160200191610dea565b820191906000526020600020905b815481529060010190602001808311610dcd57829003601f168201915b5050505050905090565b61271081565b600080610e056114d0565b90506000610e13828661112f565b905083811015610e58576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e4f906130d5565b60405180910390fd5b610e6582868684036114d8565b60019250505092915050565b610e79611893565b60005b83839050811015610f12578160036000868685818110610e9f57610e9e612cb0565b5b9050602002016020810190610eb49190612aaa565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080600101915050610e7c565b50505050565b600080610f236114d0565b9050610f3081858561172d565b600191505092915050565b610f43611893565b610f4b610973565b600a610f579190612e75565b6103e86005610f64610863565b610f6e9190612ec0565b610f789190612f31565b610f829190612f31565b811015610fc4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fbb90613141565b60405180910390fd5b610fcc610973565b600a610fd89190612e75565b81610fe39190612ec0565b600a819055507fbd5d3777a4ca05c2475cf0dd89d6a70173f775d8b42722c19d597cd7c870c4c7600a5460405161101a9190612916565b60405180910390a150565b600860009054906101000a900460ff1681565b600860029054906101000a900460ff1681565b611053611893565b80601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b61109f611893565b81600c819055507f5380a61520019ce8270d583f62f1b2b9f4f4372e1acaaf708f4865cecece0508600c546040516110d79190612916565b60405180910390a180600d819055507fa02824f65350567bc405e202b741e7ca6274004a9feeb44149df72b8bd599c97600d546040516111179190612916565b60405180910390a15050565b60095481565b600d5481565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6111be611893565b6000600860006101000a81548160ff021916908315150217905550565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b611239611893565b600860029054906101000a900460ff1615611289576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611280906131ad565b60405180910390fd5b6001600860026101000a81548160ff021916908315150217905550565b6112ae611893565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361131d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113149061323f565b60405180910390fd5b61132681611911565b50565b611331611893565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036113a0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113979061301a565b60405180910390fd5b8061143657601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611435576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161142c906132ab565b60405180910390fd5b5b80600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f8f9f40630a1d139e6cf69b4f447ca47a36f10a017524efaa38252e516fa227ce82826040516114be92919061303a565b60405180910390a15050565b600b5481565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611547576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161153e9061333d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036115b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115ad906133cf565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516116949190612916565b60405180910390a3505050565b60006116ad848461112f565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146117275781811015611719576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117109061343b565b60405180910390fd5b61172684848484036114d8565b5b50505050565b600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806117ce5750600e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b806117e55750600860039054906101000a900460ff165b156117fa576117f58383836119d5565b61188e565b600860029054906101000a900460ff16611849576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611840906134a7565b60405180910390fd5b611854838383611cae565b8161185f91906134c7565b9050600860019054906101000a900460ff161561188257611881838383611e94565b5b61188d8383836119d5565b5b505050565b61189b6114d0565b73ffffffffffffffffffffffffffffffffffffffff166118b9612308565b73ffffffffffffffffffffffffffffffffffffffff161461190f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161190690613547565b60405180910390fd5b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611a44576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a3b906135d9565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611ab3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aaa9061366b565b60405180910390fd5b611abe83838361231c565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611b1e5760008114611b1d57600080fd5b5b6000600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611ba5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b9c906136fd565b60405180910390fd5b818103600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611c959190612916565b60405180910390a3611ca8848484612321565b50505050565b6000600954611cbc30610b91565b10158015611cd75750600860039054906101000a900460ff16155b8015611d2d5750601060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611d71576001600860036101000a81548160ff021916908315150217905550611d55612326565b6000600860036101000a81548160ff0219169083151502179055505b6000601060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015611dce57506000600d54115b15611df557612710600d5484611de49190612ec0565b611dee9190612f31565b9050611e74565b601060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015611e5057506000600c54115b15611e7357612710600c5484611e669190612ec0565b611e709190612f31565b90505b5b6000811115611e8957611e888530836119d5565b5b809150509392505050565b600860009054906101000a900460ff161561201b577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614158015611f4f5750601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561201a5743601160003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410611fd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fcc90613769565b60405180910390fd5b43601160003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5b601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156120be5750600f60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561216557600a54811115612108576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120ff906137d5565b60405180910390fd5b600b5461211483610b91565b8261211f9190612d0e565b1115612160576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161215790613841565b60405180910390fd5b612303565b601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156122085750600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561225757600a54811115612252576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612249906137d5565b60405180910390fd5b612302565b600f60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661230157600b546122b483610b91565b826122bf9190612d0e565b1115612300576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122f790613841565b60405180910390fd5b5b5b5b505050565b600080612313612411565b90508091505090565b505050565b505050565b600061233130610b91565b905060008103612341575061240f565b60286009546123509190612ec0565b8111156123695760286009546123669190612ec0565b90505b612372816124b5565b600047111561240d576000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16476040516123c390613892565b60006040518083038185875af1925050503d8060008114612400576040519150601f19603f3d011682016040523d82523d6000602084013e612405565b606091505b505080915050505b505b565b60008073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461248c5760008054906101000a900473ffffffffffffffffffffffffffffffffffffffff166124b0565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff165b905090565b6000600267ffffffffffffffff8111156124d2576124d16138a7565b5b6040519080825280602002602001820160405280156125005781602001602082028036833780820191505090505b509050308160008151811061251857612517612cb0565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156125bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125e191906138eb565b816001815181106125f5576125f4612cb0565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612691959493929190613a11565b600060405180830381600087803b1580156126ab57600080fd5b505af11580156126bf573d6000803e3d6000fd5b505050505050565b600081519050919050565b600082825260208201905092915050565b60005b838110156127015780820151818401526020810190506126e6565b60008484015250505050565b6000601f19601f8301169050919050565b6000612729826126c7565b61273381856126d2565b93506127438185602086016126e3565b61274c8161270d565b840191505092915050565b60006020820190508181036000830152612771818461271e565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60006127be6127b96127b484612779565b612799565b612779565b9050919050565b60006127d0826127a3565b9050919050565b60006127e2826127c5565b9050919050565b6127f2816127d7565b82525050565b600060208201905061280d60008301846127e9565b92915050565b600080fd5b600080fd5b600061282882612779565b9050919050565b6128388161281d565b811461284357600080fd5b50565b6000813590506128558161282f565b92915050565b6000819050919050565b61286e8161285b565b811461287957600080fd5b50565b60008135905061288b81612865565b92915050565b600080604083850312156128a8576128a7612813565b5b60006128b685828601612846565b92505060206128c78582860161287c565b9150509250929050565b60008115159050919050565b6128e6816128d1565b82525050565b600060208201905061290160008301846128dd565b92915050565b6129108161285b565b82525050565b600060208201905061292b6000830184612907565b92915050565b60008060006060848603121561294a57612949612813565b5b600061295886828701612846565b935050602061296986828701612846565b925050604061297a8682870161287c565b9150509250925092565b600080fd5b600080fd5b600080fd5b60008083601f8401126129a9576129a8612984565b5b8235905067ffffffffffffffff8111156129c6576129c5612989565b5b6020830191508360208202830111156129e2576129e161298e565b5b9250929050565b600080600060408486031215612a0257612a01612813565b5b600084013567ffffffffffffffff811115612a2057612a1f612818565b5b612a2c86828701612993565b93509350506020612a3f8682870161287c565b9150509250925092565b600060ff82169050919050565b612a5f81612a49565b82525050565b6000602082019050612a7a6000830184612a56565b92915050565b612a898161281d565b82525050565b6000602082019050612aa46000830184612a80565b92915050565b600060208284031215612ac057612abf612813565b5b6000612ace84828501612846565b91505092915050565b600060208284031215612aed57612aec612813565b5b6000612afb8482850161287c565b91505092915050565b612b0d816128d1565b8114612b1857600080fd5b50565b600081359050612b2a81612b04565b92915050565b60008060408385031215612b4757612b46612813565b5b6000612b5585828601612846565b9250506020612b6685828601612b1b565b9150509250929050565b600080600060408486031215612b8957612b88612813565b5b600084013567ffffffffffffffff811115612ba757612ba6612818565b5b612bb386828701612993565b93509350506020612bc686828701612b1b565b9150509250925092565b60008060408385031215612be757612be6612813565b5b6000612bf58582860161287c565b9250506020612c068582860161287c565b9150509250929050565b60008060408385031215612c2757612c26612813565b5b6000612c3585828601612846565b9250506020612c4685828601612846565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680612c9757607f821691505b602082108103612caa57612ca9612c50565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612d198261285b565b9150612d248361285b565b9250828201905080821115612d3c57612d3b612cdf565b5b92915050565b60008160011c9050919050565b6000808291508390505b6001851115612d9957808604811115612d7557612d74612cdf565b5b6001851615612d845780820291505b8081029050612d9285612d42565b9450612d59565b94509492505050565b600082612db25760019050612e6e565b81612dc05760009050612e6e565b8160018114612dd65760028114612de057612e0f565b6001915050612e6e565b60ff841115612df257612df1612cdf565b5b8360020a915084821115612e0957612e08612cdf565b5b50612e6e565b5060208310610133831016604e8410600b8410161715612e445782820a905083811115612e3f57612e3e612cdf565b5b612e6e565b612e518484846001612d4f565b92509050818404811115612e6857612e67612cdf565b5b81810290505b9392505050565b6000612e808261285b565b9150612e8b83612a49565b9250612eb87fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612da2565b905092915050565b6000612ecb8261285b565b9150612ed68361285b565b9250828202612ee48161285b565b91508282048414831517612efb57612efa612cdf565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612f3c8261285b565b9150612f478361285b565b925082612f5757612f56612f02565b5b828204905092915050565b7f4d757374206265203e3d20312500000000000000000000000000000000000000600082015250565b6000612f98600d836126d2565b9150612fa382612f62565b602082019050919050565b60006020820190508181036000830152612fc781612f8b565b9050919050565b7f5a65726f20416464726573730000000000000000000000000000000000000000600082015250565b6000613004600c836126d2565b915061300f82612fce565b602082019050919050565b6000602082019050818103600083015261303381612ff7565b9050919050565b600060408201905061304f6000830185612a80565b61305c60208301846128dd565b9392505050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b60006130bf6025836126d2565b91506130ca82613063565b604082019050919050565b600060208201905081810360008301526130ee816130b2565b9050919050565b7f4d757374206265203e3d20302e35250000000000000000000000000000000000600082015250565b600061312b600f836126d2565b9150613136826130f5565b602082019050919050565b6000602082019050818103600083015261315a8161311e565b9050919050565b7f54726164696e6720697320616c72656164792061637469766500000000000000600082015250565b60006131976019836126d2565b91506131a282613161565b602082019050919050565b600060208201905081810360008301526131c68161318a565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006132296026836126d2565b9150613234826131cd565b604082019050919050565b600060208201905081810360008301526132588161321c565b9050919050565b7f5061697200000000000000000000000000000000000000000000000000000000600082015250565b60006132956004836126d2565b91506132a08261325f565b602082019050919050565b600060208201905081810360008301526132c481613288565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006133276024836126d2565b9150613332826132cb565b604082019050919050565b600060208201905081810360008301526133568161331a565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006133b96022836126d2565b91506133c48261335d565b604082019050919050565b600060208201905081810360008301526133e8816133ac565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b6000613425601d836126d2565b9150613430826133ef565b602082019050919050565b6000602082019050818103600083015261345481613418565b9050919050565b7f54726164696e67206e6f74206163746976650000000000000000000000000000600082015250565b60006134916012836126d2565b915061349c8261345b565b602082019050919050565b600060208201905081810360008301526134c081613484565b9050919050565b60006134d28261285b565b91506134dd8361285b565b92508282039050818111156134f5576134f4612cdf565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006135316020836126d2565b915061353c826134fb565b602082019050919050565b6000602082019050818103600083015261356081613524565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006135c36025836126d2565b91506135ce82613567565b604082019050919050565b600060208201905081810360008301526135f2816135b6565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006136556023836126d2565b9150613660826135f9565b604082019050919050565b6000602082019050818103600083015261368481613648565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b60006136e76026836126d2565b91506136f28261368b565b604082019050919050565b60006020820190508181036000830152613716816136da565b9050919050565b7f5472616e736665722044656c617920656e61626c65642e000000000000000000600082015250565b60006137536017836126d2565b915061375e8261371d565b602082019050919050565b6000602082019050818103600083015261378281613746565b9050919050565b7f4d61782074782065786365656465642e00000000000000000000000000000000600082015250565b60006137bf6010836126d2565b91506137ca82613789565b602082019050919050565b600060208201905081810360008301526137ee816137b2565b9050919050565b7f4d61782077616c6c657420657863656564656400000000000000000000000000600082015250565b600061382b6013836126d2565b9150613836826137f5565b602082019050919050565b6000602082019050818103600083015261385a8161381e565b9050919050565b600081905092915050565b50565b600061387c600083613861565b91506138878261386c565b600082019050919050565b600061389d8261386f565b9150819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000815190506138e58161282f565b92915050565b60006020828403121561390157613900612813565b5b600061390f848285016138d6565b91505092915050565b6000819050919050565b600061393d61393861393384613918565b612799565b61285b565b9050919050565b61394d81613922565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6139888161281d565b82525050565b600061399a838361397f565b60208301905092915050565b6000602082019050919050565b60006139be82613953565b6139c8818561395e565b93506139d38361396f565b8060005b83811015613a045781516139eb888261398e565b97506139f6836139a6565b9250506001810190506139d7565b5085935050505092915050565b600060a082019050613a266000830188612907565b613a336020830187613944565b8181036040830152613a4581866139b3565b9050613a546060830185612a80565b613a616080830184612907565b969550505050505056fea2646970667358221220acebef794d26792c531342be331f2bf437f9ebcacd49c7f068141f52bb8b4cb264736f6c634300081600330000000000000000000000009b060bb8e0d2ef5d4079a8b4c979f1cf327491f8