Returned Raw Transaction Hex :
0xf9519b4d85037e11d600837a12008080b951486080604052600060095560001960185560006019553480156200002157600080fd5b506040516200512838038062005128833981016040819052620000449162000402565b806001600160a01b03166306fdde036040518163ffffffff1660e01b8152600401600060405180830381865afa15801562000083573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052620000ad91908101906200044a565b816001600160a01b03166395d89b416040518163ffffffff1660e01b8152600401600060405180830381865afa158015620000ec573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526200011691908101906200044a565b8181733cc6cdda760b79bafa08df41ecfa224f810dceb660016daaeb6d7670e522a718067333cd4e3b1562000274578015620001c257604051633e9f1edf60e11b81523060048201526001600160a01b03831660248201526daaeb6d7670e522a718067333cd4e90637d3e3dbe906044015b600060405180830381600087803b158015620001a357600080fd5b505af1158015620001b8573d6000803e3d6000fd5b5050505062000274565b6001600160a01b03821615620002135760405163a0af290360e01b81523060048201526001600160a01b03831660248201526daaeb6d7670e522a718067333cd4e9063a0af29039060440162000188565b604051632210724360e11b81523060048201526daaeb6d7670e522a718067333cd4e90634420e48690602401600060405180830381600087803b1580156200025a57600080fd5b505af11580156200026f573d6000803e3d6000fd5b505050505b5060029050620002858382620005ae565b506003620002948282620005ae565b50506000805550620002aa9150339050620003b0565b600d80546001600160a01b0319166001600160a01b038316179055620002d8600b546001600160a01b031690565b601c80546001600160a01b03929092166001600160b01b031990921691909117607d60a21b179055506040805160a0808201835260008083526020808401829052838501829052600160608086018290526080958601829052600f805462ffffff199081169091556010839055601183905587519586018852848652858401859052858801859052858201839052948601829052601280549095169094556013819055601455845193840185528184528301819052928201839052018190526015805461ffff1916905560168190556017556200067a565b600b80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000602082840312156200041557600080fd5b81516001600160a01b03811681146200042d57600080fd5b9392505050565b634e487b7160e01b600052604160045260246000fd5b600060208083850312156200045e57600080fd5b82516001600160401b03808211156200047657600080fd5b818501915085601f8301126200048b57600080fd5b815181811115620004a057620004a062000434565b604051601f8201601f19908116603f01168101908382118183101715620004cb57620004cb62000434565b816040528281528886848701011115620004e457600080fd5b600093505b82841015620005085784840186015181850187015292850192620004e9565b600086848301015280965050505050505092915050565b600181811c908216806200053457607f821691505b6020821081036200055557634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620005a957600081815260208120601f850160051c81016020861015620005845750805b601f850160051c820191505b81811015620005a55782815560010162000590565b5050505b505050565b81516001600160401b03811115620005ca57620005ca62000434565b620005e281620005db84546200051f565b846200055b565b602080601f8311600181146200061a5760008415620006015750858301515b600019600386901b1c1916600185901b178555620005a5565b600085815260208120601f198616915b828110156200064b578886015182559484019460019091019084016200062a565b50858210156200066a5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b614a9e806200068a6000396000f3fe60806040526004361061030c5760003560e01c806381ba32681161019a578063b3d3d37e116100e1578063e985e9c51161008a578063f2fde38b11610064578063f2fde38b14610a08578063fce4100f14610a28578063ffa68c5214610a3d57600080fd5b8063e985e9c5146108b2578063ed8d458114610908578063f2634afa146109e857600080fd5b8063c87b56dd116100bb578063c87b56dd14610867578063cb22af4c14610887578063dac2e8041461089c57600080fd5b8063b3d3d37e14610812578063b88d4fde14610827578063c23dc68f1461083a57600080fd5b8063910669881161014357806399a2557a1161011d57806399a2557a146107b2578063a22cb465146107d2578063a3864397146107f257600080fd5b8063910669881461075d57806395d89b411461077d5780639794de951461079257600080fd5b8063853828b611610174578063853828b6146106fd57806387ff994f146107125780638da5cb5b1461073257600080fd5b806381ba32681461069b5780638225865d146106bd5780638462151c146106d057600080fd5b806323b872dd1161025e5780635a702e01116102075780636352211e116101e15780636352211e1461064657806370a0823114610666578063715018a61461068657600080fd5b80635a702e01146105be5780635bbb2177146105de57806362172b461461060b57600080fd5b806342842e0e1161023857806342842e0e1461054a578063458cf5451461055d578063473773371461059e57600080fd5b806323b872dd146104c95780632a55205a146104dc57806341f434341461052857600080fd5b8063095ea7b3116102c05780631a2069101161029a5780631a2069101461043f5780631c94525c146104545780632316121c146104a957600080fd5b8063095ea7b3146103f657806316d7d7c01461040957806318160ddd1461041c57600080fd5b8063049877c7116102f1578063049877c71461036f57806306fdde031461038f578063081812fc146103b157600080fd5b806301601a631461031857806301ffc9a71461033a57600080fd5b3661031357005b600080fd5b34801561032457600080fd5b50610338610333366004613e43565b610a52565b005b34801561034657600080fd5b5061035a610355366004613ecc565b610b1f565b60405190151581526020015b60405180910390f35b34801561037b57600080fd5b5061033861038a366004613f24565b610bc8565b34801561039b57600080fd5b506103a4610c36565b6040516103669190613fc5565b3480156103bd57600080fd5b506103d16103cc366004613fd8565b610cc8565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610366565b610338610404366004613ff1565b610d32565b6103386104173660046141a8565b610d4b565b34801561042857600080fd5b50600154600054035b604051908152602001610366565b34801561044b57600080fd5b5061035a61114b565b34801561046057600080fd5b5061047461046f366004614206565b611163565b6040805173ffffffffffffffffffffffffffffffffffffffff909316835267ffffffffffffffff909116602083015201610366565b3480156104b557600080fd5b506103386104c4366004614228565b611186565b6103386104d736600461425f565b6111e4565b3480156104e857600080fd5b506104fc6104f7366004614206565b61121c565b6040805173ffffffffffffffffffffffffffffffffffffffff9093168352602083019190915201610366565b34801561053457600080fd5b506103d16daaeb6d7670e522a718067333cd4e81565b61033861055836600461425f565b61127b565b34801561056957600080fd5b5061057d610578366004613fd8565b6112ad565b60408051825160ff9081168252602093840151169281019290925201610366565b3480156105aa57600080fd5b506104746105b9366004613fd8565b61137a565b3480156105ca57600080fd5b506103386105d936600461429b565b61143e565b3480156105ea57600080fd5b506105fe6105f9366004614361565b6118f6565b60405161036691906143d6565b34801561061757600080fd5b5061062b610626366004613fd8565b6119e0565b60408051825181526020928301519281019290925201610366565b34801561065257600080fd5b506103d1610661366004613fd8565b6119fd565b34801561067257600080fd5b50610431610681366004614460565b611a08565b34801561069257600080fd5b50610338611a8a565b3480156106a757600080fd5b506106b0611a9e565b604051610366919061447b565b6103386106cb3660046144ba565b611bba565b3480156106dc57600080fd5b506106f06106eb366004614460565b611c81565b60405161036691906144e4565b34801561070957600080fd5b50610338611da9565b34801561071e57600080fd5b5061047461072d366004613fd8565b611de0565b34801561073e57600080fd5b50600b5473ffffffffffffffffffffffffffffffffffffffff166103d1565b34801561076957600080fd5b506103a461077836600461451c565b611e72565b34801561078957600080fd5b506103a4612041565b34801561079e57600080fd5b506103386107ad366004614541565b612050565b3480156107be57600080fd5b506106f06107cd3660046145c4565b61215d565b3480156107de57600080fd5b506103386107ed366004614228565b612317565b3480156107fe57600080fd5b5061043161080d366004613fd8565b61232b565b34801561081e57600080fd5b506103386123c2565b61033861083536600461463d565b6123d2565b34801561084657600080fd5b5061085a610855366004613fd8565b61240c565b60405161036691906146e8565b34801561087357600080fd5b506103a4610882366004613fd8565b612484565b34801561089357600080fd5b506104316124a6565b3480156108a857600080fd5b50610431600c5481565b3480156108be57600080fd5b5061035a6108cd36600461473a565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260076020908152604080832093909416825291909152205460ff1690565b34801561091457600080fd5b506040805160a08082018352600f5460ff80821615158452610100808304821615156020808701919091526201000093849004831615158688015260105460608088019190915260115460808089019190915288519687018952601254808616151588528481048616151588850152959095048416151586890152601354868201526014548686015287519485018852601554808516151586529290920490921615159183019190915260165494820194909452601754938101939093526109d99283565b60405161036693929190614764565b3480156109f457600080fd5b50610338610a0336600461451c565b6124b1565b348015610a1457600080fd5b50610338610a23366004614460565b6127e3565b348015610a3457600080fd5b50610431612897565b348015610a4957600080fd5b506103386128bf565b610a5a612973565b6040805160a08101825295151580875294151560208701819052931515908601819052606086018390526080909501819052600f80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff90951694909417610100909302929092177fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffff166201000090940293909317909155601091909155601155565b6000610b2a826129f4565b80610b7657507f2a55205a000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b80610bc257507f49064906000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b610bd0612973565b601c805461ffff90921674010000000000000000000000000000000000000000027fffffffffffffffffffff0000000000000000000000000000000000000000000090921673ffffffffffffffffffffffffffffffffffffffff90931692909217179055565b606060028054610c4590614810565b80601f0160208091040260200160405190810160405280929190818152602001828054610c7190614810565b8015610cbe5780601f10610c9357610100808354040283529160200191610cbe565b820191906000526020600020905b815481529060010190602001808311610ca157829003601f168201915b5050505050905090565b6000610cd382612ad5565b610d09576040517fcf4700e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060009081526006602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b81610d3c81612b15565b610d468383612c1a565b505050565b818160008260ff16118015610d63575060008160ff16115b8015610d8157508060ff168260ff166003610d7e919061488c565b10155b8015610d9f57508160ff168160ff166003610d9c919061488c565b10155b610e2f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f41737065637420726174696f206e6f74206265747765656e20333a3120616e6460448201527f20313a330000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b610e3761114b565b610e9d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4d696e74696e6720697320636c6f7365640000000000000000000000000000006044820152606401610e26565b6000855111610f08576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f4e6f206d696e74732072657175657374656400000000000000000000000000006044820152606401610e26565b6000610f29600b5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610f715750336000908152600e602052604090205460ff165b90508015610fa25760005460195414610f9d576001610f8f60005490565b610f9991906148a3565b6018555b610fc6565b610fb5610fad611a9e565b87333261143e565b610fc262127500426148c3565b600c555b6000805490601b818315610fe457610fdf601a85612d05565b610fe7565b60005b8152602080820192909252604090810160002081518083019092525460ff80821680845261010090920481169383019390935290925090881614158061103757508560ff16816020015160ff1614155b156110cd5760408051808201825260ff808a16825288811660208084019182526000878152601b909152939093209151825493518216610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00009094169116179190911790556110cd601a83600881901c600090815260209290925260409091208054600160ff9093169290921b9091179055565b60005b8851811015611133576111218982815181106110ee576110ee6148d6565b6020026020010151600001518a838151811061110c5761110c6148d6565b60200260200101516020015161ffff16612db8565b8061112b81614905565b9150506110d0565b508215611141576000546019555b5050505050505050565b600042600c5410158061115e5750600c54155b905090565b60008060006111728585612dd6565b805160209091015190969095509350505050565b61118e612973565b73ffffffffffffffffffffffffffffffffffffffff919091166000908152600e6020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016911515919091179055565b8273ffffffffffffffffffffffffffffffffffffffff8116331461120b5761120b33612b15565b611216848484612f01565b50505050565b601c54600090819073ffffffffffffffffffffffffffffffffffffffff811690612710906112669074010000000000000000000000000000000000000000900461ffff168661488c565b611270919061493d565b915091509250929050565b8273ffffffffffffffffffffffffffffffffffffffff811633146112a2576112a233612b15565b61121684848461319a565b6040805180820190915260008082526020820152816112cb81612ad5565b611331576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f496e76616c696420746f6b656e496400000000000000000000000000000000006044820152606401610e26565b601b6000611340601a86612d05565b8152602080820192909252604090810160002081518083019092525460ff8082168352610100909104169181019190915291505b50919050565b6000808261138781612ad5565b6113ed576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f496e76616c696420746f6b656e496400000000000000000000000000000000006044820152606401610e26565b60006113f8856131b5565b805190915073ffffffffffffffffffffffffffffffffffffffff1661142a5761142085611de0565b9350935050611438565b805160209091015190935091505b50915091565b8073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161480611479575083604001515b6114df576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f43616e6e6f74206d696e742066726f6d20636f6e7472616374000000000000006044820152606401610e26565b60006001815b855181101561187f576000868281518110611502576115026148d6565b60200260200101516020015161ffff1611611579576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f496e76616c696420616d6f756e740000000000000000000000000000000000006044820152606401610e26565b8373ffffffffffffffffffffffffffffffffffffffff168682815181106115a2576115a26148d6565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1603611636578651611631576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f43616e6e6f74206d696e7420746f2073656c66000000000000000000000000006044820152606401610e26565b6116a1565b86602001516116a1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f43616e6e6f74206d696e7420746f206f746865727300000000000000000000006044820152606401610e26565b60008682815181106116b5576116b56148d6565b602090810291909101810151015161ffff169050600182156117fa5783801561174657508783815181106116eb576116eb6148d6565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff16886001850381518110611722576117226148d6565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff16105b9350836117fa5760005b838110156117f85788848151811061176a5761176a6148d6565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1689828151811061179e5761179e6148d6565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff16036117f0578881815181106117d7576117d76148d6565b60200260200101516020015161ffff1683019250600091505b600101611750565b505b8860800151821115611868576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4578636565646564206d617820706572206164647265737300000000000000006044820152606401610e26565b8015611875576001909401935b50506001016114e5565b5085606001518211156118ee576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4578636565646564206d617820616464726573736573000000000000000000006044820152606401610e26565b505050505050565b60608160008167ffffffffffffffff8111156119145761191461401b565b60405190808252806020026020018201604052801561198457816020015b6040805160808101825260008082526020808301829052928201819052606082015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9092019101816119325790505b50905060005b8281146119d7576119b28686838181106119a6576119a66148d6565b9050602002013561240c565b8282815181106119c4576119c46148d6565b602090810291909101015260010161198a565b50949350505050565b6040805180820190915260008082526020820152610bc28261324d565b6000610bc282613305565b600073ffffffffffffffffffffffffffffffffffffffff8216611a57576040517f8f4eb60400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5073ffffffffffffffffffffffffffffffffffffffff1660009081526005602052604090205467ffffffffffffffff1690565b611a92612973565b611a9c60006133bc565b565b6040805160a08101825260008082526020820181905291810182905260608101829052608081019190915260155460ff168015611af95750601654601554610100900460ff16611af45760015460005403611af6565b425b10155b8015611b235750601754601554610100900460ff16611b1e5760015460005403611b20565b425b11155b15611b7157506040805160a08101825260125460ff80821615158352610100820481161515602084015262010000909104161515918101919091526013546060820152601454608082015290565b506040805160a081018252600f5460ff80821615158352610100820481161515602084015262010000909104161515918101919091526010546060820152601154608082015290565b604080516001808252818301909252600091816020015b6040805180820190915260008082526020820152815260200190600190039081611bd15790505090503381600081518110611c0e57611c0e6148d6565b60200260200101516000019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600181600081518110611c6157611c616148d6565b60209081029190910181015161ffff909216910152610d46818484610d4b565b60606000806000611c9185611a08565b905060008167ffffffffffffffff811115611cae57611cae61401b565b604051908082528060200260200182016040528015611cd7578160200160208202803683370190505b5060408051608081018252600080825260208201819052918101829052606081018290529192505b838614611d9d57611d0f81613433565b91508160400151611d9557815173ffffffffffffffffffffffffffffffffffffffff1615611d3c57815194505b8773ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603611d955780838780600101985081518110611d8857611d886148d6565b6020026020010181815250505b600101611cff565b50909695505050505050565b611db1612973565b60405133904780156108fc02916000818181858888f19350505050158015611ddd573d6000803e3d6000fd5b50565b60008082611ded81612ad5565b611e53576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f496e76616c696420746f6b656e496400000000000000000000000000000000006044820152606401610e26565b6000611e5e856134d8565b805160209091015190945092505050915091565b6060828260008260ff16118015611e8c575060008160ff16115b8015611eaa57508060ff168260ff166003611ea7919061488c565b10155b8015611ec857508160ff168160ff166003611ec5919061488c565b10155b611f53576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f41737065637420726174696f206e6f74206265747765656e20333a3120616e6460448201527f20313a33000000000000000000000000000000000000000000000000000000006064820152608401610e26565b333214611f5f57600080fd5b600d5473ffffffffffffffffffffffffffffffffffffffff16630be6d21a87611f878161232b565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526004810192909252602482015260ff808916604483015287166064820152608401600060405180830381865afa158015611ff1573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526120379190810190614978565b9695505050505050565b606060038054610c4590614810565b612058612973565b6040805160a081018252981515808a529715156020808b018290529715158a83018190526060808c0189905260809b8c01889052601280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00009081167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff909d169c909c17610100948502177fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffff166201000090930292909217909155601397909755601495909555805198890181526001808a52931515968901879052880182905296909301869052601580549095169390910292909217909117909155601655601755565b6060818310612198576040517f32c1995a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000806121a460005490565b9050808411156121b2578093505b60006121bd87611a08565b9050848610156121dc57858503818110156121d6578091505b506121e0565b5060005b60008167ffffffffffffffff8111156121fb576121fb61401b565b604051908082528060200260200182016040528015612224578160200160208202803683370190505b5090508160000361223a57935061231092505050565b60006122458861240c565b905060008160400151612256575080515b885b8881141580156122685750848714155b156123045761227681613433565b925082604001516122fc57825173ffffffffffffffffffffffffffffffffffffffff16156122a357825191505b8a73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036122fc57808488806001019950815181106122ef576122ef6148d6565b6020026020010181815250505b600101612258565b50505092835250909150505b9392505050565b8161232181612b15565b610d468383613576565b60008060006123398461137a565b6040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606084901b1660208201527fffffffffffffffff00000000000000000000000000000000000000000000000060c083901b166034820152603c81018790529193509150605c016040516020818303038152906040528051906020012092505050919050565b6123ca612973565b611a9c61360d565b8373ffffffffffffffffffffffffffffffffffffffff811633146123f9576123f933612b15565b61240585858585613666565b5050505050565b60408051608080820183526000808352602080840182905283850182905260608085018390528551938401865282845290830182905293820181905292810183905290915060005483106124605792915050565b61246983613433565b905080604001511561247b5792915050565b612310836134d8565b60606000612491836112ad565b90506123108382600001518360200151611e72565b600061115e60095490565b826124bb816119fd565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461254f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f43616c6c6572206973206e6f7420686f6c6465720000000000000000000000006044820152606401610e26565b828260008260ff16118015612567575060008160ff16115b801561258557508060ff168260ff166003612582919061488c565b10155b80156125a357508160ff168160ff1660036125a0919061488c565b10155b61262e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f41737065637420726174696f206e6f74206265747765656e20333a3120616e6460448201527f20313a33000000000000000000000000000000000000000000000000000000006064820152608401610e26565b60005486101561271757601b6000612647601a89612d05565b8152602001908152602001600020601b600088600161266691906148c3565b815260208101919091526040016000208154815460ff9182167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0082168117845593547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000909116909317610100938490049091169092029190911790556127176126f08760016148c3565b600881901c6000908152601a602052604090208054600160ff9093169290921b9091179055565b60408051808201825260ff8088168252868116602080840191825260008b8152601b909152939093209151825493518216610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00009094169116179190911790556127a8601a87600881901c600090815260209290925260409091208054600160ff9093169290921b9091179055565b6040518681527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce79060200160405180910390a1505050505050565b6127eb612973565b73ffffffffffffffffffffffffffffffffffffffff811661288e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610e26565b611ddd816133bc565b60008054601954146128b85760016128ae60005490565b61115e91906148a3565b5060185490565b6128c7612973565b6040805160a0810182526000808252602080830182905282840182905260608084018390526080938401839052601280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000016905560138390556014839055845193840185528284529083018290529282018190529101819052601580547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001690556016819055601755565b600b5473ffffffffffffffffffffffffffffffffffffffff163314611a9c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610e26565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff0000000000000000000000000000000000000000000000000000000083161480612a8757507f80ac58cd000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b80610bc25750507fffffffff00000000000000000000000000000000000000000000000000000000167f5b5e139f000000000000000000000000000000000000000000000000000000001490565b6000805482108015610bc25750506000908152600460205260409020547c0100000000000000000000000000000000000000000000000000000000161590565b6daaeb6d7670e522a718067333cd4e3b15611ddd576040517fc617113400000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff821660248201526daaeb6d7670e522a718067333cd4e9063c617113490604401602060405180830381865afa158015612ba8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612bcc91906149ef565b611ddd576040517fede71dcc00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82166004820152602401610e26565b6000612c25826119fd565b90503373ffffffffffffffffffffffffffffffffffffffff821614612c8457612c4e81336108cd565b612c84576040517fcfb3b94200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008281526006602052604080822080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff87811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b6000600882901c805b60008112612d8e576000818152602086905260409020548015612d66576000612d4882858514612d3f5760ff6136d0565b8760ff166136d0565b905060008112612d6457600883901b8101945050505050610bc2565b505b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01612d0e565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff949350505050565b612dd28282604051806020016040528060008152506137b0565b5050565b60408051608081018252600080825260208201819052918101829052606081019190915282600081118015612e0d57506009548111155b612e73576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f496e76616c696420736e617073686f74000000000000000000000000000000006044820152606401610e26565b6000848152600860205260409020600101548310612eed576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f496e76616c696420746f6b656e496420666f7220736e617073686f74000000006044820152606401610e26565b612ef7848461383c565b91505b5092915050565b6000612f0c82613305565b90508373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614612f73576040517fa114810000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600082815260066020526040902080543380821473ffffffffffffffffffffffffffffffffffffffff881690911417612fe657612fb086336108cd565b612fe6576040517f59c896be00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8516613033576040517fea553b3400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61304086868660016139e8565b801561304b57600082555b73ffffffffffffffffffffffffffffffffffffffff86811660009081526005602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019055918716808252919020805460010190554260a01b177c0200000000000000000000000000000000000000000000000000000000176000858152600460205260408120919091557c02000000000000000000000000000000000000000000000000000000008416900361313a576001840160008181526004602052604081205490036131385760005481146131385760008181526004602052604090208490555b505b838573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a46118ee565b610d46838383604051806020016040528060008152506123d2565b604080516080810182526000808252602082018190529181018290526060810182905290548210613242576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f496e76616c696420746f6b656e496400000000000000000000000000000000006044820152606401610e26565b610bc260008361383c565b60408051808201909152600080825260208201528160008111801561327457506009548111155b6132da576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f496e76616c696420736e617073686f74000000000000000000000000000000006044820152606401610e26565b5050600090815260086020908152604091829020825180840190935280548352600101549082015290565b60008160005481101561338a57600081815260046020526040812054907c010000000000000000000000000000000000000000000000000000000082169003613388575b8060000361231057507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01600081815260046020526040902054613349565b505b6040517fdf2d9b4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600b805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b604080516080810182526000808252602082018190529181018290526060810191909152600082815260046020526040902054610bc2906040805160808101825273ffffffffffffffffffffffffffffffffffffffff8316815260a083901c67ffffffffffffffff1660208201527c0100000000000000000000000000000000000000000000000000000000831615159181019190915260e89190911c606082015290565b604080516080810182526000808252602082018190529181018290526060810191909152610bc261350883613305565b6040805160808101825273ffffffffffffffffffffffffffffffffffffffff8316815260a083901c67ffffffffffffffff1660208201527c0100000000000000000000000000000000000000000000000000000000831615159181019190915260e89190911c606082015290565b33600081815260076020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b60016009600082825461362091906148c3565b92505081905550604051806040016040528042815260200161364160005490565b9052600954600090815260086020908152604090912082518155910151600190910155565b6136718484846111e4565b73ffffffffffffffffffffffffffffffffffffffff83163b156112165761369a84848484613b71565b611216576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b60008212613788577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600483811d901b0161ffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff084161b841660000361373c57809250613782565b80831315613782576001831b8416156137585782915050610bc2565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9092019161373c565b506136d3565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff92915050565b6137ba8383613cea565b73ffffffffffffffffffffffffffffffffffffffff83163b15610d46576000548281035b6137f16000868380600101945086613b71565b613827576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8181106137de57816000541461240557600080fd5b604080516080810182526000808252602082018190529181018290526060810191909152825b60095481116139bc576000818152600a6020908152604080832086845290915290205473ffffffffffffffffffffffffffffffffffffffff161515806138e157506000818152600a602090815260408083208684529091529020547c0100000000000000000000000000000000000000000000000000000000900460ff165b156139aa576000908152600a602090815260408083208584528252918290208251608081018452905473ffffffffffffffffffffffffffffffffffffffff8116825274010000000000000000000000000000000000000000810467ffffffffffffffff16928201929092527c0100000000000000000000000000000000000000000000000000000000820460ff161515928101929092527d010000000000000000000000000000000000000000000000000000000000900462ffffff1660608201529050610bc2565b806139b481614905565b915050613862565b506139c682613433565b60400151156139df576139d882613433565b9050610bc2565b612310826134d8565b73ffffffffffffffffffffffffffffffffffffffff841615611216576009546000908152600a6020908152604080832085845290915290205473ffffffffffffffffffffffffffffffffffffffff1661121657613a44826134d8565b6009546000908152600a6020908152604080832086845282529182902083518154928501519385015160609095015162ffffff167d010000000000000000000000000000000000000000000000000000000000027cffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9515157c010000000000000000000000000000000000000000000000000000000002959095167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff67ffffffffffffffff90951674010000000000000000000000000000000000000000027fffffffff0000000000000000000000000000000000000000000000000000000090941673ffffffffffffffffffffffffffffffffffffffff9092169190911792909217929092161791909117905550505050565b6040517f150b7a0200000000000000000000000000000000000000000000000000000000815260009073ffffffffffffffffffffffffffffffffffffffff85169063150b7a0290613bcc903390899088908890600401614a0c565b6020604051808303816000875af1925050508015613c25575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252613c2291810190614a4b565b60015b613c9c573d808015613c53576040519150601f19603f3d011682016040523d82523d6000602084013e613c58565b606091505b508051600003613c94576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a0200000000000000000000000000000000000000000000000000000000149050949350505050565b6000805490829003613d28576040517fb562e8dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b613d3560008483856139e8565b73ffffffffffffffffffffffffffffffffffffffff831660008181526005602090815260408083208054680100000000000000018802019055848352600490915281206001851460e11b4260a01b178317905582840190839083907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a4600183015b818114613df157808360007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600080a4600101613db9565b5081600003613e2c576040517f2e07630000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005550505050565b8015158114611ddd57600080fd5b600080600080600060a08688031215613e5b57600080fd5b8535613e6681613e35565b94506020860135613e7681613e35565b93506040860135613e8681613e35565b94979396509394606081013594506080013592915050565b7fffffffff0000000000000000000000000000000000000000000000000000000081168114611ddd57600080fd5b600060208284031215613ede57600080fd5b813561231081613e9e565b803573ffffffffffffffffffffffffffffffffffffffff81168114613f0d57600080fd5b919050565b803561ffff81168114613f0d57600080fd5b60008060408385031215613f3757600080fd5b613f4083613ee9565b9150613f4e60208401613f12565b90509250929050565b60005b83811015613f72578181015183820152602001613f5a565b50506000910152565b60008151808452613f93816020860160208601613f57565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006123106020830184613f7b565b600060208284031215613fea57600080fd5b5035919050565b6000806040838503121561400457600080fd5b61400d83613ee9565b946020939093013593505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040805190810167ffffffffffffffff8111828210171561406d5761406d61401b565b60405290565b60405160a0810167ffffffffffffffff8111828210171561406d5761406d61401b565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156140dd576140dd61401b565b604052919050565b600082601f8301126140f657600080fd5b8135602067ffffffffffffffff8211156141125761411261401b565b614120818360051b01614096565b82815260069290921b8401810191818101908684111561413f57600080fd5b8286015b8481101561418c576040818903121561415c5760008081fd5b61416461404a565b61416d82613ee9565b815261417a858301613f12565b81860152835291830191604001614143565b509695505050505050565b803560ff81168114613f0d57600080fd5b6000806000606084860312156141bd57600080fd5b833567ffffffffffffffff8111156141d457600080fd5b6141e0868287016140e5565b9350506141ef60208501614197565b91506141fd60408501614197565b90509250925092565b6000806040838503121561421957600080fd5b50508035926020909101359150565b6000806040838503121561423b57600080fd5b61424483613ee9565b9150602083013561425481613e35565b809150509250929050565b60008060006060848603121561427457600080fd5b61427d84613ee9565b925061428b60208501613ee9565b9150604084013590509250925092565b6000806000808486036101008112156142b357600080fd5b60a08112156142c157600080fd5b506142ca614073565b85356142d581613e35565b815260208601356142e581613e35565b602082015260408601356142f881613e35565b60408201526060868101359082015260808087013590820152935060a085013567ffffffffffffffff81111561432d57600080fd5b614339878288016140e5565b93505061434860c08601613ee9565b915061435660e08601613ee9565b905092959194509250565b6000806020838503121561437457600080fd5b823567ffffffffffffffff8082111561438c57600080fd5b818501915085601f8301126143a057600080fd5b8135818111156143af57600080fd5b8660208260051b85010111156143c457600080fd5b60209290920196919550909350505050565b6020808252825182820181905260009190848201906040850190845b81811015611d9d5761444d83855173ffffffffffffffffffffffffffffffffffffffff815116825267ffffffffffffffff602082015116602083015260408101511515604083015262ffffff60608201511660608301525050565b92840192608092909201916001016143f2565b60006020828403121561447257600080fd5b61231082613ee9565b60a08101610bc2828480511515825260208101511515602083015260408101511515604083015260608101516060830152608081015160808301525050565b600080604083850312156144cd57600080fd5b6144d683614197565b9150613f4e60208401614197565b6020808252825182820181905260009190848201906040850190845b81811015611d9d57835183529284019291840191600101614500565b60008060006060848603121561453157600080fd5b833592506141ef60208501614197565b600080600080600080600080610100898b03121561455e57600080fd5b883561456981613e35565b9750602089013561457981613e35565b9650604089013561458981613e35565b9550606089013594506080890135935060a08901356145a781613e35565b979a969950949793969295929450505060c08201359160e0013590565b6000806000606084860312156145d957600080fd5b6145e284613ee9565b95602085013595506040909401359392505050565b600067ffffffffffffffff8211156146115761461161401b565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b6000806000806080858703121561465357600080fd5b61465c85613ee9565b935061466a60208601613ee9565b925060408501359150606085013567ffffffffffffffff81111561468d57600080fd5b8501601f8101871361469e57600080fd5b80356146b16146ac826145f7565b614096565b8181528860208385010111156146c657600080fd5b8160208401602083013760006020838301015280935050505092959194509250565b815173ffffffffffffffffffffffffffffffffffffffff16815260208083015167ffffffffffffffff169082015260408083015115159082015260608083015162ffffff169082015260808101610bc2565b6000806040838503121561474d57600080fd5b61475683613ee9565b9150613f4e60208401613ee9565b6101c081016147a4828680511515825260208101511515602083015260408101511515604083015260608101516060830152608081015160808301525050565b8351151560a08301526020840151151560c08301526040840151151560e0830152606084015161010083015260808401516101208301528251151561014083015260208301511515610160830152604083015161018083015260608301516101a0830152949350505050565b600181811c9082168061482457607f821691505b602082108103611374577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8082028115828204841417610bc257610bc261485d565b8181036000831280158383131683831282161715612efa57612efa61485d565b80820180821115610bc257610bc261485d565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036149365761493661485d565b5060010190565b600082614973577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b60006020828403121561498a57600080fd5b815167ffffffffffffffff8111156149a157600080fd5b8201601f810184136149b257600080fd5b80516149c06146ac826145f7565b8181528560208385010111156149d557600080fd5b6149e6826020830160208601613f57565b95945050505050565b600060208284031215614a0157600080fd5b815161231081613e35565b600073ffffffffffffffffffffffffffffffffffffffff8087168352808616602084015250836040830152608060608301526120376080830184613f7b565b600060208284031215614a5d57600080fd5b815161231081613e9e56fea26469706673582212206982320b4e867dd9422760e2b6053330236b44d3c3d727224baa541824bd8d4f64736f6c6343000811003300000000000000000000000015afab0d6f995f4bfe347af8119374351cae9e4725a0aef7c3ee6f4ac772ad4f192bfbbf766301cbf04c2b922afd5a2ba614b745d207a0567ec3a3f5dc87e28b6279404126af15df766feaa1e8e0a89807242a31d8cb7c