Contract Address Details

Contract
0x8effc226579bc4b688681bfdd544e4266624de12
Balance
0.0 ETH ($0.0)
Tokens
1 Token
$0.0 USD
Transactions
Transfers
Balance changes
6
Gas Used
0
Last Balance Update
If you are the owner of this contract, verify it.
Deployed ByteCode
0x60806040526004361061036f5760003560e01c80638089dbfd116101c6578063bd70239b116100f7578063dc3f0d0f11610095578063e85ceee81161006f578063e85ceee814610a24578063f112ba7214610a54578063f2fde38b14610a69578063f3bf087e14610a8957600080fd5b8063dc3f0d0f146109c4578063dd62ed3e146109e4578063e626815814610a0457600080fd5b8063c18bc195116100d1578063c18bc1951461094f578063c400f5e71461096f578063c4d66de81461098f578063d9477526146109af57600080fd5b8063bd70239b146108ef578063c02466681461090f578063c0a904a21461092f57600080fd5b806395d89b4111610164578063a5ece9411161013e578063a5ece94114610883578063a9059cbb146108a3578063a9e75723146108c3578063aa4bde28146108d957600080fd5b806395d89b411461082e578063966b53c414610843578063a457c2d71461086357600080fd5b80638a8c523c116101a05780638a8c523c146107bb5780638da5cb5b146107d05780638e749a8f146107ee5780638fffabed1461080e57600080fd5b80638089dbfd1461076557806388e765ff146107855780638980f11f1461079b57600080fd5b80634a4dd9cd116102a0578063638b1b141161023e578063715018a611610218578063715018a6146106e057806376856557146106f557806379cc679014610725578063801b51d91461074557600080fd5b8063638b1b141461067457806366d602ae1461069457806370a08231146106aa57600080fd5b80634fbee1931161027a5780634fbee193146105b7578063502f7446146105e75780635cce86cd1461062457806360d091a41461065457600080fd5b80634a4dd9cd1461055b5780634ada218b1461057b5780634f011b831461059557600080fd5b806323b872dd1161030d578063313ce567116102e7578063313ce567146104df57806339509351146104fb578063408ccbdf1461051b57806342966c681461053b57600080fd5b806323b872dd1461047f5780632be32b611461049f5780632d99d32e146104bf57600080fd5b806317d41cd01161034957806317d41cd0146103f857806318160ddd1461042b5780631a0e718c1461044a5780631af3c61d1461046a57600080fd5b8063032401571461037b57806306fdde031461039d578063095ea7b3146103c857600080fd5b3661037657005b600080fd5b34801561038757600080fd5b5061039b610396366004613078565b610aa9565b005b3480156103a957600080fd5b506103b2610c5a565b6040516103bf91906130bb565b60405180910390f35b3480156103d457600080fd5b506103e86103e336600461311e565b610cec565b60405190151581526020016103bf565b34801561040457600080fd5b5061041861041336600461314a565b610d06565b60405161ffff90911681526020016103bf565b34801561043757600080fd5b506002545b6040519081526020016103bf565b34801561045657600080fd5b5061039b610465366004613163565b610d34565b34801561047657600080fd5b5061039b610e33565b34801561048b57600080fd5b506103e861049a366004613185565b610ea4565b3480156104ab57600080fd5b5061039b6104ba36600461314a565b610ec8565b3480156104cb57600080fd5b5061039b6104da3660046131d4565b610f2c565b3480156104eb57600080fd5b50604051601281526020016103bf565b34801561050757600080fd5b506103e861051636600461311e565b610fbc565b34801561052757600080fd5b5061041861053636600461314a565b610fde565b34801561054757600080fd5b5061039b61055636600461314a565b610fee565b34801561056757600080fd5b5061039b610576366004613078565b610ffb565b34801561058757600080fd5b506019546103e89060ff1681565b3480156105a157600080fd5b5060055461041890600160b01b900461ffff1681565b3480156105c357600080fd5b506103e86105d236600461320d565b600f6020526000908152604090205460ff1681565b3480156105f357600080fd5b5060115461060c9061010090046001600160a01b031681565b6040516001600160a01b0390911681526020016103bf565b34801561063057600080fd5b506103e861063f36600461320d565b60146020526000908152604090205460ff1681565b34801561066057600080fd5b5061039b61066f36600461320d565b61119a565b34801561068057600080fd5b5060095461060c906001600160a01b031681565b3480156106a057600080fd5b5061043c60175481565b3480156106b657600080fd5b5061043c6106c536600461320d565b6001600160a01b031660009081526020819052604090205490565b3480156106ec57600080fd5b5061039b611232565b34801561070157600080fd5b506103e861071036600461320d565b60136020526000908152604090205460ff1681565b34801561073157600080fd5b5061039b61074036600461311e565b611246565b34801561075157600080fd5b5061039b6107603660046131d4565b61125b565b34801561077157600080fd5b50600d5461060c906001600160a01b031681565b34801561079157600080fd5b5061043c60165481565b3480156107a757600080fd5b5061039b6107b636600461311e565b6112c3565b3480156107c757600080fd5b5061039b6113ca565b3480156107dc57600080fd5b506005546001600160a01b031661060c565b3480156107fa57600080fd5b5061041861080936600461314a565b611470565b34801561081a57600080fd5b5060125461060c906001600160a01b031681565b34801561083a57600080fd5b506103b2611480565b34801561084f57600080fd5b5061041861085e36600461314a565b61148f565b34801561086f57600080fd5b506103e861087e36600461311e565b61149f565b34801561088f57600080fd5b50600b5461060c906001600160a01b031681565b3480156108af57600080fd5b506103e86108be36600461311e565b61151a565b3480156108cf57600080fd5b5061043c60185481565b3480156108e557600080fd5b5061043c60155481565b3480156108fb57600080fd5b5061039b61090a36600461314a565b611528565b34801561091b57600080fd5b5061039b61092a3660046131d4565b61158c565b34801561093b57600080fd5b5061039b61094a3660046131d4565b6115ec565b34801561095b57600080fd5b5061039b61096a36600461314a565b6115fe565b34801561097b57600080fd5b5061039b61098a36600461320d565b611692565b34801561099b57600080fd5b5061039b6109aa36600461320d565b61172a565b3480156109bb57600080fd5b5061043c6117f9565b3480156109d057600080fd5b5061039b6109df36600461314a565b611841565b3480156109f057600080fd5b5061043c6109ff36600461322a565b6118a5565b348015610a1057600080fd5b5061039b610a1f366004613078565b6118d0565b348015610a3057600080fd5b506103e8610a3f36600461320d565b601a6020526000908152604090205460ff1681565b348015610a6057600080fd5b5061043c611a6f565b348015610a7557600080fd5b5061039b610a8436600461320d565b611a9a565b348015610a9557600080fd5b5061039b610aa436600461320d565b611b10565b610ab1611b66565b600a546010548491610aca9161ffff9182169116613284565b610ad491906132a6565b6010805461ffff191661ffff9283161790819055600a548492610b04926201000092839004821692900416613284565b610b0e91906132a6565b6010805463ffff000019166201000061ffff938416021790819055600a548392610b4692600160201b92839004821692900416613284565b610b5091906132a6565b6010805461ffff928316600160201b0265ffff0000000019821681179092556109c4908316919092161711801590610b9757506010546109c46201000090910461ffff1611155b8015610bb357506010546109c4600160201b90910461ffff1611155b610bd85760405162461bcd60e51b8152600401610bcf906132c1565b60405180910390fd5b6040805160608101825261ffff80861682528481166020830152831691810191909152610c0990600a906003612fb6565b506040805161ffff808616825280851660208301528316918101919091527f3ba32fc894a5a194d08f732e0c8261fa9d3efec991bb714893133f1375cde81e906060015b60405180910390a1505050565b606060038054610c6990613317565b80601f0160208091040260200160405190810160405280929190818152602001828054610c9590613317565b8015610ce25780601f10610cb757610100808354040283529160200191610ce2565b820191906000526020600020905b815481529060010190602001808311610cc557829003601f168201915b5050505050905090565b600033610cfa818585611bc0565b60019150505b92915050565b600a8160038110610d1657600080fd5b60109182820401919006600202915054906101000a900461ffff1681565b610d3c611b66565b60008161ffff16118015610d5657506101f48161ffff1611155b610ddc5760405162461bcd60e51b815260206004820152604b60248201527f537761705468726573686f6c643a2043616e6e6f7420657863656564206c696d60448201527f6974732066726f6d20302e30312520746f20352520666f72206e65772073776160648201526a1c081d1a1c995cda1bdb1960aa1b608482015260a401610bcf565b6005805461ffff60b01b1916600160b01b61ffff8416908102919091179091556040519081527fcf1366790fe21e66c9df9dcf67218b1e10acd64d3c99ae8a7429a68de91f1720906020015b60405180910390a150565b6000610e3d611a6f565b30600090815260208190526040902054610e579190613351565b90506000610e6482611ce4565b60408051848152602081018390529192507f5c3340567bf85cd43734028361fe821eac789fbe397b8d1a4f9ebb3ab4c81ef7910160405180910390a15050565b600033610eb2858285611d88565b610ebd858585611e02565b506001949350505050565b610ed0611b66565b610ed86123a1565b811015610ef75760405162461bcd60e51b8152600401610bcf90613364565b60168190556040518181527fd0459d371e1defb856088ceda9d33bfed2a31a105e0bae2113cdc7dcc9e77e9d90602001610e28565b610f34611b66565b6012546001600160a01b0390811690831603610fae5760405162461bcd60e51b815260206004820152603360248201527f44656661756c74526f757465723a2043616e6e6f742072656d6f766520696e696044820152721d1a585b081c185a5c88199c9bdb481b1a5cdd606a1b6064820152608401610bcf565b610fb882826123ba565b5050565b600033610cfa818585610fcf83836118a5565b610fd99190613392565b611bc0565b60108160038110610d1657600080fd5b610ff8338261242f565b50565b611003611b66565b600c54601054849161101c9161ffff9182169116613284565b61102691906132a6565b6010805461ffff191661ffff9283161790819055600c548492611056926201000092839004821692900416613284565b61106091906132a6565b6010805463ffff000019166201000061ffff938416021790819055600c54839261109892600160201b92839004821692900416613284565b6110a291906132a6565b6010805461ffff928316600160201b0265ffff0000000019821681179092556109c49083169190921617118015906110e957506010546109c46201000090910461ffff1611155b801561110557506010546109c4600160201b90910461ffff1611155b6111215760405162461bcd60e51b8152600401610bcf906132c1565b6040805160608101825261ffff8086168252848116602083015283169181019190915261115290600c906003612fb6565b506040805161ffff808616825280851660208301528316918101919091527f1e5d76e30cd4303515f118e75cbf9d9440bb68ab78b2c2fa46984200dc11ad6490606001610c4d565b6111a2611b66565b6001600160a01b0381166111c85760405162461bcd60e51b8152600401610bcf906133a5565b600980546001600160a01b0319166001600160a01b0383161790556111ee81600161158c565b6111f9816001612574565b6040516001600160a01b03821681527f6ef5c55bf991f333ad120679e74ec7640b0edaf86c361263a1ffcb4f53106eb890602001610e28565b61123a611b66565b61124460006125cc565b565b611251823383611d88565b610fb8828261242f565b611263611b66565b6001600160a01b0382166000818152601a6020908152604091829020805460ff191685151590811790915591519182527f38d2732664f4152f6b6754aa1afeaec7fa6618671b172e5430139b51dba2d1d691015b60405180910390a25050565b6112cb611b66565b306001600160a01b038316036113335760405162461bcd60e51b815260206004820152602760248201527f546f6b656e5265636f7665723a2043616e6e6f74207265636f7665722074686960448201526639903a37b5b2b760c91b6064820152608401610bcf565b816001600160a01b031663a9059cbb6113546005546001600160a01b031690565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602481018490526044016020604051808303816000875af11580156113a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113c59190613411565b505050565b6113d2611b66565b60195460ff16156114385760405162461bcd60e51b815260206004820152602a60248201527f456e61626c6554726164696e673a2054726164696e672077617320656e61626c604482015269656420616c726561647960b01b6064820152608401610bcf565b6019805460ff191660011790556040517f799663458a5ef2936f7fa0c99b3336c69c25890f82974f04e811e5bb359186c790600090a1565b600c8160038110610d1657600080fd5b606060048054610c6990613317565b600e8160038110610d1657600080fd5b600033816114ad82866118a5565b90508381101561150d5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610bcf565b610ebd8286868403611bc0565b600033610cfa818585611e02565b611530611b66565b6115386123a1565b8110156115575760405162461bcd60e51b8152600401610bcf90613364565b60188190556040518181527fb81a465c2b79d7b689b78d9aaf5a787dd386b73a952be0569f2fbc637aabb89790602001610e28565b611594611b66565b6001600160a01b0382166000818152600f6020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df791016112b7565b6115f4611b66565b610fb88282612574565b611606611b66565b61160e61261e565b81101561165d5760405162461bcd60e51b815260206004820152601860248201527f4d617857616c6c65743a204c696d697420746f6f206c6f7700000000000000006044820152606401610bcf565b60158190556040518181527f4b39c36d20c57d220f61fd25c4349d4435cc03ef6c2a680942f15333c3c3e00190602001610e28565b61169a611b66565b6001600160a01b0381166116c05760405162461bcd60e51b8152600401610bcf906133a5565b600b80546001600160a01b0319166001600160a01b0383161790556116e681600161158c565b6116f1816001612574565b6040516001600160a01b03821681527feaf1986d341c3096d2d5d32f86ed29a21fee4e0d8365cd2b6fa85c0ec6889cf690602001610e28565b600554600160a81b900460ff168061174c5750600554600160a01b900460ff16155b6117af5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610bcf565b600554600160a81b900460ff161580156117d9576005805461ffff60a01b191661010160a01b1790555b6117e28261262c565b8015610fb8576005805460ff60a81b191690555050565b6005546012546001600160a01b031660009081526020819052604081205490916127109161183291600160b01b900461ffff169061342e565b61183c9190613445565b905090565b611849611b66565b6118516123a1565b8110156118705760405162461bcd60e51b8152600401610bcf90613364565b60178190556040518181527fa0dff8a4e8bcaa27b5a2b64bc312f8b338e362bd6cad89f5fe2ae6b8389fb38a90602001610e28565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6118d8611b66565b600e5460105484916118f19161ffff9182169116613284565b6118fb91906132a6565b6010805461ffff191661ffff9283161790819055600e54849261192b926201000092839004821692900416613284565b61193591906132a6565b6010805463ffff000019166201000061ffff938416021790819055600e54839261196d92600160201b92839004821692900416613284565b61197791906132a6565b6010805461ffff928316600160201b0265ffff0000000019821681179092556109c49083169190921617118015906119be57506010546109c46201000090910461ffff1611155b80156119da57506010546109c4600160201b90910461ffff1611155b6119f65760405162461bcd60e51b8152600401610bcf906132c1565b6040805160608101825261ffff80861682528481166020830152831691810191909152611a2790600e906003612fb6565b506040805161ffff808616825280851660208301528316918101919091527f2524ccb75260c9a50c71af1740c212c049a01232ef122061416b51815ec57a1890606001610c4d565b60006008546007546006546000611a869190613392565b611a909190613392565b61183c9190613392565b611aa2611b66565b6001600160a01b038116611b075760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610bcf565b610ff8816125cc565b611b18611b66565b600d80546001600160a01b0319166001600160a01b0383169081179091556040519081527f1c75c7e1dcc8d5c68921dfeb6ac2a2a801ac4e38b295aec5c41e03fdc1ef0c4f90602001610e28565b6005546001600160a01b031633146112445760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610bcf565b6001600160a01b038316611c225760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610bcf565b6001600160a01b038216611c835760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610bcf565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600080611cf2600284613445565b90506000611d008285613351565b9050611d0b8261283a565b478015611d80576000806000611d2185856129b7565b604080518481526020810184905290810182905292955090935091507f3db50c324c27fb39c451e35d4d23abba3e20d96d036e7a40f4adc681c1ce30139060600160405180910390a1611d748386613351565b98975050505050505050565b509392505050565b6000611d9484846118a5565b90506000198114611dfc5781811015611def5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610bcf565b611dfc8484848403611bc0565b50505050565b60115460ff16158015611e155750600081115b8015611e3457506011546001600160a01b038381166101009092041614155b8015611e5957506001600160a01b0383166000908152600f602052604090205460ff16155b8015611e7e57506001600160a01b0382166000908152600f602052604090205460ff16155b15612144576001600160a01b03831660009081526013602052604081205460039060ff1615611ebc5760105461ffff1615611eb7575060005b611f0e565b6001600160a01b03841660009081526013602052604090205460ff1615611ef75760105462010000900461ffff1615611eb757506001611f0e565b601054600160201b900461ffff1615611f0e575060025b60038160ff1610156121305761271060108260ff1660038110611f3357611f33613258565b601091828204019190066002029054906101000a900461ffff1661ffff1684611f5c919061342e565b611f669190613445565b9150611f728284613351565b925060108160ff1660038110611f8a57611f8a613258565b601091828204019190066002029054906101000a900461ffff1661ffff16600a8260ff1660038110611fbe57611fbe613258565b601091828204019190066002029054906101000a900461ffff1661ffff1683611fe7919061342e565b611ff19190613445565b600660008282546120029190613392565b909155506010905060ff82166003811061201e5761201e613258565b601091828204019190066002029054906101000a900461ffff1661ffff16600c8260ff166003811061205257612052613258565b601091828204019190066002029054906101000a900461ffff1661ffff168361207b919061342e565b6120859190613445565b600760008282546120969190613392565b909155506010905060ff8216600381106120b2576120b2613258565b601091828204019190066002029054906101000a900461ffff1661ffff16600e8260ff16600381106120e6576120e6613258565b601091828204019190066002029054906101000a900461ffff1661ffff168361210f919061342e565b6121199190613445565b6008600082825461212a9190613392565b90915550505b811561214157612141853084612a83565b50505b600061214e6117f9565b612156611a6f565b1015801561217c57506012546001600160a01b0316600090815260208190526040812054115b60115490915060ff161580156121ab57506001600160a01b03841660009081526013602052604090205460ff16155b80156121ca57506011546001600160a01b038581166101009092041614155b80156121d35750805b15612396576011805460ff19166001179055600060065411806121f857506000600754115b1561237157600060075460065460006122119190613392565b61221b9190613392565b905060006122288261283a565b6006544790600090849061223c908461342e565b6122469190613445565b905080156122c6576009546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050925082156122c657600954604080516001600160a01b039092168252602082018390527f01c315ade553f98aff01ff11fa4b8d61ebe9ea3c2347276e6d78ec0aa07af1a1910160405180910390a15b6000600681905560075485906122dc908561342e565b6122e69190613445565b9050801561236657600b546040516001600160a01b039091169082156108fc029083906000818181858888f193505050509350831561236657600b54604080516001600160a01b039092168252602082018390527f3e6afd69feef8f4cc1adbe6d3905e477db85aa5aa28d02674dc4bc6d39237fe4910160405180910390a15b505060006007555050505b6008541561238b57612384600854611ce4565b5060006008555b6011805460ff191690555b611dfc848484612a83565b60006127106123af60025490565b61183290600561342e565b6001600160a01b0382166000908152601360205260409020805460ff191682158015919091179091556123f2576123f2826001612574565b816001600160a01b03167f911aa18ddbbbc33c9b4c704a71bdaa0984b0aa2e82726a7f51e64bad0b0a8455826040516112b7911515815260200190565b6001600160a01b03821661248f5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610bcf565b61249b82600083612c38565b6001600160a01b0382166000908152602081905260409020548181101561250f5760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608401610bcf565b6001600160a01b0383166000818152602081815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36113c583600084612f1a565b6001600160a01b038216600081815260146020908152604091829020805460ff191685151590811790915591519182527f4b89c347592b1d537e066cb4ed98d87696ae35164745d7e370e4add16941dc9291016112b7565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60006103e861183260025490565b80601160016101000a8154816001600160a01b0302191690836001600160a01b03160217905550601160019054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156126a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126ca9190613467565b6001600160a01b031663c9c6539630601160019054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561272c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127509190613467565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801561279d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127c19190613467565b601280546001600160a01b0319166001600160a01b03929092169190911790556127ec816001612574565b601254612803906001600160a01b031660016123ba565b6040516001600160a01b038216907fbc052db65df144ad4f71f02da93cae3d4401104c30ac374d7cc10d87ee07b60290600090a250565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061286f5761286f613258565b60200260200101906001600160a01b031690816001600160a01b031681525050601160019054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156128e2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129069190613467565b8160018151811061291957612919613258565b6001600160a01b03928316602091820292909201015260115461294491309161010090041684611bc0565b60115460405163791ac94760e01b81526101009091046001600160a01b03169063791ac94790612981908590600090869030904290600401613484565b600060405180830381600087803b15801561299b57600080fd5b505af11580156129af573d6000803e3d6000fd5b505050505050565b60008060006129dc30601160019054906101000a90046001600160a01b031687611bc0565b601154600d5460405163f305d71960e01b81523060048201526024810188905260006044820181905260648201526001600160a01b0391821660848201524260a4820152610100909204169063f305d71990869060c40160606040518083038185885af1158015612a51573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190612a7691906134f5565b9250925092509250925092565b6001600160a01b038316612ae75760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610bcf565b6001600160a01b038216612b495760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610bcf565b612b54838383612c38565b6001600160a01b03831660009081526020819052604090205481811015612bcc5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610bcf565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3611dfc848484612f1a565b6001600160a01b03831660009081526013602052604090205460ff168015612c7957506001600160a01b03821660009081526014602052604090205460ff16155b15612cdb57601654811115612cdb5760405162461bcd60e51b815260206004820152602260248201527f4d617854783a2043616e6e6f7420657863656564206d617820627579206c696d6044820152611a5d60f21b6064820152608401610bcf565b6001600160a01b03821660009081526013602052604090205460ff168015612d1c57506001600160a01b03831660009081526014602052604090205460ff16155b15612d7f57601754811115612d7f5760405162461bcd60e51b815260206004820152602360248201527f4d617854783a2043616e6e6f7420657863656564206d61782073656c6c206c696044820152621b5a5d60ea1b6064820152608401610bcf565b6001600160a01b03821660009081526013602052604090205460ff16158015612dc157506001600160a01b03831660009081526014602052604090205460ff16155b15612e2857601854811115612e285760405162461bcd60e51b815260206004820152602760248201527f4d617854783a2043616e6e6f7420657863656564206d6178207472616e7366656044820152661c881b1a5b5a5d60ca1b6064820152608401610bcf565b6001600160a01b03831660009081526013602052604090205460ff168015612e6957506001600160a01b0382166000908152601a602052604090205460ff16155b80612eb057506001600160a01b03821660009081526013602052604090205460ff168015612eb057506001600160a01b0383166000908152601a602052604090205460ff16155b156113c55760195460ff166113c55760405162461bcd60e51b815260206004820152602a60248201527f456e61626c6554726164696e673a2054726164696e6720776173206e6f7420656044820152691b98589b1959081e595d60b21b6064820152608401610bcf565b6001600160a01b03821660009081526014602052604090205460ff166113c5576015546001600160a01b03831660009081526020819052604090205411156113c55760405162461bcd60e51b815260206004820152602960248201527f4d617857616c6c65743a2043616e6e6f7420657863656564206d61782077616c6044820152681b195d081b1a5b5a5d60ba1b6064820152608401610bcf565b60018301918390821561303c5791602002820160005b8382111561300c57835183826101000a81548161ffff021916908361ffff1602179055509260200192600201602081600101049283019260010302612fcc565b801561303a5782816101000a81549061ffff021916905560020160208160010104928301926001030261300c565b505b5061304892915061304c565b5090565b5b80821115613048576000815560010161304d565b803561ffff8116811461307357600080fd5b919050565b60008060006060848603121561308d57600080fd5b61309684613061565b92506130a460208501613061565b91506130b260408501613061565b90509250925092565b600060208083528351808285015260005b818110156130e8578581018301518582016040015282016130cc565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610ff857600080fd5b6000806040838503121561313157600080fd5b823561313c81613109565b946020939093013593505050565b60006020828403121561315c57600080fd5b5035919050565b60006020828403121561317557600080fd5b61317e82613061565b9392505050565b60008060006060848603121561319a57600080fd5b83356131a581613109565b925060208401356131b581613109565b929592945050506040919091013590565b8015158114610ff857600080fd5b600080604083850312156131e757600080fd5b82356131f281613109565b91506020830135613202816131c6565b809150509250929050565b60006020828403121561321f57600080fd5b813561317e81613109565b6000806040838503121561323d57600080fd5b823561324881613109565b9150602083013561320281613109565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b61ffff82811682821603908082111561329f5761329f61326e565b5092915050565b61ffff81811683821601908082111561329f5761329f61326e565b60208082526036908201527f546178657344656661756c74526f757465723a2043616e6e6f7420657863656560408201527564206d617820746f74616c20666565206f662032352560501b606082015260800190565b600181811c9082168061332b57607f821691505b60208210810361334b57634e487b7160e01b600052602260045260246000fd5b50919050565b81810381811115610d0057610d0061326e565b6020808252601490820152734d617854783a204c696d697420746f6f206c6f7760601b604082015260600190565b80820180821115610d0057610d0061326e565b60208082526046908201527f546178657344656661756c74526f7574657257616c6c65743a2057616c6c657460408201527f2074617820726563697069656e742063616e6e6f74206265206120307830206160608201526564647265737360d01b608082015260a00190565b60006020828403121561342357600080fd5b815161317e816131c6565b8082028115828204841417610d0057610d0061326e565b60008261346257634e487b7160e01b600052601260045260246000fd5b500490565b60006020828403121561347957600080fd5b815161317e81613109565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156134d45784516001600160a01b0316835293830193918301916001016134af565b50506001600160a01b03969096166060850152505050608001529392505050565b60008060006060848603121561350a57600080fd5b835192506020840151915060408401519050925092509256fea2646970667358221220e3f15dc376e1ac6320850956556e565829bd7ffcf29179aab71a087965fbb19864736f6c63430008130033
Creation ByteCode
0x60806040523480156200001157600080fd5b506040518060400160405280600b81526020016a536e616b654552432e696f60a81b81525060405180604001604052806005815260200164534e414b4560d81b815250816003908162000065919062001616565b50600462000074828262001616565b505050620000916200008b620002c360201b60201c565b620002c7565b730169d60249ef15b4a0f1b11c80b29f12697d2bef620000b2603262000319565b620000d1730169d60249ef15b4a0f1b11c80b29f12697d2bef62000421565b620000e060c880600062000505565b620000ff734bb3936d6431a0291b993aaba7c5b603ae1bb0c3620006f7565b6200010e60c8806000620007db565b6200012d730169d60249ef15b4a0f1b11c80b29f12697d2bef620009c5565b6200013b6064808062000a1e565b6200014881600162000c08565b6200015530600162000c08565b6200016281600162000c72565b6200016f30600162000c72565b6200017d6000600162000c72565b620001b1600a62000190601282620017f7565b6200019f90621e84806200180f565b620001ab919062001829565b62000ccb565b620001e5600a620001c4601282620017f7565b620001d390621e84806200180f565b620001df919062001829565b62000d66565b62000219600a620001f8601282620017f7565b6200020790621e84806200180f565b62000213919062001829565b62000e01565b6200024d600a6200022c601282620017f7565b6200023b90621e84806200180f565b62000247919062001829565b62000e9c565b6200025a81600162000f37565b6200026730600162000f37565b6200029d81600a6200027b601282620017f7565b6200028b906305f5e1006200180f565b62000297919062001829565b62000f9a565b620002bc730169d60249ef15b4a0f1b11c80b29f12697d2bef620002c7565b50620018a5565b3390565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6200032362001079565b60008161ffff161180156200033e57506101f48161ffff1611155b620003ca5760405162461bcd60e51b815260206004820152604b60248201527f537761705468726573686f6c643a2043616e6e6f7420657863656564206c696d60448201527f6974732066726f6d20302e30312520746f20352520666f72206e65772073776160648201526a1c081d1a1c995cda1bdb1960aa1b608482015260a4015b60405180910390fd5b6005805461ffff60b01b1916600160b01b61ffff8416908102919091179091556040519081527fcf1366790fe21e66c9df9dcf67218b1e10acd64d3c99ae8a7429a68de91f1720906020015b60405180910390a150565b6200042b62001079565b6001600160a01b038116620004965760405162461bcd60e51b8152602060048201526046602482015260008051602062004e0e833981519152604482015260008051602062004e4e83398151915260648201526564647265737360d01b608482015260a401620003c1565b600980546001600160a01b0319166001600160a01b038316179055620004be81600162000c08565b620004cb81600162000c72565b6040516001600160a01b03821681527f6ef5c55bf991f333ad120679e74ec7640b0edaf86c361263a1ffcb4f53106eb89060200162000416565b6200050f62001079565b600a5460105484916200052a9161ffff91821691166200184c565b62000536919062001871565b6010805461ffff191661ffff9283161790819055600a548492620005689262010000928390048216929004166200184c565b62000574919062001871565b6010805463ffff000019166201000061ffff938416021790819055600a548392620005af92640100000000928390048216929004166200184c565b620005bb919062001871565b6010805461ffff9283166401000000000261ffff60201b19821681179092556109c49083169190921617118015906200060357506010546109c46201000090910461ffff1611155b80156200062157506010546109c464010000000090910461ffff1611155b620006735760405162461bcd60e51b8152602060048201526036602482015260008051602062004e2e833981519152604482015260008051602062004e6e8339815191526064820152608401620003c1565b6040805160608101825261ffff80861682528481166020830152831691810191909152620006a690600a906003620014be565b506040805161ffff808616825280851660208301528316918101919091527f3ba32fc894a5a194d08f732e0c8261fa9d3efec991bb714893133f1375cde81e906060015b60405180910390a1505050565b6200070162001079565b6001600160a01b0381166200076c5760405162461bcd60e51b8152602060048201526046602482015260008051602062004e0e833981519152604482015260008051602062004e4e83398151915260648201526564647265737360d01b608482015260a401620003c1565b600b80546001600160a01b0319166001600160a01b0383161790556200079481600162000c08565b620007a181600162000c72565b6040516001600160a01b03821681527feaf1986d341c3096d2d5d32f86ed29a21fee4e0d8365cd2b6fa85c0ec6889cf69060200162000416565b620007e562001079565b600c546010548491620008009161ffff91821691166200184c565b6200080c919062001871565b6010805461ffff191661ffff9283161790819055600c5484926200083e9262010000928390048216929004166200184c565b6200084a919062001871565b6010805463ffff000019166201000061ffff938416021790819055600c5483926200088592640100000000928390048216929004166200184c565b62000891919062001871565b6010805461ffff9283166401000000000261ffff60201b19821681179092556109c4908316919092161711801590620008d957506010546109c46201000090910461ffff1611155b8015620008f757506010546109c464010000000090910461ffff1611155b620009495760405162461bcd60e51b8152602060048201526036602482015260008051602062004e2e833981519152604482015260008051602062004e6e8339815191526064820152608401620003c1565b6040805160608101825261ffff808616825284811660208301528316918101919091526200097c90600c906003620014be565b506040805161ffff808616825280851660208301528316918101919091527f1e5d76e30cd4303515f118e75cbf9d9440bb68ab78b2c2fa46984200dc11ad6490606001620006ea565b620009cf62001079565b600d80546001600160a01b0319166001600160a01b0383169081179091556040519081527f1c75c7e1dcc8d5c68921dfeb6ac2a2a801ac4e38b295aec5c41e03fdc1ef0c4f9060200162000416565b62000a2862001079565b600e54601054849162000a439161ffff91821691166200184c565b62000a4f919062001871565b6010805461ffff191661ffff9283161790819055600e54849262000a819262010000928390048216929004166200184c565b62000a8d919062001871565b6010805463ffff000019166201000061ffff938416021790819055600e54839262000ac892640100000000928390048216929004166200184c565b62000ad4919062001871565b6010805461ffff9283166401000000000261ffff60201b19821681179092556109c490831691909216171180159062000b1c57506010546109c46201000090910461ffff1611155b801562000b3a57506010546109c464010000000090910461ffff1611155b62000b8c5760405162461bcd60e51b8152602060048201526036602482015260008051602062004e2e833981519152604482015260008051602062004e6e8339815191526064820152608401620003c1565b6040805160608101825261ffff8086168252848116602083015283169181019190915262000bbf90600e906003620014be565b506040805161ffff808616825280851660208301528316918101919091527f2524ccb75260c9a50c71af1740c212c049a01232ef122061416b51815ec57a1890606001620006ea565b62000c1262001079565b6001600160a01b0382166000818152600f6020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df791015b60405180910390a25050565b6001600160a01b038216600081815260146020908152604091829020805460ff191685151590811790915591519182527f4b89c347592b1d537e066cb4ed98d87696ae35164745d7e370e4add16941dc92910162000c66565b62000cd562001079565b62000cdf620010d7565b81101562000d305760405162461bcd60e51b815260206004820152601860248201527f4d617857616c6c65743a204c696d697420746f6f206c6f7700000000000000006044820152606401620003c1565b60158190556040518181527f4b39c36d20c57d220f61fd25c4349d4435cc03ef6c2a680942f15333c3c3e0019060200162000416565b62000d7062001079565b62000d7a620010f7565b81101562000dcb5760405162461bcd60e51b815260206004820152601460248201527f4d617854783a204c696d697420746f6f206c6f770000000000000000000000006044820152606401620003c1565b60168190556040518181527fd0459d371e1defb856088ceda9d33bfed2a31a105e0bae2113cdc7dcc9e77e9d9060200162000416565b62000e0b62001079565b62000e15620010f7565b81101562000e665760405162461bcd60e51b815260206004820152601460248201527f4d617854783a204c696d697420746f6f206c6f770000000000000000000000006044820152606401620003c1565b60178190556040518181527fa0dff8a4e8bcaa27b5a2b64bc312f8b338e362bd6cad89f5fe2ae6b8389fb38a9060200162000416565b62000ea662001079565b62000eb0620010f7565b81101562000f015760405162461bcd60e51b815260206004820152601460248201527f4d617854783a204c696d697420746f6f206c6f770000000000000000000000006044820152606401620003c1565b60188190556040518181527fb81a465c2b79d7b689b78d9aaf5a787dd386b73a952be0569f2fbc637aabb8979060200162000416565b62000f4162001079565b6001600160a01b0382166000818152601a6020908152604091829020805460ff191685151590811790915591519182527f38d2732664f4152f6b6754aa1afeaec7fa6618671b172e5430139b51dba2d1d6910162000c66565b6001600160a01b03821662000ff25760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401620003c1565b620010006000838362001113565b80600260008282546200101491906200188f565b90915550506001600160a01b038216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a362001075600083836200141f565b5050565b6005546001600160a01b03163314620010d55760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401620003c1565b565b60006103e8620010e660025490565b620010f2919062001829565b905090565b60006127106200110660025490565b620010e69060056200180f565b6001600160a01b03831660009081526013602052604090205460ff1680156200115557506001600160a01b03821660009081526014602052604090205460ff16155b15620011ba57601654811115620011ba5760405162461bcd60e51b815260206004820152602260248201527f4d617854783a2043616e6e6f7420657863656564206d617820627579206c696d6044820152611a5d60f21b6064820152608401620003c1565b6001600160a01b03821660009081526013602052604090205460ff168015620011fc57506001600160a01b03831660009081526014602052604090205460ff16155b156200126257601754811115620012625760405162461bcd60e51b815260206004820152602360248201527f4d617854783a2043616e6e6f7420657863656564206d61782073656c6c206c696044820152621b5a5d60ea1b6064820152608401620003c1565b6001600160a01b03821660009081526013602052604090205460ff16158015620012a557506001600160a01b03831660009081526014602052604090205460ff16155b156200130f576018548111156200130f5760405162461bcd60e51b815260206004820152602760248201527f4d617854783a2043616e6e6f7420657863656564206d6178207472616e7366656044820152661c881b1a5b5a5d60ca1b6064820152608401620003c1565b6001600160a01b03831660009081526013602052604090205460ff1680156200135157506001600160a01b0382166000908152601a602052604090205460ff16155b806200139a57506001600160a01b03821660009081526013602052604090205460ff1680156200139a57506001600160a01b0383166000908152601a602052604090205460ff16155b15620014075760195460ff16620014075760405162461bcd60e51b815260206004820152602a60248201527f456e61626c6554726164696e673a2054726164696e6720776173206e6f7420656044820152691b98589b1959081e595d60b21b6064820152608401620003c1565b6200141a8383836001600160e01b038416565b505050565b6001600160a01b03821660009081526014602052604090205460ff1662001407576015546001600160a01b0383166000908152602081905260409020541115620014075760405162461bcd60e51b815260206004820152602960248201527f4d617857616c6c65743a2043616e6e6f7420657863656564206d61782077616c6044820152681b195d081b1a5b5a5d60ba1b6064820152608401620003c1565b600183019183908215620015495791602002820160005b838211156200151757835183826101000a81548161ffff021916908361ffff1602179055509260200192600201602081600101049283019260010302620014d5565b8015620015475782816101000a81549061ffff021916905560020160208160010104928301926001030262001517565b505b50620015579291506200155b565b5090565b5b808211156200155757600081556001016200155c565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200159d57607f821691505b602082108103620015be57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200141a57600081815260208120601f850160051c81016020861015620015ed5750805b601f850160051c820191505b818110156200160e57828155600101620015f9565b505050505050565b81516001600160401b0381111562001632576200163262001572565b6200164a8162001643845462001588565b84620015c4565b602080601f831160018114620016825760008415620016695750858301515b600019600386901b1c1916600185901b1785556200160e565b600085815260208120601f198616915b82811015620016b35788860151825594840194600190910190840162001692565b5085821015620016d25787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620017395781600019048211156200171d576200171d620016e2565b808516156200172b57918102915b93841c9390800290620016fd565b509250929050565b6000826200175257506001620017f1565b816200176157506000620017f1565b81600181146200177a57600281146200178557620017a5565b6001915050620017f1565b60ff841115620017995762001799620016e2565b50506001821b620017f1565b5060208310610133831016604e8410600b8410161715620017ca575081810a620017f1565b620017d68383620016f8565b8060001904821115620017ed57620017ed620016e2565b0290505b92915050565b60006200180860ff84168362001741565b9392505050565b8082028115828204841417620017f157620017f1620016e2565b6000826200184757634e487b7160e01b600052601260045260246000fd5b500490565b61ffff8281168282160390808211156200186a576200186a620016e2565b5092915050565b61ffff8181168382160190808211156200186a576200186a620016e2565b80820180821115620017f157620017f1620016e2565b61355980620018b56000396000f3fe60806040526004361061036f5760003560e01c80638089dbfd116101c6578063bd70239b116100f7578063dc3f0d0f11610095578063e85ceee81161006f578063e85ceee814610a24578063f112ba7214610a54578063f2fde38b14610a69578063f3bf087e14610a8957600080fd5b8063dc3f0d0f146109c4578063dd62ed3e146109e4578063e626815814610a0457600080fd5b8063c18bc195116100d1578063c18bc1951461094f578063c400f5e71461096f578063c4d66de81461098f578063d9477526146109af57600080fd5b8063bd70239b146108ef578063c02466681461090f578063c0a904a21461092f57600080fd5b806395d89b4111610164578063a5ece9411161013e578063a5ece94114610883578063a9059cbb146108a3578063a9e75723146108c3578063aa4bde28146108d957600080fd5b806395d89b411461082e578063966b53c414610843578063a457c2d71461086357600080fd5b80638a8c523c116101a05780638a8c523c146107bb5780638da5cb5b146107d05780638e749a8f146107ee5780638fffabed1461080e57600080fd5b80638089dbfd1461076557806388e765ff146107855780638980f11f1461079b57600080fd5b80634a4dd9cd116102a0578063638b1b141161023e578063715018a611610218578063715018a6146106e057806376856557146106f557806379cc679014610725578063801b51d91461074557600080fd5b8063638b1b141461067457806366d602ae1461069457806370a08231146106aa57600080fd5b80634fbee1931161027a5780634fbee193146105b7578063502f7446146105e75780635cce86cd1461062457806360d091a41461065457600080fd5b80634a4dd9cd1461055b5780634ada218b1461057b5780634f011b831461059557600080fd5b806323b872dd1161030d578063313ce567116102e7578063313ce567146104df57806339509351146104fb578063408ccbdf1461051b57806342966c681461053b57600080fd5b806323b872dd1461047f5780632be32b611461049f5780632d99d32e146104bf57600080fd5b806317d41cd01161034957806317d41cd0146103f857806318160ddd1461042b5780631a0e718c1461044a5780631af3c61d1461046a57600080fd5b8063032401571461037b57806306fdde031461039d578063095ea7b3146103c857600080fd5b3661037657005b600080fd5b34801561038757600080fd5b5061039b610396366004613078565b610aa9565b005b3480156103a957600080fd5b506103b2610c5a565b6040516103bf91906130bb565b60405180910390f35b3480156103d457600080fd5b506103e86103e336600461311e565b610cec565b60405190151581526020016103bf565b34801561040457600080fd5b5061041861041336600461314a565b610d06565b60405161ffff90911681526020016103bf565b34801561043757600080fd5b506002545b6040519081526020016103bf565b34801561045657600080fd5b5061039b610465366004613163565b610d34565b34801561047657600080fd5b5061039b610e33565b34801561048b57600080fd5b506103e861049a366004613185565b610ea4565b3480156104ab57600080fd5b5061039b6104ba36600461314a565b610ec8565b3480156104cb57600080fd5b5061039b6104da3660046131d4565b610f2c565b3480156104eb57600080fd5b50604051601281526020016103bf565b34801561050757600080fd5b506103e861051636600461311e565b610fbc565b34801561052757600080fd5b5061041861053636600461314a565b610fde565b34801561054757600080fd5b5061039b61055636600461314a565b610fee565b34801561056757600080fd5b5061039b610576366004613078565b610ffb565b34801561058757600080fd5b506019546103e89060ff1681565b3480156105a157600080fd5b5060055461041890600160b01b900461ffff1681565b3480156105c357600080fd5b506103e86105d236600461320d565b600f6020526000908152604090205460ff1681565b3480156105f357600080fd5b5060115461060c9061010090046001600160a01b031681565b6040516001600160a01b0390911681526020016103bf565b34801561063057600080fd5b506103e861063f36600461320d565b60146020526000908152604090205460ff1681565b34801561066057600080fd5b5061039b61066f36600461320d565b61119a565b34801561068057600080fd5b5060095461060c906001600160a01b031681565b3480156106a057600080fd5b5061043c60175481565b3480156106b657600080fd5b5061043c6106c536600461320d565b6001600160a01b031660009081526020819052604090205490565b3480156106ec57600080fd5b5061039b611232565b34801561070157600080fd5b506103e861071036600461320d565b60136020526000908152604090205460ff1681565b34801561073157600080fd5b5061039b61074036600461311e565b611246565b34801561075157600080fd5b5061039b6107603660046131d4565b61125b565b34801561077157600080fd5b50600d5461060c906001600160a01b031681565b34801561079157600080fd5b5061043c60165481565b3480156107a757600080fd5b5061039b6107b636600461311e565b6112c3565b3480156107c757600080fd5b5061039b6113ca565b3480156107dc57600080fd5b506005546001600160a01b031661060c565b3480156107fa57600080fd5b5061041861080936600461314a565b611470565b34801561081a57600080fd5b5060125461060c906001600160a01b031681565b34801561083a57600080fd5b506103b2611480565b34801561084f57600080fd5b5061041861085e36600461314a565b61148f565b34801561086f57600080fd5b506103e861087e36600461311e565b61149f565b34801561088f57600080fd5b50600b5461060c906001600160a01b031681565b3480156108af57600080fd5b506103e86108be36600461311e565b61151a565b3480156108cf57600080fd5b5061043c60185481565b3480156108e557600080fd5b5061043c60155481565b3480156108fb57600080fd5b5061039b61090a36600461314a565b611528565b34801561091b57600080fd5b5061039b61092a3660046131d4565b61158c565b34801561093b57600080fd5b5061039b61094a3660046131d4565b6115ec565b34801561095b57600080fd5b5061039b61096a36600461314a565b6115fe565b34801561097b57600080fd5b5061039b61098a36600461320d565b611692565b34801561099b57600080fd5b5061039b6109aa36600461320d565b61172a565b3480156109bb57600080fd5b5061043c6117f9565b3480156109d057600080fd5b5061039b6109df36600461314a565b611841565b3480156109f057600080fd5b5061043c6109ff36600461322a565b6118a5565b348015610a1057600080fd5b5061039b610a1f366004613078565b6118d0565b348015610a3057600080fd5b506103e8610a3f36600461320d565b601a6020526000908152604090205460ff1681565b348015610a6057600080fd5b5061043c611a6f565b348015610a7557600080fd5b5061039b610a8436600461320d565b611a9a565b348015610a9557600080fd5b5061039b610aa436600461320d565b611b10565b610ab1611b66565b600a546010548491610aca9161ffff9182169116613284565b610ad491906132a6565b6010805461ffff191661ffff9283161790819055600a548492610b04926201000092839004821692900416613284565b610b0e91906132a6565b6010805463ffff000019166201000061ffff938416021790819055600a548392610b4692600160201b92839004821692900416613284565b610b5091906132a6565b6010805461ffff928316600160201b0265ffff0000000019821681179092556109c4908316919092161711801590610b9757506010546109c46201000090910461ffff1611155b8015610bb357506010546109c4600160201b90910461ffff1611155b610bd85760405162461bcd60e51b8152600401610bcf906132c1565b60405180910390fd5b6040805160608101825261ffff80861682528481166020830152831691810191909152610c0990600a906003612fb6565b506040805161ffff808616825280851660208301528316918101919091527f3ba32fc894a5a194d08f732e0c8261fa9d3efec991bb714893133f1375cde81e906060015b60405180910390a1505050565b606060038054610c6990613317565b80601f0160208091040260200160405190810160405280929190818152602001828054610c9590613317565b8015610ce25780601f10610cb757610100808354040283529160200191610ce2565b820191906000526020600020905b815481529060010190602001808311610cc557829003601f168201915b5050505050905090565b600033610cfa818585611bc0565b60019150505b92915050565b600a8160038110610d1657600080fd5b60109182820401919006600202915054906101000a900461ffff1681565b610d3c611b66565b60008161ffff16118015610d5657506101f48161ffff1611155b610ddc5760405162461bcd60e51b815260206004820152604b60248201527f537761705468726573686f6c643a2043616e6e6f7420657863656564206c696d60448201527f6974732066726f6d20302e30312520746f20352520666f72206e65772073776160648201526a1c081d1a1c995cda1bdb1960aa1b608482015260a401610bcf565b6005805461ffff60b01b1916600160b01b61ffff8416908102919091179091556040519081527fcf1366790fe21e66c9df9dcf67218b1e10acd64d3c99ae8a7429a68de91f1720906020015b60405180910390a150565b6000610e3d611a6f565b30600090815260208190526040902054610e579190613351565b90506000610e6482611ce4565b60408051848152602081018390529192507f5c3340567bf85cd43734028361fe821eac789fbe397b8d1a4f9ebb3ab4c81ef7910160405180910390a15050565b600033610eb2858285611d88565b610ebd858585611e02565b506001949350505050565b610ed0611b66565b610ed86123a1565b811015610ef75760405162461bcd60e51b8152600401610bcf90613364565b60168190556040518181527fd0459d371e1defb856088ceda9d33bfed2a31a105e0bae2113cdc7dcc9e77e9d90602001610e28565b610f34611b66565b6012546001600160a01b0390811690831603610fae5760405162461bcd60e51b815260206004820152603360248201527f44656661756c74526f757465723a2043616e6e6f742072656d6f766520696e696044820152721d1a585b081c185a5c88199c9bdb481b1a5cdd606a1b6064820152608401610bcf565b610fb882826123ba565b5050565b600033610cfa818585610fcf83836118a5565b610fd99190613392565b611bc0565b60108160038110610d1657600080fd5b610ff8338261242f565b50565b611003611b66565b600c54601054849161101c9161ffff9182169116613284565b61102691906132a6565b6010805461ffff191661ffff9283161790819055600c548492611056926201000092839004821692900416613284565b61106091906132a6565b6010805463ffff000019166201000061ffff938416021790819055600c54839261109892600160201b92839004821692900416613284565b6110a291906132a6565b6010805461ffff928316600160201b0265ffff0000000019821681179092556109c49083169190921617118015906110e957506010546109c46201000090910461ffff1611155b801561110557506010546109c4600160201b90910461ffff1611155b6111215760405162461bcd60e51b8152600401610bcf906132c1565b6040805160608101825261ffff8086168252848116602083015283169181019190915261115290600c906003612fb6565b506040805161ffff808616825280851660208301528316918101919091527f1e5d76e30cd4303515f118e75cbf9d9440bb68ab78b2c2fa46984200dc11ad6490606001610c4d565b6111a2611b66565b6001600160a01b0381166111c85760405162461bcd60e51b8152600401610bcf906133a5565b600980546001600160a01b0319166001600160a01b0383161790556111ee81600161158c565b6111f9816001612574565b6040516001600160a01b03821681527f6ef5c55bf991f333ad120679e74ec7640b0edaf86c361263a1ffcb4f53106eb890602001610e28565b61123a611b66565b61124460006125cc565b565b611251823383611d88565b610fb8828261242f565b611263611b66565b6001600160a01b0382166000818152601a6020908152604091829020805460ff191685151590811790915591519182527f38d2732664f4152f6b6754aa1afeaec7fa6618671b172e5430139b51dba2d1d691015b60405180910390a25050565b6112cb611b66565b306001600160a01b038316036113335760405162461bcd60e51b815260206004820152602760248201527f546f6b656e5265636f7665723a2043616e6e6f74207265636f7665722074686960448201526639903a37b5b2b760c91b6064820152608401610bcf565b816001600160a01b031663a9059cbb6113546005546001600160a01b031690565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602481018490526044016020604051808303816000875af11580156113a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113c59190613411565b505050565b6113d2611b66565b60195460ff16156114385760405162461bcd60e51b815260206004820152602a60248201527f456e61626c6554726164696e673a2054726164696e672077617320656e61626c604482015269656420616c726561647960b01b6064820152608401610bcf565b6019805460ff191660011790556040517f799663458a5ef2936f7fa0c99b3336c69c25890f82974f04e811e5bb359186c790600090a1565b600c8160038110610d1657600080fd5b606060048054610c6990613317565b600e8160038110610d1657600080fd5b600033816114ad82866118a5565b90508381101561150d5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610bcf565b610ebd8286868403611bc0565b600033610cfa818585611e02565b611530611b66565b6115386123a1565b8110156115575760405162461bcd60e51b8152600401610bcf90613364565b60188190556040518181527fb81a465c2b79d7b689b78d9aaf5a787dd386b73a952be0569f2fbc637aabb89790602001610e28565b611594611b66565b6001600160a01b0382166000818152600f6020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df791016112b7565b6115f4611b66565b610fb88282612574565b611606611b66565b61160e61261e565b81101561165d5760405162461bcd60e51b815260206004820152601860248201527f4d617857616c6c65743a204c696d697420746f6f206c6f7700000000000000006044820152606401610bcf565b60158190556040518181527f4b39c36d20c57d220f61fd25c4349d4435cc03ef6c2a680942f15333c3c3e00190602001610e28565b61169a611b66565b6001600160a01b0381166116c05760405162461bcd60e51b8152600401610bcf906133a5565b600b80546001600160a01b0319166001600160a01b0383161790556116e681600161158c565b6116f1816001612574565b6040516001600160a01b03821681527feaf1986d341c3096d2d5d32f86ed29a21fee4e0d8365cd2b6fa85c0ec6889cf690602001610e28565b600554600160a81b900460ff168061174c5750600554600160a01b900460ff16155b6117af5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610bcf565b600554600160a81b900460ff161580156117d9576005805461ffff60a01b191661010160a01b1790555b6117e28261262c565b8015610fb8576005805460ff60a81b191690555050565b6005546012546001600160a01b031660009081526020819052604081205490916127109161183291600160b01b900461ffff169061342e565b61183c9190613445565b905090565b611849611b66565b6118516123a1565b8110156118705760405162461bcd60e51b8152600401610bcf90613364565b60178190556040518181527fa0dff8a4e8bcaa27b5a2b64bc312f8b338e362bd6cad89f5fe2ae6b8389fb38a90602001610e28565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6118d8611b66565b600e5460105484916118f19161ffff9182169116613284565b6118fb91906132a6565b6010805461ffff191661ffff9283161790819055600e54849261192b926201000092839004821692900416613284565b61193591906132a6565b6010805463ffff000019166201000061ffff938416021790819055600e54839261196d92600160201b92839004821692900416613284565b61197791906132a6565b6010805461ffff928316600160201b0265ffff0000000019821681179092556109c49083169190921617118015906119be57506010546109c46201000090910461ffff1611155b80156119da57506010546109c4600160201b90910461ffff1611155b6119f65760405162461bcd60e51b8152600401610bcf906132c1565b6040805160608101825261ffff80861682528481166020830152831691810191909152611a2790600e906003612fb6565b506040805161ffff808616825280851660208301528316918101919091527f2524ccb75260c9a50c71af1740c212c049a01232ef122061416b51815ec57a1890606001610c4d565b60006008546007546006546000611a869190613392565b611a909190613392565b61183c9190613392565b611aa2611b66565b6001600160a01b038116611b075760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610bcf565b610ff8816125cc565b611b18611b66565b600d80546001600160a01b0319166001600160a01b0383169081179091556040519081527f1c75c7e1dcc8d5c68921dfeb6ac2a2a801ac4e38b295aec5c41e03fdc1ef0c4f90602001610e28565b6005546001600160a01b031633146112445760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610bcf565b6001600160a01b038316611c225760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610bcf565b6001600160a01b038216611c835760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610bcf565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600080611cf2600284613445565b90506000611d008285613351565b9050611d0b8261283a565b478015611d80576000806000611d2185856129b7565b604080518481526020810184905290810182905292955090935091507f3db50c324c27fb39c451e35d4d23abba3e20d96d036e7a40f4adc681c1ce30139060600160405180910390a1611d748386613351565b98975050505050505050565b509392505050565b6000611d9484846118a5565b90506000198114611dfc5781811015611def5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610bcf565b611dfc8484848403611bc0565b50505050565b60115460ff16158015611e155750600081115b8015611e3457506011546001600160a01b038381166101009092041614155b8015611e5957506001600160a01b0383166000908152600f602052604090205460ff16155b8015611e7e57506001600160a01b0382166000908152600f602052604090205460ff16155b15612144576001600160a01b03831660009081526013602052604081205460039060ff1615611ebc5760105461ffff1615611eb7575060005b611f0e565b6001600160a01b03841660009081526013602052604090205460ff1615611ef75760105462010000900461ffff1615611eb757506001611f0e565b601054600160201b900461ffff1615611f0e575060025b60038160ff1610156121305761271060108260ff1660038110611f3357611f33613258565b601091828204019190066002029054906101000a900461ffff1661ffff1684611f5c919061342e565b611f669190613445565b9150611f728284613351565b925060108160ff1660038110611f8a57611f8a613258565b601091828204019190066002029054906101000a900461ffff1661ffff16600a8260ff1660038110611fbe57611fbe613258565b601091828204019190066002029054906101000a900461ffff1661ffff1683611fe7919061342e565b611ff19190613445565b600660008282546120029190613392565b909155506010905060ff82166003811061201e5761201e613258565b601091828204019190066002029054906101000a900461ffff1661ffff16600c8260ff166003811061205257612052613258565b601091828204019190066002029054906101000a900461ffff1661ffff168361207b919061342e565b6120859190613445565b600760008282546120969190613392565b909155506010905060ff8216600381106120b2576120b2613258565b601091828204019190066002029054906101000a900461ffff1661ffff16600e8260ff16600381106120e6576120e6613258565b601091828204019190066002029054906101000a900461ffff1661ffff168361210f919061342e565b6121199190613445565b6008600082825461212a9190613392565b90915550505b811561214157612141853084612a83565b50505b600061214e6117f9565b612156611a6f565b1015801561217c57506012546001600160a01b0316600090815260208190526040812054115b60115490915060ff161580156121ab57506001600160a01b03841660009081526013602052604090205460ff16155b80156121ca57506011546001600160a01b038581166101009092041614155b80156121d35750805b15612396576011805460ff19166001179055600060065411806121f857506000600754115b1561237157600060075460065460006122119190613392565b61221b9190613392565b905060006122288261283a565b6006544790600090849061223c908461342e565b6122469190613445565b905080156122c6576009546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050925082156122c657600954604080516001600160a01b039092168252602082018390527f01c315ade553f98aff01ff11fa4b8d61ebe9ea3c2347276e6d78ec0aa07af1a1910160405180910390a15b6000600681905560075485906122dc908561342e565b6122e69190613445565b9050801561236657600b546040516001600160a01b039091169082156108fc029083906000818181858888f193505050509350831561236657600b54604080516001600160a01b039092168252602082018390527f3e6afd69feef8f4cc1adbe6d3905e477db85aa5aa28d02674dc4bc6d39237fe4910160405180910390a15b505060006007555050505b6008541561238b57612384600854611ce4565b5060006008555b6011805460ff191690555b611dfc848484612a83565b60006127106123af60025490565b61183290600561342e565b6001600160a01b0382166000908152601360205260409020805460ff191682158015919091179091556123f2576123f2826001612574565b816001600160a01b03167f911aa18ddbbbc33c9b4c704a71bdaa0984b0aa2e82726a7f51e64bad0b0a8455826040516112b7911515815260200190565b6001600160a01b03821661248f5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610bcf565b61249b82600083612c38565b6001600160a01b0382166000908152602081905260409020548181101561250f5760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608401610bcf565b6001600160a01b0383166000818152602081815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36113c583600084612f1a565b6001600160a01b038216600081815260146020908152604091829020805460ff191685151590811790915591519182527f4b89c347592b1d537e066cb4ed98d87696ae35164745d7e370e4add16941dc9291016112b7565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60006103e861183260025490565b80601160016101000a8154816001600160a01b0302191690836001600160a01b03160217905550601160019054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156126a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126ca9190613467565b6001600160a01b031663c9c6539630601160019054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561272c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127509190613467565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801561279d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127c19190613467565b601280546001600160a01b0319166001600160a01b03929092169190911790556127ec816001612574565b601254612803906001600160a01b031660016123ba565b6040516001600160a01b038216907fbc052db65df144ad4f71f02da93cae3d4401104c30ac374d7cc10d87ee07b60290600090a250565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061286f5761286f613258565b60200260200101906001600160a01b031690816001600160a01b031681525050601160019054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156128e2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129069190613467565b8160018151811061291957612919613258565b6001600160a01b03928316602091820292909201015260115461294491309161010090041684611bc0565b60115460405163791ac94760e01b81526101009091046001600160a01b03169063791ac94790612981908590600090869030904290600401613484565b600060405180830381600087803b15801561299b57600080fd5b505af11580156129af573d6000803e3d6000fd5b505050505050565b60008060006129dc30601160019054906101000a90046001600160a01b031687611bc0565b601154600d5460405163f305d71960e01b81523060048201526024810188905260006044820181905260648201526001600160a01b0391821660848201524260a4820152610100909204169063f305d71990869060c40160606040518083038185885af1158015612a51573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190612a7691906134f5565b9250925092509250925092565b6001600160a01b038316612ae75760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610bcf565b6001600160a01b038216612b495760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610bcf565b612b54838383612c38565b6001600160a01b03831660009081526020819052604090205481811015612bcc5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610bcf565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3611dfc848484612f1a565b6001600160a01b03831660009081526013602052604090205460ff168015612c7957506001600160a01b03821660009081526014602052604090205460ff16155b15612cdb57601654811115612cdb5760405162461bcd60e51b815260206004820152602260248201527f4d617854783a2043616e6e6f7420657863656564206d617820627579206c696d6044820152611a5d60f21b6064820152608401610bcf565b6001600160a01b03821660009081526013602052604090205460ff168015612d1c57506001600160a01b03831660009081526014602052604090205460ff16155b15612d7f57601754811115612d7f5760405162461bcd60e51b815260206004820152602360248201527f4d617854783a2043616e6e6f7420657863656564206d61782073656c6c206c696044820152621b5a5d60ea1b6064820152608401610bcf565b6001600160a01b03821660009081526013602052604090205460ff16158015612dc157506001600160a01b03831660009081526014602052604090205460ff16155b15612e2857601854811115612e285760405162461bcd60e51b815260206004820152602760248201527f4d617854783a2043616e6e6f7420657863656564206d6178207472616e7366656044820152661c881b1a5b5a5d60ca1b6064820152608401610bcf565b6001600160a01b03831660009081526013602052604090205460ff168015612e6957506001600160a01b0382166000908152601a602052604090205460ff16155b80612eb057506001600160a01b03821660009081526013602052604090205460ff168015612eb057506001600160a01b0383166000908152601a602052604090205460ff16155b156113c55760195460ff166113c55760405162461bcd60e51b815260206004820152602a60248201527f456e61626c6554726164696e673a2054726164696e6720776173206e6f7420656044820152691b98589b1959081e595d60b21b6064820152608401610bcf565b6001600160a01b03821660009081526014602052604090205460ff166113c5576015546001600160a01b03831660009081526020819052604090205411156113c55760405162461bcd60e51b815260206004820152602960248201527f4d617857616c6c65743a2043616e6e6f7420657863656564206d61782077616c6044820152681b195d081b1a5b5a5d60ba1b6064820152608401610bcf565b60018301918390821561303c5791602002820160005b8382111561300c57835183826101000a81548161ffff021916908361ffff1602179055509260200192600201602081600101049283019260010302612fcc565b801561303a5782816101000a81549061ffff021916905560020160208160010104928301926001030261300c565b505b5061304892915061304c565b5090565b5b80821115613048576000815560010161304d565b803561ffff8116811461307357600080fd5b919050565b60008060006060848603121561308d57600080fd5b61309684613061565b92506130a460208501613061565b91506130b260408501613061565b90509250925092565b600060208083528351808285015260005b818110156130e8578581018301518582016040015282016130cc565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610ff857600080fd5b6000806040838503121561313157600080fd5b823561313c81613109565b946020939093013593505050565b60006020828403121561315c57600080fd5b5035919050565b60006020828403121561317557600080fd5b61317e82613061565b9392505050565b60008060006060848603121561319a57600080fd5b83356131a581613109565b925060208401356131b581613109565b929592945050506040919091013590565b8015158114610ff857600080fd5b600080604083850312156131e757600080fd5b82356131f281613109565b91506020830135613202816131c6565b809150509250929050565b60006020828403121561321f57600080fd5b813561317e81613109565b6000806040838503121561323d57600080fd5b823561324881613109565b9150602083013561320281613109565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b61ffff82811682821603908082111561329f5761329f61326e565b5092915050565b61ffff81811683821601908082111561329f5761329f61326e565b60208082526036908201527f546178657344656661756c74526f757465723a2043616e6e6f7420657863656560408201527564206d617820746f74616c20666565206f662032352560501b606082015260800190565b600181811c9082168061332b57607f821691505b60208210810361334b57634e487b7160e01b600052602260045260246000fd5b50919050565b81810381811115610d0057610d0061326e565b6020808252601490820152734d617854783a204c696d697420746f6f206c6f7760601b604082015260600190565b80820180821115610d0057610d0061326e565b60208082526046908201527f546178657344656661756c74526f7574657257616c6c65743a2057616c6c657460408201527f2074617820726563697069656e742063616e6e6f74206265206120307830206160608201526564647265737360d01b608082015260a00190565b60006020828403121561342357600080fd5b815161317e816131c6565b8082028115828204841417610d0057610d0061326e565b60008261346257634e487b7160e01b600052601260045260246000fd5b500490565b60006020828403121561347957600080fd5b815161317e81613109565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156134d45784516001600160a01b0316835293830193918301916001016134af565b50506001600160a01b03969096166060850152505050608001529392505050565b60008060006060848603121561350a57600080fd5b835192506020840151915060408401519050925092509256fea2646970667358221220e3f15dc376e1ac6320850956556e565829bd7ffcf29179aab71a087965fbb19864736f6c63430008130033546178657344656661756c74526f7574657257616c6c65743a2057616c6c6574546178657344656661756c74526f757465723a2043616e6e6f742065786365652074617820726563697069656e742063616e6e6f74206265206120307830206164206d617820746f74616c20666565206f662032352500000000000000000000
©2022-now by Spectre