60806040523480156200001157600080fd5b506040516200571b3803806200571b83398101604081905262000034916200077f565b8483838160000151826020015181600390805190602001906200005992919062000393565b5080516200006f90600490602084019062000393565b5050600580546001600160a01b0319163317905550600160065562000098565b60405180910390fd5b60a082015167016345785d8a00001015620000c75760405162461bcd60e51b81526004016200008f90620009eb565b81604001515182606001515114620000f35760405162461bcd60e51b81526004016200008f906200096d565b816040015151826080015151146200011f5760405162461bcd60e51b81526004016200008f9062000936565b60028260400151511015620001485760405162461bcd60e51b81526004016200008f90620009a4565b60088260400151511115620001715760405162461bcd60e51b81526004016200008f9062000a22565b60408083015190516377d4434960e01b815273b3d4a726acbc46f26fe8a5bfcddc396baf29c968916377d4434991620001ae9190600401620008e7565b60006040518083038186803b158015620001c757600080fd5b505af4158015620001dc573d6000803e3d6000fd5b5050600780546001600160a01b0319166001600160a01b03871617905550508051600980546020808501516040808701516060880151608089015160a08a015160ff199097169815159890981761ff001916610100941515949094029390931762ff0000191662010000911515919091021763ff00000019166301000000921515929092029190911760ff60201b1916640100000000951515959095029490941760ff60281b1916650100000000009215159290920291909117909155908301518051620002af92601392019062000418565b5060608201518051620002cb916014916020909101906200047e565b5060a082015160125562015f906015556101f460165560808201518051620002fc91600c916020909101906200047e565b50506000600a55505060001960185560408201516200032f5760405162461bcd60e51b81526004016200008f90620009d0565b8051601a80546001600160a01b03199081166001600160a01b03938416179091556020830151601b80548316918416919091179055604090920151601c80548416918316919091179055601980549092169416939093179092555062000ab2915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620003d657805160ff191683800117855562000406565b8280016001018555821562000406579182015b8281111562000406578251825591602001919060010190620003e9565b5062000414929150620004bb565b5090565b82805482825590600052602060002090810192821562000470579160200282015b828111156200047057825182546001600160a01b0319166001600160a01b0390911617825560209092019160019091019062000439565b5062000414929150620004d2565b82805482825590600052602060002090810192821562000406579160200282018281111562000406578251825591602001919060010190620003e9565b5b80821115620004145760008155600101620004bc565b5b80821115620004145780546001600160a01b0319168155600101620004d3565b80516001600160a01b03811681146200050b57600080fd5b92915050565b600082601f83011262000522578081fd5b815162000539620005338262000a80565b62000a59565b8181529150602080830190848101818402860182018710156200055b57600080fd5b60005b848110156200058657620005738883620004f3565b845292820192908201906001016200055e565b505050505092915050565b600082601f830112620005a2578081fd5b8151620005b3620005338262000a80565b818152915060208083019084810181840286018201871015620005d557600080fd5b60005b848110156200058657815184529282019290820190600101620005d8565b600082601f83011262000607578081fd5b81516001600160401b038111156200061d578182fd5b602062000633601f8301601f1916820162000a59565b925081835284818386010111156200064a57600080fd5b60005b828110156200066a5784810182015184820183015281016200064d565b828111156200067c5760008284860101525b50505092915050565b600060c0828403121562000697578081fd5b620006a360c062000a59565b90508151620006b28162000aa0565b81526020820151620006c48162000aa0565b60208201526040820151620006d98162000aa0565b60408201526060820151620006ee8162000aa0565b60608201526080820151620007038162000aa0565b608082015260a0820151620007188162000aa0565b60a082015292915050565b60006060828403121562000735578081fd5b62000741606062000a59565b90506200074f8383620004f3565b8152620007608360208401620004f3565b6020820152620007748360408401620004f3565b604082015292915050565b6000806000806000610180868803121562000798578081fd5b620007a48787620004f3565b9450620007b58760208801620004f3565b60408701519094506001600160401b0380821115620007d2578283fd5b9087019060c0828a031215620007e6578283fd5b620007f260c062000a59565b82518281111562000801578485fd5b6200080f8b828601620005f6565b82525060208301518281111562000824578485fd5b620008328b828601620005f6565b6020830152506040830151828111156200084a578485fd5b620008588b82860162000511565b60408301525060608301518281111562000870578485fd5b6200087e8b82860162000591565b60608301525060808301518281111562000896578485fd5b620008a48b82860162000591565b60808301525060a083015160a0820152809550505050620008c9876060880162000685565b9150620008db87610120880162000723565b90509295509295909350565b6020808252825182820181905260009190848201906040850190845b818110156200092a5783516001600160a01b03168352928401929184019160010162000903565b50909695505050505050565b6020808252601a908201527f4552525f53544152545f574549474854535f4d49534d41544348000000000000604082015260600190565b6020808252601b908201527f4552525f53544152545f42414c414e4345535f4d49534d415443480000000000604082015260600190565b6020808252601290820152714552525f544f4f5f4645575f544f4b454e5360701b604082015260600190565b6020808252600190820152603160f81b604082015260600190565b60208082526014908201527f4552525f494e56414c49445f535741505f464545000000000000000000000000604082015260600190565b60208082526013908201527f4552525f544f4f5f4d414e595f544f4b454e5300000000000000000000000000604082015260600190565b6040518181016001600160401b038111828210171562000a7857600080fd5b604052919050565b60006001600160401b0382111562000a96578081fd5b5060209081020190565b801515811462000aaf57600080fd5b50565b614c598062000ac26000396000f3fe608060405234801561001057600080fd5b50600436106102f85760003560e01c806370a0823111610193578063b02f0b73116100e4578063dd62ed3e11610092578063dd62ed3e14610647578063e211b8751461065a578063e2762d4b14610662578063e7f1a55414610675578063e854f53d1461067d578063f226b52814610685578063fde924f71461068d576102f8565b8063b02f0b73146105d2578063b64ef17b146105e5578063c275d81b146105ed578063c3391d27146105f5578063c42bd05a14610608578063c83a1c2d14610621578063d73dd62314610634576102f8565b80639776e94b116101415780639776e94b14610577578063980e8db6146105855780639a82417e1461059f5780639d829c2b146105a7578063a3f4df7e146105af578063a835a0de146105b7578063a9059cbb146105bf576102f8565b806370a082311461050857806374983a0d1461051b578063806c6f87146105235780638259e6a01461053657806392eefe9b14610549578063948d8ce61461055c57806395d89b411461056f576102f8565b806337c6f4d91161024d57806355c32a23116101fb57806355c32a231461048b5780635a8342d81461049e5780635db34277146104b45780635fa7b584146104c757806361ddc4c2146104da57806366188463146104e25780636d06dfa0146104f5576102f8565b806337c6f4d91461040657806346ab38f11461041957806347786d371461042c57806349b595521461043f5780634ba57882146104525780634c20d209146104655780634f69c0d414610478576102f8565b8063220eb760116102aa578063220eb7601461039557806323b872dd146103a8578063246bc19b146103bb5780632e0f2625146103ce5780633018205f146103e3578063313ce567146103eb57806334e19907146103f3576102f8565b806302c96748146102fd57806306fdde0314610326578063095dcccc1461033b578063095ea7b3146103505780630a165940146103705780630ce279251461038557806318160ddd1461038d575b600080fd5b61031061030b366004614048565b610695565b60405161031d9190614b16565b60405180910390f35b61032e61084a565b60405161031d919061455a565b61034e61034936600461401d565b6108e0565b005b61036361035e36600461401d565b61090d565b60405161031d91906143e3565b610378610966565b60405161031d9190614329565b610310610975565b61031061097b565b61034e6103a336600461420f565b610981565b6103636103b6366004613fdd565b6109ac565b61034e6103c9366004614114565b610ada565b6103d6610b7e565b60405161031d9190614b2d565b610378610b83565b6103d6610b92565b61034e61040136600461420f565b610b97565b6103636104143660046141f0565b610cdc565b610310610427366004614048565b610d71565b61034e61043a36600461420f565b610f0d565b61034e61044d36600461419c565b611039565b61034e61046036600461420f565b61113f565b61034e610473366004614048565b611167565b61034e61048636600461423f565b611388565b61034e61049936600461401d565b611777565b6104a66117a0565b60405161031d929190614b1f565b6103106104c2366004614048565b6117a9565b61034e6104d5366004613f89565b61195c565b61034e611af7565b6103636104f036600461401d565b611be0565b610310610503366004614048565b611cba565b610310610516366004613f89565b611e6d565b610378611e88565b610363610531366004613f89565b611ea0565b61034e61054436600461420f565b611ee9565b61034e610557366004613f89565b611f86565b61031061056a366004613f89565b612032565b61032e6120ff565b61034e6103c936600461401d565b61058d612160565b60405161031d969594939291906143ee565b610378612199565b6103786121b1565b61032e6121c9565b6103106121f8565b6103636105cd36600461401d565b6121fe565b61034e6105e036600461423f565b61223a565b6103786125bc565b61034e6125cb565b61034e6106033660046142f8565b610b66565b61061061272a565b60405161031d95949392919061437b565b61034e61062f366004613f89565b612751565b61036361064236600461401d565b612844565b610310610655366004613fa5565b6128b8565b61034e6128e3565b61034e610670366004613f89565b612945565b610310612a6c565b610310612a72565b610310612a78565b610363612a7f565b60405160009033906001600160e01b0319833516906106b7908490369061441e565b60405180910390a2600260065414156106eb5760405162461bcd60e51b81526004016106e2906147fc565b60405180910390fd5b60026006556008546001600160a01b03166107185760405162461bcd60e51b81526004016106e29061477e565b60085460405163724a2d5360e01b8152600091829173b3d4a726acbc46f26fe8a5bfcddc396baf29c9689163724a2d53916107699130916001600160a01b03909116908b908b908b906004016144a1565b604080518083038186803b15801561078057600080fd5b505af4158015610794573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107b89190614288565b9150915080925060006107cb8484612b57565b9050866001600160a01b0316336001600160a01b0316600080516020614ba4833981519152886040516107fe9190614b16565b60405180910390a36108103385611796565b610819816109a0565b60075461082f906001600160a01b0316846108ff565b61083a873388612b90565b5050505b60016006559392505050565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156108d65780601f106108ab576101008083540402835291602001916108d6565b820191906000526020600020905b8154815290600101906020018083116108b957829003601f168201915b5050505050905090565b3330146108ff5760405162461bcd60e51b81526004016106e2906145ad565b6109098282612dd9565b5050565b3360008181526002602090815260408083206001600160a01b03871680855292528083208590555191929091600080516020614be483398151915290610954908690614b16565b60405180910390a35060015b92915050565b6007546001600160a01b031681565b60185481565b60005490565b3330146109a05760405162461bcd60e51b81526004016106e2906145ad565b6109a981612de4565b50565b60006001600160a01b0383166109d45760405162461bcd60e51b81526004016106e2906146bb565b336001600160a01b0385161480610a0e57506001600160a01b03841660009081526002602090815260408083203384529091529020548211155b610a2a5760405162461bcd60e51b81526004016106e290614945565b610a35848484612e4c565b6001600160a01b0384166000818152600260209081526040808320338085529252909120549114801590610a6b57506000198114155b15610acd57610a7a8184612b57565b6001600160a01b038681166000908152600260209081526040808320338085529252918290208490559051918716929091600080516020614be483398151915291610ac491614b16565b60405180910390a35b60019150505b9392505050565b336001600160a01b03166000356001600160e01b0319166001600160e01b031916600036604051610b0c92919061441e565b60405180910390a26005546001600160a01b03163314610b3e5760405162461bcd60e51b81526004016106e2906145ad565b6008546001600160a01b0316610b665760405162461bcd60e51b81526004016106e29061477e565b60405162461bcd60e51b81526004016106e290614610565b601281565b6005546001600160a01b031690565b601290565b336001600160a01b03166000356001600160e01b0319166001600160e01b031916600036604051610bc992919061441e565b60405180910390a260026006541415610bf45760405162461bcd60e51b81526004016106e2906147fc565b60026006556005546001600160a01b03163314610c235760405162461bcd60e51b81526004016106e2906145ad565b6008546001600160a01b0316610c4b5760405162461bcd60e51b81526004016106e29061477e565b600954610100900460ff16610c725760405162461bcd60e51b81526004016106e290614643565b6008546040516334e1990760e01b81526001600160a01b03909116906334e1990790610ca2908490600401614b16565b600060405180830381600087803b158015610cbc57600080fd5b505af1158015610cd0573d6000803e3d6000fd5b50506001600655505050565b6040516322c1aa2560e11b815260009073d0ce353bda2d276e1e2b515bfa4f0878f56c6f7990634583544a90610d19906009908690600401614a90565b60206040518083038186803b158015610d3157600080fd5b505af4158015610d45573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d6991906141b8565b90505b919050565b60405160009033906001600160e01b031983351690610d93908490369061441e565b60405180910390a260026006541415610dbe5760405162461bcd60e51b81526004016106e2906147fc565b60026006556008546001600160a01b0316610deb5760405162461bcd60e51b81526004016106e29061477e565b600854604051636a82d4a760e11b8152600091829173b3d4a726acbc46f26fe8a5bfcddc396baf29c9689163d505a94e91610e3c9130916001600160a01b03909116908b908b908b906004016144a1565b604080518083038186803b158015610e5357600080fd5b505af4158015610e67573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e8b9190614288565b915091508092506000610e9e8684612b57565b9050866001600160a01b0316336001600160a01b0316600080516020614ba483398151915286604051610ed19190614b16565b60405180910390a3610ee33387611796565b610eec816109a0565b600754610f02906001600160a01b0316846108ff565b61083a873386612b90565b336001600160a01b03166000356001600160e01b0319166001600160e01b031916600036604051610f3f92919061441e565b60405180910390a260026006541415610f6a5760405162461bcd60e51b81526004016106e2906147fc565b60026006556008546001600160a01b0316610f975760405162461bcd60e51b81526004016106e29061477e565b6005546001600160a01b03163314610fc15760405162461bcd60e51b81526004016106e2906145ad565b600954600160281b900460ff16610fea5760405162461bcd60e51b81526004016106e2906148b9565b336001600160a01b03167f6bc200110c7794738d401810b22ef824a2044a8ccb022d4ad8769840370331f560185483604051611027929190614b1f565b60405180910390a26018556001600655565b336001600160a01b03166000356001600160e01b0319166001600160e01b03191660003660405161106b92919061441e565b60405180910390a2600260065414156110965760405162461bcd60e51b81526004016106e2906147fc565b60026006556005546001600160a01b031633146110c55760405162461bcd60e51b81526004016106e2906145ad565b6008546001600160a01b03166110ed5760405162461bcd60e51b81526004016106e29061477e565b60095460ff1661110f5760405162461bcd60e51b81526004016106e2906149d5565b6008546040516324dacaa960e11b81526001600160a01b03909116906349b5955290610ca29084906004016143e3565b33301461115e5760405162461bcd60e51b81526004016106e2906145ad565b6109a981612eeb565b336001600160a01b03166000356001600160e01b0319166001600160e01b03191660003660405161119992919061441e565b60405180910390a2600260065414156111c45760405162461bcd60e51b81526004016106e2906147fc565b60026006556005546001600160a01b031633146111f35760405162461bcd60e51b81526004016106e2906145ad565b6008546001600160a01b031661121b5760405162461bcd60e51b81526004016106e29061477e565b6009546301000000900460ff166112445760405162461bcd60e51b81526004016106e2906145d9565b600a54156112645760405162461bcd60e51b81526004016106e290614a59565b604051630e0d789b60e11b815273b3d4a726acbc46f26fe8a5bfcddc396baf29c96890631c1af1369061129b908690600401614329565b60006040518083038186803b1580156112b357600080fd5b505af41580156112c7573d6000803e3d6000fd5b50506040513392503091506001600160a01b038616907f33b043686b9408a355896fe90b2f8ecc86a41d87d1554ef65a739948b4f23e2790600090a460085460405163b489ec1960e01b815273b3d4a726acbc46f26fe8a5bfcddc396baf29c9689163b489ec199161134e916001600160a01b031690879087908790600e9060040161444d565b60006040518083038186803b15801561136657600080fd5b505af415801561137a573d6000803e3d6000fd5b505060016006555050505050565b336001600160a01b03166000356001600160e01b0319166001600160e01b0319166000366040516113ba92919061441e565b60405180910390a2600260065414156113e55760405162461bcd60e51b81526004016106e2906147fc565b60026006556008546001600160a01b03166114125760405162461bcd60e51b81526004016106e29061477e565b6008546040805163fde924f760e01b815290516000926001600160a01b03169163fde924f7916004808301926020929190829003018186803b15801561145757600080fd5b505afa15801561146b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061148f91906141b8565b6008546040516324dacaa960e11b81529192506001600160a01b0316906349b59552906114c1906000906004016143e3565b600060405180830381600087803b1580156114db57600080fd5b505af11580156114ef573d6000803e3d6000fd5b5050600954600160201b900460ff1615915081905061151d57503360009081526017602052604090205460ff165b6115395760405162461bcd60e51b81526004016106e290614660565b60085460405163a1925f1d60e01b815260609173b3d4a726acbc46f26fe8a5bfcddc396baf29c9689163a1925f1d916115869130916001600160a01b0316908a908a908a906004016144d5565b60006040518083038186803b15801561159e57600080fd5b505af41580156115b2573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526115da9190810190614162565b90506060600860009054906101000a90046001600160a01b03166001600160a01b031663cc77828d6040518163ffffffff1660e01b815260040160006040518083038186803b15801561162c57600080fd5b505afa158015611640573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611668919081019061407c565b905060005b81518110156116f457600082828151811061168457fe5b60200260200101519050600084838151811061169c57fe5b60200260200101519050816001600160a01b0316336001600160a01b0316600080516020614c04833981519152836040516116d79190614b16565b60405180910390a36116ea823383612f18565b505060010161166d565b506116fe8661115e565b61170833876108ff565b50506008546040516324dacaa960e11b81526001600160a01b03909116906349b595529061173a9084906004016143e3565b600060405180830381600087803b15801561175457600080fd5b505af1158015611768573d6000803e3d6000fd5b50506001600655505050505050565b3330146117965760405162461bcd60e51b81526004016106e2906145ad565b6109098282613161565b600a54600b5482565b60405160009033906001600160e01b0319833516906117cb908490369061441e565b60405180910390a2600260065414156117f65760405162461bcd60e51b81526004016106e2906147fc565b60026006556008546001600160a01b03166118235760405162461bcd60e51b81526004016106e29061477e565b600954600160201b900460ff16158061184b57503360009081526017602052604090205460ff165b6118675760405162461bcd60e51b81526004016106e290614660565b60085460405163df90de0b60e01b815273b3d4a726acbc46f26fe8a5bfcddc396baf29c9689163df90de0b916118b39130916001600160a01b03909116908990899089906004016144a1565b60206040518083038186803b1580156118cb57600080fd5b505af41580156118df573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119039190614227565b9050836001600160a01b0316336001600160a01b0316600080516020614c04833981519152856040516119369190614b16565b60405180910390a36119478161115e565b61195133826108ff565b61083e843385612f18565b336001600160a01b03166000356001600160e01b0319166001600160e01b03191660003660405161198e92919061441e565b60405180910390a2600260065414156119b95760405162461bcd60e51b81526004016106e2906147fc565b60026006556005546001600160a01b031633146119e85760405162461bcd60e51b81526004016106e2906145ad565b6008546001600160a01b0316611a105760405162461bcd60e51b81526004016106e29061477e565b6009546301000000900460ff16611a395760405162461bcd60e51b81526004016106e2906145d9565b600e54600160a01b900460ff1615611a635760405162461bcd60e51b81526004016106e290614975565b600a5415611a835760405162461bcd60e51b81526004016106e290614a59565b600854604051630970e47f60e01b815273b3d4a726acbc46f26fe8a5bfcddc396baf29c96891630970e47f91611acb9130916001600160a01b0390911690869060040161447e565b60006040518083038186803b158015611ae357600080fd5b505af4158015610cd0573d6000803e3d6000fd5b336001600160a01b03166000356001600160e01b0319166001600160e01b031916600036604051611b2992919061441e565b60405180910390a260026006541415611b545760405162461bcd60e51b81526004016106e2906147fc565b60026006556008546001600160a01b0316611b815760405162461bcd60e51b81526004016106e29061477e565b6019546001600160a01b03163314611b9857600080fd5b60085460408051606081018252601a546001600160a01b039081168252601b5481166020830152601c54811692820192909252611bd992919091169061316c565b6001600655565b3360009081526002602090815260408083206001600160a01b0386168452909152812054808310611c34573360009081526002602090815260408083206001600160a01b0388168452909152812055611c63565b611c3e8184612b57565b3360009081526002602090815260408083206001600160a01b03891684529091529020555b3360008181526002602090815260408083206001600160a01b038916808552925291829020549151909291600080516020614be483398151915291611ca89190614b16565b60405180910390a35060019392505050565b60405160009033906001600160e01b031983351690611cdc908490369061441e565b60405180910390a260026006541415611d075760405162461bcd60e51b81526004016106e2906147fc565b60026006556008546001600160a01b0316611d345760405162461bcd60e51b81526004016106e29061477e565b600954600160201b900460ff161580611d5c57503360009081526017602052604090205460ff165b611d785760405162461bcd60e51b81526004016106e290614660565b600854604051636a6dc6e760e01b815273b3d4a726acbc46f26fe8a5bfcddc396baf29c96891636a6dc6e791611dc49130916001600160a01b03909116908990899089906004016144a1565b60206040518083038186803b158015611ddc57600080fd5b505af4158015611df0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e149190614227565b9050836001600160a01b0316336001600160a01b0316600080516020614c0483398151915283604051611e479190614b16565b60405180910390a3611e588361115e565b611e6233846108ff565b61083e843383612f18565b6001600160a01b031660009081526001602052604090205490565b73d0ce353bda2d276e1e2b515bfa4f0878f56c6f7990565b600954600090600160201b900460ff1615611ed757506001600160a01b03811660009081526017602052604090205460ff16610d6c565b506001600160a01b0381161515610d6c565b6005546001600160a01b03163314611f135760405162461bcd60e51b81526004016106e2906145ad565b336001600160a01b03166000356001600160e01b0319166001600160e01b031916600036604051611f4592919061441e565b60405180910390a260026006541415611f705760405162461bcd60e51b81526004016106e2906147fc565b6002600655611f7e816133be565b506001600655565b6005546001600160a01b03163314611fb05760405162461bcd60e51b81526004016106e2906145ad565b6001600160a01b038116611fd65760405162461bcd60e51b81526004016106e2906146bb565b6005546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600580546001600160a01b0319166001600160a01b0392909216919091179055565b6000600260065414156120575760405162461bcd60e51b81526004016106e290614821565b6008546001600160a01b031661207f5760405162461bcd60e51b81526004016106e29061477e565b600854604051634a46c67360e11b81526001600160a01b039091169063948d8ce6906120af908590600401614329565b60206040518083038186803b1580156120c757600080fd5b505afa1580156120db573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d699190614227565b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156108d65780601f106108ab576101008083540402835291602001916108d6565b60095460ff80821691610100810482169162010000820481169163010000008104821691600160201b8204811691600160281b90041686565b73c047461c31f86be1d00a76a4df2a43e781767bed90565b73b3d4a726acbc46f26fe8a5bfcddc396baf29c96890565b6040518060400160405280601381526020017210985b185b98d95c8814db585c9d08141bdbdb606a1b81525081565b6101f481565b60006001600160a01b0383166122265760405162461bcd60e51b81526004016106e2906146bb565b612231338484612e4c565b50600192915050565b336001600160a01b03166000356001600160e01b0319166001600160e01b03191660003660405161226c92919061441e565b60405180910390a2600260065414156122975760405162461bcd60e51b81526004016106e2906147fc565b60026006556008546001600160a01b03166122c45760405162461bcd60e51b81526004016106e29061477e565b6008546040805163fde924f760e01b815290516000926001600160a01b03169163fde924f7916004808301926020929190829003018186803b15801561230957600080fd5b505afa15801561231d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061234191906141b8565b6008546040516324dacaa960e11b81529192506001600160a01b0316906349b5955290612373906000906004016143e3565b600060405180830381600087803b15801561238d57600080fd5b505af11580156123a1573d6000803e3d6000fd5b505060085460405163151c70f960e21b81526000935083925060609173b3d4a726acbc46f26fe8a5bfcddc396baf29c96891635471c3e4916123f79130916001600160a01b0316908c908c908c906004016144d5565b60006040518083038186803b15801561240f57600080fd5b505af4158015612423573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261244b91908101906142ab565b92509250925061245b3388611796565b600754612471906001600160a01b0316846108ff565b61247a826109a0565b6008546040805163cc77828d60e01b815290516060926001600160a01b03169163cc77828d916004808301926000929190829003018186803b1580156124bf57600080fd5b505afa1580156124d3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526124fb919081019061407c565b905060005b815181101561258757600082828151811061251757fe5b60200260200101519050600084838151811061252f57fe5b60200260200101519050816001600160a01b0316336001600160a01b0316600080516020614ba48339815191528360405161256a9190614b16565b60405180910390a361257d823383612b90565b5050600101612500565b50506008546040516324dacaa960e11b81526001600160a01b0390911693506349b59552925061173a915084906004016143e3565b6008546001600160a01b031681565b336001600160a01b03166000356001600160e01b0319166001600160e01b0319166000366040516125fd92919061441e565b60405180910390a2600260065414156126285760405162461bcd60e51b81526004016106e2906147fc565b60026006556005546001600160a01b031633146126575760405162461bcd60e51b81526004016106e2906145ad565b6008546001600160a01b031661267f5760405162461bcd60e51b81526004016106e29061477e565b6009546301000000900460ff166126a85760405162461bcd60e51b81526004016106e2906145d9565b600854601654604051633be961dd60e21b815273b3d4a726acbc46f26fe8a5bfcddc396baf29c9689263efa58774926126f39230926001600160a01b03169190600e90600401614531565b60006040518083038186803b15801561270b57600080fd5b505af415801561271f573d6000803e3d6000fd5b505060016006555050565b600e54600f546010546011546001600160a01b03841693600160a01b900460ff1692919085565b6005546001600160a01b0316331461277b5760405162461bcd60e51b81526004016106e2906145ad565b6002600654141561279e5760405162461bcd60e51b81526004016106e2906147fc565b60026006556040513390600080356001600160e01b031916916127c39190369061441e565b60405180910390a2600954600160201b900460ff166127f45760405162461bcd60e51b81526004016106e2906146e5565b6001600160a01b03811661281a5760405162461bcd60e51b81526004016106e29061488c565b6001600160a01b03166000908152601760205260409020805460ff19166001908117909155600655565b3360009081526002602090815260408083206001600160a01b03861684529091528120546128729083613868565b3360008181526002602090815260408083206001600160a01b03891680855292529182902084905590519092600080516020614be4833981519152916109549190614b16565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b336001600160a01b03166000356001600160e01b0319166001600160e01b03191660003660405161291592919061441e565b60405180910390a26008546001600160a01b0316610b665760405162461bcd60e51b81526004016106e29061477e565b6005546001600160a01b0316331461296f5760405162461bcd60e51b81526004016106e2906145ad565b600260065414156129925760405162461bcd60e51b81526004016106e2906147fc565b60026006556040513390600080356001600160e01b031916916129b79190369061441e565b60405180910390a2600954600160201b900460ff166129e85760405162461bcd60e51b81526004016106e2906146e5565b6001600160a01b03811660009081526017602052604090205460ff16612a205760405162461bcd60e51b81526004016106e29061474e565b6001600160a01b038116612a465760405162461bcd60e51b81526004016106e29061488c565b6001600160a01b03166000908152601760205260409020805460ff191690556001600655565b60165481565b60155481565b62015f9081565b600060026006541415612aa45760405162461bcd60e51b81526004016106e290614821565b6008546001600160a01b0316612acc5760405162461bcd60e51b81526004016106e29061477e565b600860009054906101000a90046001600160a01b03166001600160a01b031663fde924f76040518163ffffffff1660e01b815260040160206040518083038186803b158015612b1a57600080fd5b505afa158015612b2e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b5291906141b8565b905090565b6000806000612b66858561388d565b915091508015612b885760405162461bcd60e51b81526004016106e290614a04565b509392505050565b6008546001600160a01b0316612bb85760405162461bcd60e51b81526004016106e29061477e565b60085460405163f8b2cb4f60e01b81526000916001600160a01b03169063f8b2cb4f90612be9908790600401614329565b60206040518083038186803b158015612c0157600080fd5b505afa158015612c15573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c399190614227565b600854604051634a46c67360e11b81529192506000916001600160a01b039091169063948d8ce690612c6f908890600401614329565b60206040518083038186803b158015612c8757600080fd5b505afa158015612c9b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cbf9190614227565b6008549091506001600160a01b0316633fdddaa286612cde8587612b57565b846040518463ffffffff1660e01b8152600401612cfd939291906143c2565b600060405180830381600087803b158015612d1757600080fd5b505af1158015612d2b573d6000803e3d6000fd5b505060405163a9059cbb60e01b8152600092506001600160a01b038816915063a9059cbb90612d6090889088906004016143a9565b602060405180830381600087803b158015612d7a57600080fd5b505af1158015612d8e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612db291906141b8565b905080612dd15760405162461bcd60e51b81526004016106e2906149ac565b505050505050565b610909308383612e4c565b30600090815260016020526040902054612dfe9082612b57565b3060009081526001602052604081209190915554612e1c9082612b57565b60009081556040513090600080516020614bc483398151915290612e41908590614b16565b60405180910390a350565b6001600160a01b038316600090815260016020526040902054612e6f9082612b57565b6001600160a01b038085166000908152600160205260408082209390935590841681522054612e9e9082613868565b6001600160a01b038084166000818152600160205260409081902093909355915190851690600080516020614bc483398151915290612ede908590614b16565b60405180910390a3505050565b612ef4816138b2565b60185460005411156109a95760405162461bcd60e51b81526004016106e290614916565b6008546001600160a01b0316612f405760405162461bcd60e51b81526004016106e29061477e565b60085460405163f8b2cb4f60e01b81526000916001600160a01b03169063f8b2cb4f90612f71908790600401614329565b60206040518083038186803b158015612f8957600080fd5b505afa158015612f9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612fc19190614227565b600854604051634a46c67360e11b81529192506000916001600160a01b039091169063948d8ce690612ff7908890600401614329565b60206040518083038186803b15801561300f57600080fd5b505afa158015613023573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130479190614227565b90506000856001600160a01b03166323b872dd8630876040518463ffffffff1660e01b815260040161307b9392919061433d565b602060405180830381600087803b15801561309557600080fd5b505af11580156130a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130cd91906141b8565b9050806130ec5760405162461bcd60e51b81526004016106e2906149ac565b6008546001600160a01b0316633fdddaa2876131088688613868565b856040518463ffffffff1660e01b8152600401613127939291906143c2565b600060405180830381600087803b15801561314157600080fd5b505af1158015613155573d6000803e3d6000fd5b50505050505050505050565b610909823083612e4c565b6131768282613910565b805160405163f8b2cb4f60e01b81526000916001600160a01b0385169163f8b2cb4f916131a591600401614329565b60206040518083038186803b1580156131bd57600080fd5b505afa1580156131d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131f59190614227565b90506000836001600160a01b031663f8b2cb4f84602001516040518263ffffffff1660e01b81526004016132299190614329565b60206040518083038186803b15801561324157600080fd5b505afa158015613255573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132799190614227565b90506000846001600160a01b031663f8b2cb4f85604001516040518263ffffffff1660e01b81526004016132ad9190614329565b60206040518083038186803b1580156132c557600080fd5b505afa1580156132d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132fd9190614227565b9050600061337c61332e856133286a084595161401484a0000006133226002886139d6565b906139d6565b90613a10565b61334786613328876a084595161401484a0000006139d6565b61335d60016a084595161401484a0000006139d6565b010161332867d02ab486cedc00006a084595161401484a0000006139d6565b9050600061339385613328856133226002876139d6565b905060006133a58661332885886139d6565b90506133b48888858486613a42565b5050505050505050565b6008546001600160a01b0316156133e75760405162461bcd60e51b81526004016106e2906147a7565b68056bc75e2d631000008110156134105760405162461bcd60e51b81526004016106e2906147cf565b6b033b2e3c9fd0803ce800000081111561343c5760405162461bcd60e51b81526004016106e29061468e565b600954600160281b900460ff16156134545760188190555b61345d8161115e565b61346733826108ff565b600760009054906101000a90046001600160a01b03166001600160a01b031663d556c5dc6040518163ffffffff1660e01b8152600401602060405180830381600087803b1580156134b757600080fd5b505af11580156134cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134ef91906141d4565b600880546001600160a01b0319166001600160a01b0392831617908190556040805163632c068960e11b81529051919092169163c6580d12916004808301926020929190829003018186803b15801561354757600080fd5b505afa15801561355b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061357f9190614227565b1561359c5760405162461bcd60e51b81526004016106e2906148e8565b60005b60135481101561375e576000601382815481106135b857fe5b6000918252602082200154601480546001600160a01b03909216935090849081106135df57fe5b906000526020600020015490506000600a60020184815481106135fe57fe5b60009182526020822001546040516323b872dd60e01b81529092506001600160a01b038516906323b872dd9061363c9033903090889060040161433d565b602060405180830381600087803b15801561365657600080fd5b505af115801561366a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061368e91906141b8565b9050806136ad5760405162461bcd60e51b81526004016106e2906149ac565b6008546136c9906001600160a01b038681169116600019613b90565b9050806136e85760405162461bcd60e51b81526004016106e2906149ac565b600854604051631c9c3ca760e31b81526001600160a01b039091169063e4e1e5389061371c908790879087906004016143c2565b600060405180830381600087803b15801561373657600080fd5b505af115801561374a573d6000803e3d6000fd5b50506001909601955061359f945050505050565b505b6013541561379a57601380548061377357fe5b600082815260209020810160001990810180546001600160a01b0319169055019055613760565b6008546012546040516334e1990760e01b81526001600160a01b03909216916334e19907916137cb91600401614b16565b600060405180830381600087803b1580156137e557600080fd5b505af11580156137f9573d6000803e3d6000fd5b50506008546040516324dacaa960e11b81526001600160a01b0390911692506349b59552915061382e906001906004016143e3565b600060405180830381600087803b15801561384857600080fd5b505af115801561385c573d6000803e3d6000fd5b50506000601255505050565b600082820183811015610ad35760405162461bcd60e51b81526004016106e290614a2f565b6000808383116138a357505080820360006138ab565b505081810360015b9250929050565b306000908152600160205260409020546138cc9082613868565b30600090815260016020526040812091909155546138ea9082613868565b6000908155604051309190600080516020614bc483398151915290612e41908590614b16565b8051604051631185197d60e31b815283916001600160a01b03831691638c28cbe89161393e91600401614329565b600060405180830381600087803b15801561395857600080fd5b505af115801561396c573d6000803e3d6000fd5b5050506020830151604051631185197d60e31b81526001600160a01b0384169250638c28cbe89161399f91600401614329565b600060405180830381600087803b1580156139b957600080fd5b505af11580156139cd573d6000803e3d6000fd5b50505050505050565b6000826139e557506000610960565b828202828482816139f257fe5b0414610ad35760405162461bcd60e51b81526004016106e29061484b565b6000808211613a315760405162461bcd60e51b81526004016106e290614717565b818381613a3a57fe5b049392505050565b8460008080613a518489613d3d565b8a51604051631feeed5160e11b815293965091945092506001600160a01b03861691633fdddaa291613a899187908c906004016143c2565b600060405180830381600087803b158015613aa357600080fd5b505af1158015613ab7573d6000803e3d6000fd5b5050506020890151604051631feeed5160e11b81526001600160a01b0387169250633fdddaa291613aee9186908b906004016143c2565b600060405180830381600087803b158015613b0857600080fd5b505af1158015613b1c573d6000803e3d6000fd5b5050506040808a01519051631feeed5160e11b81526001600160a01b0387169250633fdddaa291613b539185908a906004016143c2565b600060405180830381600087803b158015613b6d57600080fd5b505af1158015613b81573d6000803e3d6000fd5b50505050505050505050505050565b600080846001600160a01b031663dd62ed3e30866040518363ffffffff1660e01b8152600401613bc1929190614361565b60206040518083038186803b158015613bd957600080fd5b505afa158015613bed573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613c119190614227565b905082811415613c25576001915050610ad3565b8015613cb45760405163095ea7b360e01b81526001600160a01b0386169063095ea7b390613c5a9087906000906004016143a9565b602060405180830381600087803b158015613c7457600080fd5b505af1158015613c88573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613cac91906141b8565b915050610ad3565b60405163095ea7b360e01b81526001600160a01b0386169063095ea7b390613ce290879087906004016143a9565b602060405180830381600087803b158015613cfc57600080fd5b505af1158015613d10573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613d3491906141b8565b95945050505050565b600080600080856001600160a01b031663f8b2cb4f86600001516040518263ffffffff1660e01b8152600401613d739190614329565b60206040518083038186803b158015613d8b57600080fd5b505afa158015613d9f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613dc39190614227565b90506000866001600160a01b031663f8b2cb4f87602001516040518263ffffffff1660e01b8152600401613df79190614329565b60206040518083038186803b158015613e0f57600080fd5b505afa158015613e23573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613e479190614227565b90506000876001600160a01b031663f8b2cb4f88604001516040518263ffffffff1660e01b8152600401613e7b9190614329565b60206040518083038186803b158015613e9357600080fd5b505afa158015613ea7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613ecb9190614227565b92989197509195509350505050565b60008083601f840112613eeb578081fd5b5081356001600160401b03811115613f01578182fd5b60208301915083602080830285010111156138ab57600080fd5b600082601f830112613f2b578081fd5b8151613f3e613f3982614b61565b614b3b565b818152915060208083019084810181840286018201871015613f5f57600080fd5b60005b84811015613f7e57815184529282019290820190600101613f62565b505050505092915050565b600060208284031215613f9a578081fd5b8135610ad381614b80565b60008060408385031215613fb7578081fd5b8235613fc281614b80565b91506020830135613fd281614b80565b809150509250929050565b600080600060608486031215613ff1578081fd5b8335613ffc81614b80565b9250602084013561400c81614b80565b929592945050506040919091013590565b6000806040838503121561402f578182fd5b823561403a81614b80565b946020939093013593505050565b60008060006060848603121561405c578283fd5b833561406781614b80565b95602085013595506040909401359392505050565b6000602080838503121561408e578182fd5b82516001600160401b038111156140a3578283fd5b8301601f810185136140b3578283fd5b80516140c1613f3982614b61565b81815283810190838501858402850186018910156140dd578687fd5b8694505b838510156141085780516140f481614b80565b8352600194909401939185019185016140e1565b50979650505050505050565b60008060008060608587031215614129578081fd5b84356001600160401b0381111561413e578182fd5b61414a87828801613eda565b90989097506020870135966040013595509350505050565b600060208284031215614173578081fd5b81516001600160401b03811115614188578182fd5b61419484828501613f1b565b949350505050565b6000602082840312156141ad578081fd5b8135610ad381614b95565b6000602082840312156141c9578081fd5b8151610ad381614b95565b6000602082840312156141e5578081fd5b8151610ad381614b80565b600060208284031215614201578081fd5b813560068110610ad3578182fd5b600060208284031215614220578081fd5b5035919050565b600060208284031215614238578081fd5b5051919050565b600080600060408486031215614253578081fd5b8335925060208401356001600160401b0381111561426f578182fd5b61427b86828701613eda565b9497909650939450505050565b6000806040838503121561429a578182fd5b505080516020909101519092909150565b6000806000606084860312156142bf578081fd5b835192506020840151915060408401516001600160401b038111156142e2578182fd5b6142ee86828701613f1b565b9150509250925092565b60008060006060848603121561430c578081fd5b505081359360208301359350604090920135919050565b15159052565b6001600160a01b0391909116815260200190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b0392831681529116602082015260400190565b6001600160a01b03959095168552921515602085015260408401919091526060830152608082015260a00190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b039390931683526020830191909152604082015260600190565b901515815260200190565b9515158652931515602086015291151560408501521515606084015215156080830152151560a082015260c00190565b60006020825282602083015282846040840137818301604090810191909152601f909201601f19160101919050565b6001600160a01b03958616815293909416602084015260408301919091526060820152608081019190915260a00190565b6001600160a01b0393841681529183166020830152909116604082015260600190565b6001600160a01b03958616815293851660208501529190931660408301526060820192909252608081019190915260a00190565b6001600160a01b0386811682528516602082015260408101849052608060608201819052810182905260006001600160fb1b03831115614513578081fd5b60208302808560a08501379190910160a00190815295945050505050565b6001600160a01b0394851681529290931660208301526040820152606081019190915260800190565b6000602080835283518082850152825b818110156145865785810183015185820160400152820161456a565b818111156145975783604083870101525b50601f01601f1916929092016040019392505050565b60208082526012908201527122a9292fa727aa2fa1a7a72a2927a62622a960711b604082015260600190565b6020808252601c908201527f4552525f43414e4e4f545f4144445f52454d4f56455f544f4b454e5300000000604082015260600190565b60208082526019908201527822a9292faaa729aaa82827a92a22a22fa7a822a920aa24a7a760391b604082015260600190565b60208082526003908201526203430360ec1b604082015260600190565b60208082526014908201527311549497d393d517d3d397d5d2125511531254d560621b604082015260600190565b60208082526013908201527208aa4a4be929c92a8bea6aaa0a098b2be9a82b606b1b604082015260600190565b60208082526010908201526f4552525f5a45524f5f4144445245535360801b604082015260600190565b6020808252601890820152774552525f43414e4e4f545f57484954454c4953545f4c505360401b604082015260600190565b6020808252601a908201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604082015260600190565b60208082526016908201527511549497d31417d393d517d5d2125511531254d5115160521b604082015260600190565b6020808252600f908201526e11549497d393d517d0d49150551151608a1b604082015260600190565b6020808252600e908201526d11549497d254d7d0d4915055115160921b604082015260600190565b60208082526013908201527222a9292fa4a724aa2fa9aaa828262cafa6a4a760691b604082015260600190565b6020808252600b908201526a4552525f5245454e54525960a81b604082015260600190565b60208082526010908201526f4552525f5245454e5452595f5649455760801b604082015260600190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b6020808252601390820152724552525f494e56414c49445f4144445245535360681b604082015260600190565b60208082526015908201527404552525f43414e4e4f545f4348414e47455f43415605c1b604082015260600190565b6020808252601490820152734552525f4e4f4e5a45524f5f455849545f46454560601b604082015260600190565b60208082526015908201527411549497d0d05417d31253525517d4915050d21151605a1b604082015260600190565b60208082526016908201527522a9292fa821aa27a5a2a72fa120a22fa1a0a62622a960511b604082015260600190565b6020808252601b908201527f4552525f52454d4f56455f574954485f4144445f50454e44494e470000000000604082015260600190565b6020808252600f908201526e4552525f45524332305f46414c534560881b604082015260600190565b60208082526015908201527404552525f4e4f545f5041555341424c455f5357415605c1b604082015260600190565b6020808252601190820152704552525f5355425f554e444552464c4f5760781b604082015260600190565b60208082526010908201526f4552525f4144445f4f564552464c4f5760801b604082015260600190565b6020808252601c908201527f4552525f4e4f5f5550444154455f445552494e475f4752414455414c00000000604082015260600190565b600060e082019050835460ff80821615158452614ab560208501828460081c16614323565b614ac760408501828460101c16614323565b614ad960608501828460181c16614323565b614aeb60808501828460201c16614323565b614afd60a08501828460281c16614323565b505060068310614b0957fe5b8260c08301529392505050565b90815260200190565b918252602082015260400190565b60ff91909116815260200190565b6040518181016001600160401b0381118282101715614b5957600080fd5b604052919050565b60006001600160401b03821115614b76578081fd5b5060209081020190565b6001600160a01b03811681146109a957600080fd5b80151581146109a957600080fdfec62fc35ac75e3bff532648e2859a3e1694002cfa357614ae8e034df7f83db5e9ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925ea39e3b35c5cd8937999ed5f7fbab30acd562a931fc4a887fed2a47c3074aa72a26469706673582212203721b9d6a384474d583c1e4050e79030bb7973a1a171fd9bbe7f1814243c07fc64736f6c634300060c0033000000000000000000000000428dcd78f62c8685d9f3d01aaa2d18a9e081a77a000000000000000000000000d72a35500dfecb4d2f9aab3278b24d13169b39920000000000000000000000000000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000888d5fdd27746f348e6f0303c33b88c9ce083323000000000000000000000000888a6e5a8c97f79f0f5d8db51e461966e3332137000000000000000000000000bc4dc723f66f196f6c2eef7ce7802890862cdea800000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000001c00000000000000000000000000000000000000000000000000000000000000240000000000000000000000000000000000000000000000000000aa87bee53800000000000000000000000000000000000000000000000000000000000000000074254437269736b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016425443205269736b2050726f746f636f6c20506f6f6c000000000000000000000000000000000000000000000000000000000000000000000000000000000003000000000000000000000000bc4dc723f66f196f6c2eef7ce7802890862cdea8000000000000000000000000888d5fdd27746f348e6f0303c33b88c9ce083323000000000000000000000000888a6e5a8c97f79f0f5d8db51e461966e33321370000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000a968163f0a57b40000000000000000000000000000000000000000000000000152d02c7e14af680000000000000000000000000000000000000000000000000152d02c7e14af68000000000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000340aad21b3b70000000000000000000000000000000000000000000000000000340aad21b3b70000000000000000000000000000000000000000000000000000340aad21b3b70000