60a06040526040518060400160405280600c81526020017f544f5220456e68616e6365720000000000000000000000000000000000000000815250600190805190602001906200005192919062000ea9565b506040518060400160405280600381526020017f5445520000000000000000000000000000000000000000000000000000000000815250600290805190602001906200009f92919062000ea9565b506009600360006101000a81548160ff021916908360ff16021790555073871d2963ee5c570f0005451ee08d2f8f2ba21db6600360016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073dc8095082ad1bdef11acdbb3850ab7243d8afd67600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061dead73ffffffffffffffffffffffffffffffffffffffff1660809073ffffffffffffffffffffffffffffffffffffffff1660601b8152506001600c556003600d556001600e556001600f556003601055600160115560036012556009601355600360145560056015556005601655600f601755600360009054906101000a900460ff16600a620001f891906200111a565b6298968062000208919062001257565b601855600360009054906101000a900460ff16600a6200022991906200111a565b620493e062000239919062001257565b601955600360009054906101000a900460ff16600a6200025a91906200111a565b620493e06200026a919062001257565b601a55620f4240601b556001601d60156101000a81548160ff0219169083151502179055506000601d60166101000a81548160ff0219169083151502179055506001601d60176101000a81548160ff021916908315150217905550348015620002d257600080fd5b50736292a68901cfaea9e5cebe3bbd6282d56107532e6000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000737a250d5630b4cf539739df2c5dacb4c659f2488d90508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156200040257600080fd5b505afa15801562000417573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200043d919062000f70565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015620004a057600080fd5b505afa158015620004b5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004db919062000f70565b6040518363ffffffff1660e01b8152600401620004fa92919062000fe5565b602060405180830381600087803b1580156200051557600080fd5b505af11580156200052a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000550919062000f70565b601d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601854600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600760006200068c62000e1560201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160076000600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160076000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555062000862600e546200084e600d54600c5462000e3e60201b62001bb11790919060201c565b62000e3e60201b62001bb11790919060201c565b601581905550620008a16011546200088d601054600f5462000e3e60201b62001bb11790919060201c565b62000e3e60201b62001bb11790919060201c565b601681905550620008e0601454620008cc60135460125462000e3e60201b62001bb11790919060201c565b62000e3e60201b62001bb11790919060201c565b601781905550600160086000620008fc62000e1560201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160086000601d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600860003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160086000600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160086000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016009600062000b2962000e1560201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600960003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160096000600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160096000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600a6000601d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506018546005600062000d5762000ea160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555062000da562000ea160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60185460405162000e06919062001034565b60405180910390a350620013e7565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600080828462000e4f919062001062565b90508381101562000e97576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000e8e9062001012565b60405180910390fd5b8091505092915050565b600033905090565b82805462000eb79062001303565b90600052602060002090601f01602090048101928262000edb576000855562000f27565b82601f1062000ef657805160ff191683800117855562000f27565b8280016001018555821562000f27579182015b8281111562000f2657825182559160200191906001019062000f09565b5b50905062000f36919062000f3a565b5090565b5b8082111562000f5557600081600090555060010162000f3b565b5090565b60008151905062000f6a81620013cd565b92915050565b60006020828403121562000f8357600080fd5b600062000f938482850162000f59565b91505092915050565b62000fa781620012b8565b82525050565b600062000fbc601b8362001051565b915062000fc982620013a4565b602082019050919050565b62000fdf81620012ec565b82525050565b600060408201905062000ffc600083018562000f9c565b6200100b602083018462000f9c565b9392505050565b600060208201905081810360008301526200102d8162000fad565b9050919050565b60006020820190506200104b600083018462000fd4565b92915050565b600082825260208201905092915050565b60006200106f82620012ec565b91506200107c83620012ec565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115620010b457620010b362001339565b5b828201905092915050565b6000808291508390505b60018511156200111157808604811115620010e957620010e862001339565b5b6001851615620010f95780820291505b8081029050620011098562001397565b9450620010c9565b94509492505050565b60006200112782620012ec565b91506200113483620012f6565b9250620011637fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846200116b565b905092915050565b6000826200117d576001905062001250565b816200118d576000905062001250565b8160018114620011a65760028114620011b157620011e7565b600191505062001250565b60ff841115620011c657620011c562001339565b5b8360020a915084821115620011e057620011df62001339565b5b5062001250565b5060208310610133831016604e8410600b8410161715620012215782820a9050838111156200121b576200121a62001339565b5b62001250565b620012308484846001620010bf565b925090508184048111156200124a576200124962001339565b5b81810290505b9392505050565b60006200126482620012ec565b91506200127183620012ec565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615620012ad57620012ac62001339565b5b828202905092915050565b6000620012c582620012cc565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600060028204905060018216806200131c57607f821691505b6020821081141562001333576200133262001368565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60008160011c9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b620013d881620012b8565b8114620013e457600080fd5b50565b60805160601c61405b6200140d600039600081816111e3015261120f015261405b6000f3fe6080604052600436106102e85760003560e01c806388790a6811610190578063c8607952116100dc578063dd62ed3e11610095578063f1d5f5171161006f578063f1d5f51714610b91578063f473fc3914610bba578063f84ba65d14610be3578063f872858a14610c0c576102ef565b8063dd62ed3e14610b00578063ec28438a14610b3d578063f0cd1dac14610b66576102ef565b8063c8607952146109ec578063c867d60b14610a17578063cab0347114610a54578063d158272d14610a7f578063da00097d14610aaa578063dc44b6a014610ad5576102ef565b8063a457c2d711610149578063c469b6dd11610123578063c469b6dd14610942578063c49b9a801461096d578063c5d2418914610996578063c816841b146109c1576102ef565b8063a457c2d71461089d578063a83f53a7146108da578063a9059cbb14610905576102ef565b806388790a68146107895780638b42507f146107b45780638da5cb5b146107f157806395d89b411461081c578063a073d37f14610847578063a08e671f14610872576102ef565b80632b112e491161024f57806357a5802f11610208578063715018a6116101e2578063715018a6146106f15780637d1db4a514610708578063807c2d9c1461073357806382eefb431461075e576102ef565b806357a5802f1461065e57806361a23c691461068957806370a08231146106b4576102ef565b80632b112e4914610526578063313ce56714610551578063395093511461057c5780633ecad271146105b95780634a74bb02146105f65780635342acb414610621576102ef565b80631870517a116102a15780631870517a146104065780631cdd3be31461042f5780631e18c3cd1461046c5780632198cf6c1461049557806323b872dd146104be57806327c8f835146104fb576102ef565b806306fdde03146102f4578063087332141461031f578063095ea7b3146103485780631245e347146103855780631694505e146103b057806318160ddd146103db576102ef565b366102ef57005b600080fd5b34801561030057600080fd5b50610309610c37565b604051610316919061377a565b60405180910390f35b34801561032b57600080fd5b506103466004803603810190610341919061338a565b610cc9565b005b34801561035457600080fd5b5061036f600480360381019061036a91906132b7565b610d90565b60405161037c9190613744565b60405180910390f35b34801561039157600080fd5b5061039a610dae565b6040516103a791906136c8565b60405180910390f35b3480156103bc57600080fd5b506103c5610dd4565b6040516103d2919061375f565b60405180910390f35b3480156103e757600080fd5b506103f0610dfa565b6040516103fd91906138dc565b60405180910390f35b34801561041257600080fd5b5061042d6004803603810190610428919061338a565b610e04565b005b34801561043b57600080fd5b506104566004803603810190610451919061319e565b610ecb565b6040516104639190613744565b60405180910390f35b34801561047857600080fd5b50610493600480360381019061048e91906132f3565b610eeb565b005b3480156104a157600080fd5b506104bc60048036038101906104b7919061327b565b611030565b005b3480156104ca57600080fd5b506104e560048036038101906104e0919061322c565b611107565b6040516104f29190613744565b60405180910390f35b34801561050757600080fd5b506105106111e1565b60405161051d91906136ad565b60405180910390f35b34801561053257600080fd5b5061053b611205565b60405161054891906138dc565b60405180910390f35b34801561055d57600080fd5b50610566611249565b6040516105739190613981565b60405180910390f35b34801561058857600080fd5b506105a3600480360381019061059e91906132b7565b611260565b6040516105b09190613744565b60405180910390f35b3480156105c557600080fd5b506105e060048036038101906105db919061319e565b611313565b6040516105ed9190613744565b60405180910390f35b34801561060257600080fd5b5061060b611333565b6040516106189190613744565b60405180910390f35b34801561062d57600080fd5b506106486004803603810190610643919061319e565b611346565b6040516106559190613744565b60405180910390f35b34801561066a57600080fd5b50610673611366565b60405161068091906138dc565b60405180910390f35b34801561069557600080fd5b5061069e61136c565b6040516106ab91906138dc565b60405180910390f35b3480156106c057600080fd5b506106db60048036038101906106d6919061319e565b611372565b6040516106e891906138dc565b60405180910390f35b3480156106fd57600080fd5b506107066113bb565b005b34801561071457600080fd5b5061071d6114f5565b60405161072a91906138dc565b60405180910390f35b34801561073f57600080fd5b506107486114fb565b60405161075591906138dc565b60405180910390f35b34801561076a57600080fd5b50610773611501565b60405161078091906138dc565b60405180910390f35b34801561079557600080fd5b5061079e611507565b6040516107ab91906138dc565b60405180910390f35b3480156107c057600080fd5b506107db60048036038101906107d6919061319e565b61150d565b6040516107e89190613744565b60405180910390f35b3480156107fd57600080fd5b5061080661152d565b60405161081391906136ad565b60405180910390f35b34801561082857600080fd5b50610831611556565b60405161083e919061377a565b60405180910390f35b34801561085357600080fd5b5061085c6115e8565b60405161086991906138dc565b60405180910390f35b34801561087e57600080fd5b506108876115f2565b60405161089491906138dc565b60405180910390f35b3480156108a957600080fd5b506108c460048036038101906108bf91906132b7565b6115f8565b6040516108d19190613744565b60405180910390f35b3480156108e657600080fd5b506108ef6116c5565b6040516108fc91906138dc565b60405180910390f35b34801561091157600080fd5b5061092c600480360381019061092791906132b7565b6116cb565b6040516109399190613744565b60405180910390f35b34801561094e57600080fd5b506109576116ea565b60405161096491906138dc565b60405180910390f35b34801561097957600080fd5b50610994600480360381019061098f9190613338565b6116f0565b005b3480156109a257600080fd5b506109ab6117c0565b6040516109b891906138dc565b60405180910390f35b3480156109cd57600080fd5b506109d66117c6565b6040516109e391906136ad565b60405180910390f35b3480156109f857600080fd5b50610a016117ec565b604051610a0e91906138dc565b60405180910390f35b348015610a2357600080fd5b50610a3e6004803603810190610a39919061319e565b6117f2565b604051610a4b9190613744565b60405180910390f35b348015610a6057600080fd5b50610a69611812565b604051610a7691906138dc565b60405180910390f35b348015610a8b57600080fd5b50610a94611818565b604051610aa191906136c8565b60405180910390f35b348015610ab657600080fd5b50610abf61183e565b604051610acc9190613744565b60405180910390f35b348015610ae157600080fd5b50610aea611851565b604051610af791906138dc565b60405180910390f35b348015610b0c57600080fd5b50610b276004803603810190610b2291906131f0565b611857565b604051610b3491906138dc565b60405180910390f35b348015610b4957600080fd5b50610b646004803603810190610b5f9190613361565b6118de565b005b348015610b7257600080fd5b50610b7b611964565b604051610b8891906138dc565b60405180910390f35b348015610b9d57600080fd5b50610bb86004803603810190610bb39190613361565b61196a565b005b348015610bc657600080fd5b50610be16004803603810190610bdc919061319e565b6119f0565b005b348015610bef57600080fd5b50610c0a6004803603810190610c05919061327b565b611ac7565b005b348015610c1857600080fd5b50610c21611b9e565b604051610c2e9190613744565b60405180910390f35b606060018054610c4690613bd6565b80601f0160208091040260200160405190810160405280929190818152602001828054610c7290613bd6565b8015610cbf5780601f10610c9457610100808354040283529160200191610cbf565b820191906000526020600020905b815481529060010190602001808311610ca257829003601f168201915b5050505050905090565b610cd1611c0f565b73ffffffffffffffffffffffffffffffffffffffff16610cef61152d565b73ffffffffffffffffffffffffffffffffffffffff1614610d45576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3c9061385c565b60405180910390fd5b82600f819055508160108190555080601181905550610d85601154610d77601054600f54611bb190919063ffffffff16565b611bb190919063ffffffff16565b601681905550505050565b6000610da4610d9d611c0f565b8484611c17565b6001905092915050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000601854905090565b610e0c611c0f565b73ffffffffffffffffffffffffffffffffffffffff16610e2a61152d565b73ffffffffffffffffffffffffffffffffffffffff1614610e80576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e779061385c565b60405180910390fd5b82600c8190555081600d8190555080600e81905550610ec0600e54610eb2600d54600c54611bb190919063ffffffff16565b611bb190919063ffffffff16565b601581905550505050565b600b6020528060005260406000206000915054906101000a900460ff1681565b610ef3611c0f565b73ffffffffffffffffffffffffffffffffffffffff16610f1161152d565b73ffffffffffffffffffffffffffffffffffffffff1614610f67576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f5e9061385c565b60405180910390fd5b60005b8282905081101561102b576001600b6000858585818110610fb4577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9050602002016020810190610fc9919061319e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508061102490613c08565b9050610f6a565b505050565b611038611c0f565b73ffffffffffffffffffffffffffffffffffffffff1661105661152d565b73ffffffffffffffffffffffffffffffffffffffff16146110ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110a39061385c565b60405180910390fd5b80600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000611114848484611de2565b506111d684611121611c0f565b6111d185604051806060016040528060288152602001613fd960289139600660008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000611187611c0f565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546124ee9092919063ffffffff16565b611c17565b600190509392505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60006112446112337f0000000000000000000000000000000000000000000000000000000000000000611372565b60185461255290919063ffffffff16565b905090565b6000600360009054906101000a900460ff16905090565b600061130961126d611c0f565b84611304856006600061127e611c0f565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611bb190919063ffffffff16565b611c17565b6001905092915050565b600a6020528060005260406000206000915054906101000a900460ff1681565b601d60159054906101000a900460ff1681565b60076020528060005260406000206000915054906101000a900460ff1681565b60125481565b60135481565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6113c3611c0f565b73ffffffffffffffffffffffffffffffffffffffff166113e161152d565b73ffffffffffffffffffffffffffffffffffffffff1614611437576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161142e9061385c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60195481565b601a5481565b60165481565b600f5481565b60096020528060005260406000206000915054906101000a900460ff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606002805461156590613bd6565b80601f016020809104026020016040519081016040528092919081815260200182805461159190613bd6565b80156115de5780601f106115b3576101008083540402835291602001916115de565b820191906000526020600020905b8154815290600101906020018083116115c157829003601f168201915b5050505050905090565b6000601b54905090565b60175481565b60006116bb611605611c0f565b846116b685604051806060016040528060258152602001614001602591396006600061162f611c0f565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546124ee9092919063ffffffff16565b611c17565b6001905092915050565b60145481565b60006116df6116d8611c0f565b8484611de2565b506001905092915050565b600e5481565b6116f8611c0f565b73ffffffffffffffffffffffffffffffffffffffff1661171661152d565b73ffffffffffffffffffffffffffffffffffffffff161461176c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117639061385c565b60405180910390fd5b80601d60156101000a81548160ff0219169083151502179055507f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc159816040516117b59190613744565b60405180910390a150565b600d5481565b601d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60105481565b60086020528060005260406000206000915054906101000a900460ff1681565b60115481565b600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601d60169054906101000a900460ff1681565b600c5481565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6118e6611c0f565b73ffffffffffffffffffffffffffffffffffffffff1661190461152d565b73ffffffffffffffffffffffffffffffffffffffff161461195a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119519061385c565b60405180910390fd5b8060198190555050565b60155481565b611972611c0f565b73ffffffffffffffffffffffffffffffffffffffff1661199061152d565b73ffffffffffffffffffffffffffffffffffffffff16146119e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119dd9061385c565b60405180910390fd5b80601a8190555050565b6119f8611c0f565b73ffffffffffffffffffffffffffffffffffffffff16611a1661152d565b73ffffffffffffffffffffffffffffffffffffffff1614611a6c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a639061385c565b60405180910390fd5b6000600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b611acf611c0f565b73ffffffffffffffffffffffffffffffffffffffff16611aed61152d565b73ffffffffffffffffffffffffffffffffffffffff1614611b43576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b3a9061385c565b60405180910390fd5b80600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b601d60179054906101000a900460ff1681565b6000808284611bc091906139f1565b905083811015611c05576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bfc906137dc565b60405180910390fd5b8091505092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611c87576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c7e906138bc565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611cf7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cee906137bc565b60405180910390fd5b80600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611dd591906138dc565b60405180910390a3505050565b6000600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611e885750600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b611ec7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ebe906137fc565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415611f37576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f2e9061389c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611fa7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f9e9061379c565b60405180910390fd5b60008211611fea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fe19061387c565b60405180910390fd5b601d60149054906101000a900460ff16156120115761200a84848461259c565b90506124e7565b600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156120b55750600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612100576019548211156120ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120f69061381c565b60405180910390fd5b5b600061210b30611372565b90506000601b5482101590508080156121315750601d60149054906101000a900460ff16155b80156121875750600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b801561219f5750601d60159054906101000a900460ff165b156121c957601d60169054906101000a900460ff16156121bf57601b5491505b6121c88261276f565b5b612252846040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600560008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546124ee9092919063ffffffff16565b600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806123385750600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b61234c57612347878787612960565b61234e565b845b9050601d60179054906101000a900460ff1680156123b65750600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156123e557601a546123d9826123cb89611372565b611bb190919063ffffffff16565b11156123e457600080fd5b5b61243781600560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611bb190919063ffffffff16565b600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516124d791906138dc565b60405180910390a3600193505050505b9392505050565b6000838311158290612536576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161252d919061377a565b60405180910390fd5b50600083856125459190613ad2565b9050809150509392505050565b600061259483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506124ee565b905092915050565b6000612627826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546124ee9092919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506126bc82600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611bb190919063ffffffff16565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161275c91906138dc565b60405180910390a3600190509392505050565b6001601d60146101000a81548160ff02191690831515021790555060006127c860026127ba6017546127ac60125487612b8790919063ffffffff16565b612c0290919063ffffffff16565b612c0290919063ffffffff16565b905060006127df828461255290919063ffffffff16565b90506127ea81612c4c565b6000479050600061281b61280a6002601254612c0290919063ffffffff16565b60175461255290919063ffffffff16565b90506000612859600261284b8461283d60125488612b8790919063ffffffff16565b612c0290919063ffffffff16565b612c0290919063ffffffff16565b905060006128848361287660145487612b8790919063ffffffff16565b612c0290919063ffffffff16565b905060006128ad8261289f858861255290919063ffffffff16565b61255290919063ffffffff16565b905060008111156128e5576128e4600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682612f49565b5b600082111561291b5761291a600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683612f49565b5b60008311801561292b5750600087115b1561293b5761293a8784612f94565b5b505050505050506000601d60146101000a81548160ff02191690831515021790555050565b60008060009050600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156129e8576129e160646129d360155486612b8790919063ffffffff16565b612c0290919063ffffffff16565b9050612a66565b600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615612a6557612a626064612a5460165486612b8790919063ffffffff16565b612c0290919063ffffffff16565b90505b5b6000811115612b6a57612ac181600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611bb190919063ffffffff16565b600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612b6191906138dc565b60405180910390a35b612b7d818461255290919063ffffffff16565b9150509392505050565b600080831415612b9a5760009050612bfc565b60008284612ba89190613a78565b9050828482612bb79190613a47565b14612bf7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612bee9061383c565b60405180910390fd5b809150505b92915050565b6000612c4483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250613088565b905092915050565b6000600267ffffffffffffffff811115612c8f577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051908082528060200260200182016040528015612cbd5781602001602082028036833780820191505090505b5090503081600081518110612cfb577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015612d9d57600080fd5b505afa158015612db1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612dd591906131c7565b81600181518110612e0f577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050612e7630601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611c17565b601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612eda959493929190613927565b600060405180830381600087803b158015612ef457600080fd5b505af1158015612f08573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a78282604051612f3d9291906138f7565b60405180910390a15050565b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015612f8f573d6000803e3d6000fd5b505050565b612fc130601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611c17565b601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71982308560008061300d61152d565b426040518863ffffffff1660e01b815260040161302f969594939291906136e3565b6060604051808303818588803b15801561304857600080fd5b505af115801561305c573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061308191906133d9565b5050505050565b600080831182906130cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016130c6919061377a565b60405180910390fd5b50600083856130de9190613a47565b9050809150509392505050565b6000813590506130fa81613f93565b92915050565b60008151905061310f81613f93565b92915050565b60008083601f84011261312757600080fd5b8235905067ffffffffffffffff81111561314057600080fd5b60208301915083602082028301111561315857600080fd5b9250929050565b60008135905061316e81613faa565b92915050565b60008135905061318381613fc1565b92915050565b60008151905061319881613fc1565b92915050565b6000602082840312156131b057600080fd5b60006131be848285016130eb565b91505092915050565b6000602082840312156131d957600080fd5b60006131e784828501613100565b91505092915050565b6000806040838503121561320357600080fd5b6000613211858286016130eb565b9250506020613222858286016130eb565b9150509250929050565b60008060006060848603121561324157600080fd5b600061324f868287016130eb565b9350506020613260868287016130eb565b925050604061327186828701613174565b9150509250925092565b6000806040838503121561328e57600080fd5b600061329c858286016130eb565b92505060206132ad8582860161315f565b9150509250929050565b600080604083850312156132ca57600080fd5b60006132d8858286016130eb565b92505060206132e985828601613174565b9150509250929050565b6000806020838503121561330657600080fd5b600083013567ffffffffffffffff81111561332057600080fd5b61332c85828601613115565b92509250509250929050565b60006020828403121561334a57600080fd5b60006133588482850161315f565b91505092915050565b60006020828403121561337357600080fd5b600061338184828501613174565b91505092915050565b60008060006060848603121561339f57600080fd5b60006133ad86828701613174565b93505060206133be86828701613174565b92505060406133cf86828701613174565b9150509250925092565b6000806000606084860312156133ee57600080fd5b60006133fc86828701613189565b935050602061340d86828701613189565b925050604061341e86828701613189565b9150509250925092565b6000613434838361344f565b60208301905092915050565b61344981613b18565b82525050565b61345881613b06565b82525050565b61346781613b06565b82525050565b6000613478826139ac565b61348281856139cf565b935061348d8361399c565b8060005b838110156134be5781516134a58882613428565b97506134b0836139c2565b925050600181019050613491565b5085935050505092915050565b6134d481613b2a565b82525050565b6134e381613b6d565b82525050565b6134f281613b91565b82525050565b6000613503826139b7565b61350d81856139e0565b935061351d818560208601613ba3565b61352681613cde565b840191505092915050565b600061353e6023836139e0565b915061354982613cef565b604082019050919050565b60006135616022836139e0565b915061356c82613d3e565b604082019050919050565b6000613584601b836139e0565b915061358f82613d8d565b602082019050919050565b60006135a7601b836139e0565b91506135b282613db6565b602082019050919050565b60006135ca6028836139e0565b91506135d582613ddf565b604082019050919050565b60006135ed6021836139e0565b91506135f882613e2e565b604082019050919050565b60006136106020836139e0565b915061361b82613e7d565b602082019050919050565b60006136336029836139e0565b915061363e82613ea6565b604082019050919050565b60006136566025836139e0565b915061366182613ef5565b604082019050919050565b60006136796024836139e0565b915061368482613f44565b604082019050919050565b61369881613b56565b82525050565b6136a781613b60565b82525050565b60006020820190506136c2600083018461345e565b92915050565b60006020820190506136dd6000830184613440565b92915050565b600060c0820190506136f8600083018961345e565b613705602083018861368f565b61371260408301876134e9565b61371f60608301866134e9565b61372c608083018561345e565b61373960a083018461368f565b979650505050505050565b600060208201905061375960008301846134cb565b92915050565b600060208201905061377460008301846134da565b92915050565b6000602082019050818103600083015261379481846134f8565b905092915050565b600060208201905081810360008301526137b581613531565b9050919050565b600060208201905081810360008301526137d581613554565b9050919050565b600060208201905081810360008301526137f581613577565b9050919050565b600060208201905081810360008301526138158161359a565b9050919050565b60006020820190508181036000830152613835816135bd565b9050919050565b60006020820190508181036000830152613855816135e0565b9050919050565b6000602082019050818103600083015261387581613603565b9050919050565b6000602082019050818103600083015261389581613626565b9050919050565b600060208201905081810360008301526138b581613649565b9050919050565b600060208201905081810360008301526138d58161366c565b9050919050565b60006020820190506138f1600083018461368f565b92915050565b600060408201905061390c600083018561368f565b818103602083015261391e818461346d565b90509392505050565b600060a08201905061393c600083018861368f565b61394960208301876134e9565b818103604083015261395b818661346d565b905061396a606083018561345e565b613977608083018461368f565b9695505050505050565b6000602082019050613996600083018461369e565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b60006139fc82613b56565b9150613a0783613b56565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613a3c57613a3b613c51565b5b828201905092915050565b6000613a5282613b56565b9150613a5d83613b56565b925082613a6d57613a6c613c80565b5b828204905092915050565b6000613a8382613b56565b9150613a8e83613b56565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613ac757613ac6613c51565b5b828202905092915050565b6000613add82613b56565b9150613ae883613b56565b925082821015613afb57613afa613c51565b5b828203905092915050565b6000613b1182613b36565b9050919050565b6000613b2382613b36565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000613b7882613b7f565b9050919050565b6000613b8a82613b36565b9050919050565b6000613b9c82613b56565b9050919050565b60005b83811015613bc1578082015181840152602081019050613ba6565b83811115613bd0576000848401525b50505050565b60006002820490506001821680613bee57607f821691505b60208210811415613c0257613c01613caf565b5b50919050565b6000613c1382613b56565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415613c4657613c45613c51565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f54686973206164647265737320697320626c61636b6c69737465640000000000600082015250565b7f5472616e7366657220616d6f756e74206578636565647320746865206d61785460008201527f78416d6f756e742e000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b613f9c81613b06565b8114613fa757600080fd5b50565b613fb381613b2a565b8114613fbe57600080fd5b50565b613fca81613b56565b8114613fd557600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220a683effcdbd0046a2a22e5c0585755d2767ec854ff5ec78a93aab32b0db3792f64736f6c63430008040033