0 txs
0 calls
constructor
constructor()
functions
DEFAULT_ADMIN_ROLE
viewfunction DEFAULT_ADMIN_ROLE() view returns (bytes32)
deposits
viewfunction deposits(uint256) view returns (address owner, uint128 liquidity, address token0, address token1)
getRoleAdmin
viewfunction getRoleAdmin(bytes32 role) view returns (bytes32)
hasRole
viewfunction hasRole(bytes32 role, address account) view returns (bool)
incentives
viewfunction incentives(bytes32) view returns (address pool, address rewardToken, uint256 reward, uint256 startTime, uint256 endTime)
marketTokenIds
viewfunction marketTokenIds(address, uint256) view returns (uint256)
nonfungiblePositionManager
viewfunction nonfungiblePositionManager() view returns (address)
onERC721Received
viewfunction onERC721Received(address, address, uint256, bytes) view returns (bytes4)
poolIncentives
viewfunction poolIncentives(address, uint256) view returns (bytes32)
proxiableUUID
viewfunction proxiableUUID() view returns (bytes32)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
tokenIdMarket
viewfunction tokenIdMarket(uint256) view returns (address)
uniswapV3Staker
viewfunction uniswapV3Staker() view returns (address)
createIncentive
nonpayablefunction createIncentive(address pool, address rewardToken, uint256 reward, uint256 startTime, uint256 endTime)
endIncentive
nonpayablefunction endIncentive(address pool, address rewardToken, uint256 startTime, uint256 endTime)
grantRole
nonpayablefunction grantRole(bytes32 role, address account)
initialize
nonpayablefunction initialize(address _nonfungiblePositionManager, address _uniswapV3Staker)
mintAndProvideLiquidity
nonpayablefunction mintAndProvideLiquidity(address truthMarket, uint256 paymentTokenAmount)
mintAndProvideLiquidityWithPrice
nonpayablefunction mintAndProvideLiquidityWithPrice(address truthMarket, uint256 paymentTokenAmount, uint256 yesInitialPrice, uint256 singleSidedLiquidityAmount)
removeLiquidity
nonpayablefunction removeLiquidity(uint256 tokenId) returns (uint256 amount0, uint256 amount1)
removeMarketLiquidity
nonpayablefunction removeMarketLiquidity(address market)
renounceRole
nonpayablefunction renounceRole(bytes32 role, address account)
revokeRole
nonpayablefunction revokeRole(bytes32 role, address account)
upgradeTo
nonpayablefunction upgradeTo(address newImplementation)
upgradeToAndCall
payablefunction upgradeToAndCall(address newImplementation, bytes data) payable
withdrawAllToken
nonpayablefunction withdrawAllToken(address token, address to)
withdrawToken
nonpayablefunction withdrawToken(address token, uint256 amount, address to)
events
AdminChanged
event AdminChanged(address previousAdmin, address newAdmin)
BeaconUpgraded
event BeaconUpgraded(address indexed beacon)
IncentiveCreated
event IncentiveCreated(bytes32 indexed incentiveId, address indexed pool, address indexed rewardToken, uint256 reward, uint256 startTime, uint256 endTime)
IncentiveEnded
event IncentiveEnded(bytes32 indexed incentiveId, address indexed pool, address indexed rewardToken, uint256 startTime, uint256 endTime)
Initialized
event Initialized(uint8 version)
LiquidityRemoved
event LiquidityRemoved(address indexed market, uint256 indexed tokenId, uint256 amount0, uint256 amount1)
MarketLiquidityProvided
event MarketLiquidityProvided(address market)
MarketLiquidityRemoved
event MarketLiquidityRemoved(address indexed market, uint256 totalAmount0, uint256 totalAmount1)
RoleAdminChanged
event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)
RoleGranted
event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)
RoleRevoked
event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)
Upgraded
event Upgraded(address indexed implementation)
errors
No errors.
creation bytecode
0x60a0806040523460d657306080525f549060ff8260081c166084575060ff80821603604b575b604051614f6590816100db82396080518181816113000152818161145f0152611cad0152f35b60ff90811916175f557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160ff8152a15f6025565b62461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b6064820152608490fd5b5f80fdfe6080806040526004361015610012575f80fd5b5f905f3560e01c90816301ffc9a714612d6c5750806303baa0ea14612d44578063150b7a0214612c75578063248a9ca314612c485780632f2ff15d14612ba057806331c1aa3f14611f0357806336568abe14611e705780633659cfe614611c885780633aeebedb14611bcc5780633ccdbb2814611b7b5780634255d5e814611928578063485cc955146116af5780634f1ef286146113e457806351f8705a146113b057806352d1902d146112ed578063607777951461128c57806391d14854146112425780639c8f9f2314610f16578063a217fddf14610efa578063b02c43d014610e98578063b44a272214610e6f578063b73178bf146103ea578063c5d62bd7146103a2578063d28bb1b21461034b578063d547741f1461030a578063f74767a5146101da5763fbe4bc3714610147575f80fd5b346101c95760403660031901126101c95780610161612dbf565b6101696130d3565b303b156101d7576040516331c1aa3f60e01b81526001600160a01b03909116600482015260248035908201526032604482015260648101829052818160848183305af180156101cc576101b95750f35b6101c290612deb565b6101c95780f35b80fd5b6040513d84823e3d90fd5b50fd5b50346101c95760803660031901126101c9576101f4612dbf565b6101fc612dd5565b6044359060643561020b6130d3565b6040516001600160a01b03928316948316939061022781612dfe565b8581528660208095878285015284604085015285606085015230608085015260fc541660a460405180948193632d6b69b960e21b835261026a6004840189613076565b5af19081156102ff5785916102ce575b5050907f5c7cb2fcfb798b4434a2e9365701ae8ce313266e9fc99e792e48739b04d52ba29260409283516102b18782018093613076565b60a081526102be81612e6b565b519020948351928352820152a480f35b819392933d83116102f8575b6102e48183612e86565b810103126102f45790835f61027a565b5f80fd5b503d6102da565b6040513d8a823e3d90fd5b50346101c95760403660031901126101c95761034860043561032a612dd5565b9080845260c960205261034360016040862001546133d6565b613f3f565b80f35b50346101c95760403660031901126101c957610365612dbf565b6001600160a01b0316815261010060205260408120805460243592908310156101c95760206103948484612ec2565b90546040519160031b1c8152f35b50346101c95760403660031901126101c9576103bc612dbf565b6001600160a01b0316815260ff60205260408120805460243592908310156101c95760206103948484612ec2565b50346101c95760203660031901126101c957610404612dbf565b61040c6130d3565b6001600160a01b0381168252610100602052604082208054805b610a785750506001600160a01b03811682526101006020526040822080548382559081610a5a575b505060405163a3dd261960e01b81526020816004816001600160a01b0386165afa908115610680578391610a1f575b506008811015610a0b576007146104cb575b7f7fd2bd6999ffd36e35ed6ce6daf531c90a1d703b2c4cf9daac7f71ae6d209b0d604080519284845284602085015260018060a01b031692a280f35b604051632486d67160e01b815282906020816004816001600160a01b0387165afa9081156101cc5782916109d6575b50604051630786cdd960e51b81526020816004816001600160a01b0388165afa90811561068057839161099c575b506040516308d4f88560e11b8152916020836004816001600160a01b0389165afa9283156108da578493610960575b50600181036106c257506040516370a0823160e01b815230600482015291506001600160a01b0316602082602481845afa91821561068057839261068b575b50816105a5575b50505061048f565b60405163095ea7b360e01b81526001600160a01b038516600482015260248101839052906020908290604490829087905af1801561068057610643575b506001600160a01b0383163b1561063f5760405163db006a7560e01b815260048101919091528181602481836001600160a01b0388165af180156101cc5761062b575b8061059d565b61063490612deb565b61063f57815f610625565b5080fd5b6020813d602011610678575b8161065c60209383612e86565b810103126106745761066d90612f0c565b505f6105e2565b8280fd5b3d915061064f565b6040513d85823e3d90fd5b925090506020823d6020116106ba575b816106a860209383612e86565b810103126102f457839151905f610596565b3d915061069b565b6002810361070d5750506040516370a0823160e01b8152306004820152906001600160a01b0316602082602481845afa91821561068057839261068b5750816105a55750505061048f565b60031461071c5750505061048f565b6040516370a0823160e01b808252306004830152909290916001600160a01b031690602084602481855afa93841561091e578594610929575b506040519283523060048401526001600160a01b031692602083602481875afa92831561091e5785936108e5575b5090818592610858575b505050806107da575b5050506001600160a01b0381163b1561063f57604051633415a4cf60e01b815282908181600481836001600160a01b0388165af180156101cc5761062b578061059d565b60405163095ea7b360e01b81526001600160a01b038516600482015260248101919091529160209183916044918391905af180156106805761081f575b808391610796565b6020813d602011610850575b8161083860209383612e86565b810103126106745761084990612f0c565b505f610817565b3d915061082b565b60405163095ea7b360e01b81526001600160a01b038816600482015260248101919091529160209183916044918391905af180156108da5761089d575b80849161078d565b6020813d6020116108d2575b816108b660209383612e86565b810103126108ce576108c790612f0c565b505f610895565b8380fd5b3d91506108a9565b6040513d86823e3d90fd5b91945091506020813d602011610916575b8161090360209383612e86565b810103126102f457518593909184610783565b3d91506108f6565b6040513d87823e3d90fd5b945092506020843d602011610958575b8161094660209383612e86565b810103126102f457859351925f610755565b3d9150610939565b9092506020813d602011610994575b8161097c60209383612e86565b810103126108ce5761098d90612eeb565b915f610557565b3d915061096f565b90506020813d6020116109ce575b816109b760209383612e86565b81010312610674576109c890612eeb565b5f610528565b3d91506109aa565b9150506020813d602011610a03575b816109f260209383612e86565b810103126102f4578290515f6104fa565b3d91506109e5565b634e487b7160e01b83526021600452602483fd5b90506020813d602011610a52575b81610a3a60209383612e86565b8101031261067457516008811015610674575f61047d565b3d9150610a2d565b835260208320908101905b8181101561044e575f8155600101610a65565b5f198101818111610e5b57610a8d9083612ec2565b905490818160031b1c865260fd6020526001600160801b03600160408820015416610ac4575b5050610abe906130c7565b80610426565b610acc6130d3565b818160031b1c865260fd6020526001600160801b036040816001828a2001541660a48251610af981612dfe565b868660031b1c8152602081019283528a84820181815260608301828152608084019042825260018060a01b0360fb5416928851998a988997630624e65f60e11b8952516004890152511660248701525160448601525160648501525160848401525af18015610e3257610e3d575b5060fb54604080516001600160801b03926060916084918b906001600160a01b0316610b9283612e19565b600388901b89901c83523060208401908152868401888152958401888152875163fc6f786560e01b81529451600486015290516001600160a01b03166024850152945187166044840152935190951660648201529384928391905af1908115610e325787908892610e00575b50600383811b85901c895260fd60205260408920805460028201549190920154610c469285926001600160a01b0391821692821691610c41918791859116613fb2565b613fb2565b600383901b84901c885261010160205260408820805491906001600160a01b038316610ca1575b5050505090610abe929160031b1c855260fd602052846003604082208281558260018201558260028201550155905f610ab3565b6001600160a01b0319831690556001600160a01b0382168952610100602052604089209892979596929591929091865b8a5480821015610deb57610ce5828d612ec2565b898960031b1c91549060031b1c14610d005750600101610cd1565b5f9a92999796959493989a198101908111610dd757610d33610d25610d49928e612ec2565b90549060031b1c928d612ec2565b819391549060031b91821b915f19901b19161790565b90558954998a15610dc357610abe9798999a5f190190610d698282612ec2565b8154905f199060031b1b19169055555b60405191825260208201527f1dc8bb69df2b8e91fbdcbfcf93d951b3f0000f085a95fe3f7946d6161439245d6040858560031b1c9360018060a01b031692a39091925f8080610c6d565b634e487b7160e01b8a52603160045260248afd5b634e487b7160e01b8b52601160045260248bfd5b505097610abe96995096949392919096610d79565b9050610e24915060403d604011610e2b575b610e1c8183612e86565b8101906130b1565b905f610bfe565b503d610e12565b6040513d89823e3d90fd5b610e559060403d604011610e2b57610e1c8183612e86565b50610b67565b634e487b7160e01b85526011600452602485fd5b50346101c957806003193601126101c95760fb546040516001600160a01b039091168152602090f35b50346101c95760203660031901126101c9576040608091600435815260fd6020522060018060a01b0380825416916001600160801b03600182015416916003816002840154169201541691604051938452602084015260408301526060820152f35b50346101c957806003193601126101c957602090604051908152f35b50346101c95760203660031901126101c957610f306130d3565b600435815260fd6020526001600160801b03604081600182852001541660a48251610f5a81612dfe565b6004358152602081019283528584820181815260608301828152608084019042825260018060a01b0360fb5416928851998a988997630624e65f60e11b8952516004890152511660248701525160448601525160648501525160848401525af180156101cc57611224575b5060fb54604080516001600160801b039260609160849186906001600160a01b0316610ff083612e19565b6004358352306020840152868684015286858401528551968795869463fc6f786560e01b86528051600487015260018060a01b036020820151166024870152828982015116604487015201511660648401525af180156101cc5782918391611203575b50600435835260fd60205260408320805460028201546003928301549295926110959285926001600160a01b0391821692821691610c41918991859116613fb2565b60043581526101016020526040812080546001600160a01b038116959190866110ea575b6040868686600435815260fd6020526003848220828155826001820155826002820155015582519182526020820152f35b6001600160a01b031916905584825261010060205260408220949093929190815b8654808210156111f35761111f8289612ec2565b600435915490891b1c14611136575060010161110b565b96905f96929394959619978881019081116111df57610d3361115b6111689285612ec2565b905490861b1c9284612ec2565b905580549687156111cb578060409801926111838484612ec2565b81939154921b1b19169055555b8451908482528360208301527f1dc8bb69df2b8e91fbdcbfcf93d951b3f0000f085a95fe3f7946d6161439245d8660043593a35f80806110b9565b634e487b7160e01b85526031600452602485fd5b634e487b7160e01b86526011600452602486fd5b5050909192935060409450611190565b905061121e915060403d604011610e2b57610e1c8183612e86565b5f611053565b61123c9060403d604011610e2b57610e1c8183612e86565b50610fc5565b50346101c95760403660031901126101c957604061125e612dd5565b91600435815260c9602052209060018060a01b03165f52602052602060ff60405f2054166040519015158152f35b50346101c95760203660031901126101c957604060a091600435815260fe60205220600180831b0390818154169160018201541690600281015460046003830154920154926040519485526020850152604084015260608301526080820152f35b50346101c957806003193601126101c9577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031630036113455760206040515f80516020614f108339815191528152f35b60405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608490fd5b50346101c95760203660031901126101c95760209060043581526101018252604060018060a01b0391205416604051908152f35b5060403660031901126101c9576113f9612dbf565b602435906001600160401b038211610674573660238301121561067457816004013561142481612ea7565b906114326040519283612e86565b80825284602094858401923660248284010111610674578060248893018537840101526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081169061148d30831415612f74565b6114a95f80516020614f10833981519152928284541614612fd5565b6114b1613299565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff16156114e9575050505061034891506141e3565b84939416906040516352d1902d60e01b81528681600481865afa5f9181611680575b5061156c5760405162461bcd60e51b815260048101889052602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b959495036116295761157d836141e3565b7fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f80a2835115801590611621575b6115b8575b5050505080f35b5f8091611617957f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c604051966115ed88612e50565b60278852870152660819985a5b195960ca1b60408701525190845af4611611614e4f565b91614e7e565b505f8080806115b1565b5060016115ac565b60405162461bcd60e51b815260048101859052602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608490fd5b9091508781813d83116116a8575b6116988183612e86565b810103126102f45751905f61150b565b503d61168e565b50346101c95760403660031901126101c9576116c9612dbf565b6116d1612dd5565b82549160ff90818460081c16159283809461191c575b8015611906575b156118aa5760ff1985811660011787559484611899575b5061171e83875460081c16611719816140e2565b6140e2565b60fb80546001600160a01b039384166001600160a01b03199182161790915560fc8054929093169116179055335f9081527f81fe90a866a48a634a12852c1be675b683a22307409932a7443b8029347be7566020908152604090912054909390821615611850575b7f97667070c54ef182b0f5858b034beac1b6f3089aa2d3188bb1e8929f4fa9b92991825f5260c9855260405f20335f52855260405f20541615611804575b50506117ce575080f35b7f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989061ff0019835416835560405160018152a180f35b815f5260c9845260405f20335f528452600160405f2091825416179055339033907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a45f806117c4565b5f805260c9845260405f20335f52845260405f2060018282541617905533335f7f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4611786565b61ffff19166101011786555f611705565b60405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b1580156116ee57506001838616146116ee565b506001838616106116e7565b50346101c95760a03660031901126101c957611942612dbf565b61194a612dd5565b604435908160843560643561195d6130d3565b60fc5460405163095ea7b360e01b81526001600160a01b0391821660048201526024810196909652938416956020959086826044818c8c5af1918215611b70578692611b39575b5016946040516119b381612dfe565b8781528682820152826040820152836060820152306080820152888660fc5416803b1561063f5781809160c460405180948193635cc5e3d960e01b83526119fd600484018a613076565b8c60a48401525af180156101cc57611b21575b5050604051611a228382018093613076565b60a08152611a2f81612e6b565b519020946004868a60405193611a4485612dfe565b8a85528585018c815260408601918a835280604060608901958b875260808a01978d8952815260fe8b5220975116906001600160601b0360a01b918289541617885560018801925116908254161790555160028501555160038401555191015585885260ff815260408820805490600160401b821015611b0d579186611af9610d33846060989660017f238a6118211b5bf2823b96f58a829b681f545db0dbe2a6483eea7033d55099d39b9997018155612ec2565b90556040519384528301526040820152a480f35b634e487b7160e01b8a52604160045260248afd5b611b2a90612deb565b611b3557885f611a10565b8880fd5b91508682813d8311611b69575b611b508183612e86565b81010312611b3557611b628692612f0c565b505f6119a4565b503d611b46565b6040513d8b823e3d90fd5b50346101c95760603660031901126101c957611b95612dbf565b6001600160a01b0360443581811692918382036102f457611bc261034894611bbb613299565b1515613036565b6024359216613fb2565b50346101c95760403660031901126101c957611be6612dbf565b611bee612dd5565b90611bf7613299565b6001600160a01b0390611c0d8383161515613036565b6040516370a0823160e01b8152306004820152911691602082602481865afa9182156108da578492611c54575b5081611c44578380f35b611c4d92613fb2565b5f80808380f35b9091506020813d602011611c80575b81611c7060209383612e86565b810103126102f45751905f611c3a565b3d9150611c63565b50346101c95760208060031936011261063f57611ca3612dbf565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811690611cdb30831415612f74565b611cf75f80516020614f10833981519152928284541614612fd5565b611cff613299565b60405191848301918383106001600160401b03841117611e5c578260405286845260ff7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd914354165f14611d59575050505061034891506141e3565b84939416906040516352d1902d60e01b81528681600481865afa5f9181611e2d575b50611ddc5760405162461bcd60e51b815260048101889052602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b9594950361162957611ded836141e3565b7fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f80a2835115801590611e26576115b8575050505080f35b505f6115ac565b9091508781813d8311611e55575b611e458183612e86565b810103126102f45751905f611d7b565b503d611e3b565b634e487b7160e01b5f52604160045260245ffd5b50346101c95760403660031901126101c957611e8a612dd5565b336001600160a01b03821603611ea65761034890600435613f3f565b60405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608490fd5b50346102f45760803660031901126102f457611f1d612dbf565b606490611f286130d3565b604435151580612b95575b15612b6257604051633013ce2960e01b81526020816004816001600160a01b0386165afa908115612ae4575f91612b28575b5082604435810311612a7157611f7e8335602435612eff565b60405163095ea7b360e01b81526001600160a01b038416600482015260248101829052602081806044810103815f6001600160a01b0388165af18015612ae457612aef575b506001600160a01b0383163b156102f45760405163140e25ad60e31b815260048101919091525f81602481836001600160a01b0388165af18015612ae457612ad1575b506040805163392db6d360e21b81529390846004816001600160a01b0387165afa93841561091e5785908695612a85575b5081612047604435602435612f19565b049060243582810311612a715760405163313ce56760e01b8152926020846004816001600160a01b0389165afa9384156102ff578894612a35575b50604051630786cdd960e51b81526020816004816001600160a01b038b165afa908115611b705789916129f6575b5060405163313ce56760e01b815290602090829060049082906001600160a01b03165afa908115611b705789916129bc575b506040516308d4f88560e11b8152936020856004816001600160a01b038c165afa948515612972578a9561297d575b5060405163313ce56760e01b815294602090869060049082906001600160a01b03165afa948515612972578a95612932575b5061215060ff8316612f58565b61215c90602435612f19565b61216860ff8816612f58565b61217191612f2c565b9561217e60ff8716612f58565b61218a90602435612f19565b61219660ff8316612f58565b61219f91612f2c565b9260ff166121ac90612f58565b6121b7908535612f19565b6121c360ff8316612f58565b6121cc91612f2c565b9560ff166121d990612f58565b6121e4908535612f19565b9060ff166121f190612f58565b6121fa91612f2c565b604051630786cdd960e51b81529096908b9080806001600160a01b038d165a92600491602094fa9081156101cc5782916128f0575b5060fb5461227f9260209290916001600160a01b031661224f8b87612eff565b60405163095ea7b360e01b81526001600160a01b0390921660048301526024820152938492839182906044820190565b03926001600160a01b03165af18015612831576128b7575b506040516308d4f88560e11b81528b906020816004816001600160a01b038f165afa9081156101cc578291612875575b5060fb546122e79260209290916001600160a01b031661224f8c89612eff565b03926001600160a01b03165af180156128315761283c575b5060fb5460405163095ea7b360e01b81526001600160a01b03909116600482015260248035908201526020818d81806044810103916001600160a01b038e165af18015612831576127f8575b50604051630786cdd960e51b81528b906020816004816001600160a01b038f165afa9081156101cc5782916127be575b506040516334324e9f60e21b81526020816004816001600160a01b038c165afa801561068057858d938a938e9693612770575b506123ca966044359690916001600160a01b0390911690613585565b6040516308d4f88560e11b81528a6020826004816001600160a01b038e165afa8015612763578190612729575b6004925060208c604051948580926334324e9f60e21b825260018060a01b03165afa9081156101cc578b938d93926126e0575b5061244a9560443588039560243503916001600160a01b038d1690613585565b3561248a575b6040516001600160a01b038616815287907f2f9eb3607e1ab9527e84637029cbf03ef11854f6342d9be56434e8f8ea66a91390602090a180f35b604051630786cdd960e51b8152906020826004816001600160a01b038a165afa9182156102ff5788926126a0575b506040516334324e9f60e21b8152916020836004816001600160a01b0386165afa908115611b705787938a9261265d575b506124ff94906001600160a01b03881690613afb565b6040516308d4f88560e11b81526020816004816001600160a01b0388165afa908115612652578691612614575b506040516334324e9f60e21b8152926020846004816001600160a01b038a165afa938415610e325787946125a0575b5094849361259793602096937f2f9eb3607e1ab9527e84637029cbf03ef11854f6342d9be56434e8f8ea66a9139860018060a01b031690613afb565b905f8080612450565b9192949350946020823d60201161260c575b816125bf60209383612e86565b81010312612608577f2f9eb3607e1ab9527e84637029cbf03ef11854f6342d9be56434e8f8ea66a91395602095612597946125fa8795612f66565b96509396509350909561255b565b8680fd5b3d91506125b2565b90506020813d60201161264a575b8161262f60209383612e86565b810103126126465761264090612eeb565b5f61252c565b8580fd5b3d9150612622565b6040513d88823e3d90fd5b935090506020833d602011612698575b8161267a60209383612e86565b81010312611b35576124ff936126908894612f66565b9190946124e9565b3d915061266d565b9091506020813d6020116126d8575b816126bc60209383612e86565b810103126126d4576126cd90612eeb565b905f6124b8565b8780fd5b3d91506126af565b92509250506020813d602011612721575b816126fe60209383612e86565b8101031261271d5761244a938a926127168d93612f66565b919561242a565b8b80fd5b3d91506126f1565b506020823d60201161275b575b8161274360209383612e86565b810103126101c957612756600492612eeb565b6123f7565b3d9150612736565b50604051903d90823e3d90fd5b945094505050506020813d6020116127b6575b8161279060209383612e86565b810103126127b257868a92856123ca956127aa8f95612f66565b9290966123ae565b8c80fd5b3d9150612783565b90506020813d6020116127f0575b816127d960209383612e86565b8101031261063f576127ea90612eeb565b5f61237b565b3d91506127cc565b6020813d602011612829575b8161281160209383612e86565b8101031261271d5761282290612f0c565b505f61234b565b3d9150612804565b6040513d8e823e3d90fd5b6020813d60201161286d575b8161285560209383612e86565b8101031261271d5761286690612f0c565b505f6122ff565b3d9150612848565b90506020813d6020116128af575b8161289060209383612e86565b8101031261063f576122e7916128a7602092612eeb565b9150916122c7565b3d9150612883565b6020813d6020116128e8575b816128d060209383612e86565b8101031261271d576128e190612f0c565b505f612297565b3d91506128c3565b90506020813d60201161292a575b8161290b60209383612e86565b8101031261063f5761227f91612922602092612eeb565b91509161222f565b3d91506128fe565b9094506020813d60201161296a575b8161294e60209383612e86565b810103126129665761295f90612f4a565b935f612143565b8980fd5b3d9150612941565b6040513d8c823e3d90fd5b94506020853d6020116129b4575b8161299860209383612e86565b810103126129665760206129ad600496612eeb565b9550612111565b3d915061298b565b90506020813d6020116129ee575b816129d760209383612e86565b81010312611b35576129e890612f4a565b5f6120e2565b3d91506129ca565b90506020813d602011612a2d575b81612a1160209383612e86565b81010312611b35576020612a26600492612eeb565b91506120b0565b3d9150612a04565b9093506020813d602011612a69575b81612a5160209383612e86565b810103126126d457612a6290612f4a565b925f612082565b3d9150612a44565b634e487b7160e01b5f52601160045260245ffd5b9450506040843d604011612ac9575b81612aa160409383612e86565b81010312612ac557612abe6020612ab786612eeb565b9501612eeb565b935f612037565b8480fd5b3d9150612a94565b612adc919450612deb565b5f925f612006565b6040513d5f823e3d90fd5b6020813d602011612b20575b81612b0860209383612e86565b810103126102f457612b1990612f0c565b505f611fc3565b3d9150612afb565b90506020813d602011612b5a575b81612b4360209383612e86565b810103126102f457612b5490612eeb565b5f611f65565b3d9150612b36565b5060405162461bcd60e51b815260206004820152600d60248201526c496e76616c696420726174696f60981b6044820152fd5b508160443510611f33565b346102f45760403660031901126102f457600435612bbc612dd5565b815f5260c9602052612bd4600160405f2001546133d6565b815f5260c960205260405f209060018060a01b031690815f5260205260ff60405f20541615612bff57005b815f5260c960205260405f20815f5260205260405f20600160ff1982541617905533917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4005b346102f45760203660031901126102f4576004355f5260c96020526020600160405f200154604051908152f35b346102f45760803660031901126102f457612c8e612dbf565b50612c97612dd5565b506064356001600160401b038082116102f457366023830112156102f45781600401359081116102f457369101602401116102f45760fb546001600160a01b03163303612cf057604051630a85bd0160e11b8152602090f35b60405162461bcd60e51b815260206004820152602660248201527f4f6e6c7920616363657074204e4654732066726f6d20706f736974696f6e206d60448201526530b730b3b2b960d11b6064820152608490fd5b346102f4575f3660031901126102f45760fc546040516001600160a01b039091168152602090f35b346102f45760203660031901126102f4576004359063ffffffff60e01b82168092036102f457602091637965db0b60e01b8114908115612dae575b5015158152f35b6301ffc9a760e01b14905083612da7565b600435906001600160a01b03821682036102f457565b602435906001600160a01b03821682036102f457565b6001600160401b038111611e5c57604052565b60a081019081106001600160401b03821117611e5c57604052565b608081019081106001600160401b03821117611e5c57604052565b61016081019081106001600160401b03821117611e5c57604052565b606081019081106001600160401b03821117611e5c57604052565b60c081019081106001600160401b03821117611e5c57604052565b90601f801991011681019081106001600160401b03821117611e5c57604052565b6001600160401b038111611e5c57601f01601f191660200190565b8054821015612ed7575f5260205f2001905f90565b634e487b7160e01b5f52603260045260245ffd5b51906001600160a01b03821682036102f457565b91908201809211612a7157565b519081151582036102f457565b81810292918115918404141715612a7157565b8115612f36570490565b634e487b7160e01b5f52601260045260245ffd5b519060ff821682036102f457565b604d8111612a7157600a0a90565b51908160020b82036102f457565b15612f7b57565b60405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b6064820152608490fd5b15612fdc57565b60405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b6064820152608490fd5b1561303d57565b60405162461bcd60e51b8152602060048201526011602482015270125b9d985b1a59081c9958da5c1a595b9d607a1b6044820152606490fd5b80516001600160a01b039081168352602080830151821690840152604080830151908401526060808301519084015260809182015116910152565b91908260409103126102f4576020825192015190565b8015612a71575f190190565b335f9081527fc99cfc74cbb51adc7ca8731c432a51a31a086a1789003f0b773be6e802362bf46020908152604091829020547f97667070c54ef182b0f5858b034beac1b6f3089aa2d3188bb1e8929f4fa9b929929060ff161561313557505050565b61313e33614283565b92815161314a81612e19565b60428152838101916060368437815115612ed75760308353815160019060011015612ed757607860218401536041905b8082116132555750506132135761320f946131f992604892855196879376020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b82860152805191829101603786015e8301907001034b99036b4b9b9b4b733903937b6329607d1b60378301525180928583015e015f83820152036028810185520183612e86565b5162461bcd60e51b815291829160048301614142565b0390fd5b60648484519062461bcd60e51b825280600483015260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b9091600f8116906010821015612ed757613293916f181899199a1a9b1b9c1cb0b131b232b360811b901a6132898587614272565b5360041c926130c7565b9061317a565b335f9081527f81fe90a866a48a634a12852c1be675b683a22307409932a7443b8029347be75660209081526040918290205460ff16156132d7575050565b6132e033614283565b915f81516132ed81612e19565b60428152838101916060368437815115612ed75760308353815160019060011015612ed757607860218401536041905b80821161339c5750506132135761320f946131f992604892855196879376020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b82860152805191829101603786015e8301907001034b99036b4b9b9b4b733903937b6329607d1b60378301525180928583015e015f83820152036028810185520183612e86565b9091600f8116906010821015612ed7576133d0916f181899199a1a9b1b9c1cb0b131b232b360811b901a6132898587614272565b9061331d565b805f52602060c981526040805f20335f52825260ff815f205416156133fa57505050565b61340333614283565b92815161340f81612e19565b60428152838101916060368437815115612ed75760308353815160019060011015612ed757607860218401536041905b8082116134be5750506132135761320f946131f992604892855196879376020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b82860152805191829101603786015e8301907001034b99036b4b9b9b4b733903937b6329607d1b60378301525180928583015e015f83820152036028810185520183612e86565b9091600f8116906010821015612ed7576134f2916f181899199a1a9b1b9c1cb0b131b232b360811b901a6132898587614272565b9061343f565b519061ffff821682036102f457565b908160e09103126102f45780516001600160a01b03811681036102f4579161353160208301612f66565b9161353e604082016134f8565b9161354b606083016134f8565b91613558608082016134f8565b9161357160c061356a60a08501612f4a565b9301612f0c565b90565b60ff16604d8111612a7157600a0a90565b939692949192915f916001600160a01b038082169087161015613ab657949593925f915b604051633850c7bd60e01b81526001600160a01b0391909116929060e081600481875afa908115612ae4575f91613a81575b506001600160a01b0316156138b0575b505050508560020b958615612f36578061360e6136199289620d89e7190561418e565b97620d89e80561418e565b6040519661362688612e34565b60018060a01b038616885260018060a01b0385166020890152610bb8604089015260020b606088015260020b608087015260a086015260c08501525f60e08501525f6101008501523061012085015242610140850152608061014061016460018060a01b0360fb5416965f6040519889948593634418b22b60e11b855260018060a01b03815116600486015260018060a01b03602082015116602486015262ffffff6040820151166044860152606081015160020b60648601528781015160020b608486015260a081015160a486015260c081015160c486015260e081015160e486015261010081015161010486015260018060a01b036101208201511661012486015201516101448401525af1918215612ae4575f945f93613863575b506001600160801b036040519361375a85612e19565b30855216602084015260018060a01b0316604083015260018060a01b03166060820152825f5260fd602052600360405f2060018060a01b038351166001600160601b0360a01b825416178155600181016001600160801b036020850151166001600160801b03198254161790556002810160018060a01b036040850151166001600160601b0360a01b8254161790550190606060018060a01b03910151166001600160601b0360a01b82541617905560018060a01b031690815f5261010060205260405f208054600160401b811015611e5c57610d33818493600161384194018155612ec2565b90555f5261010160205260405f20906001600160601b0360a01b825416179055565b945091506080843d6080116138a8575b8161388060809383612e86565b810103126102f45760208451940151936001600160801b03851685036102f45793915f613744565b3d9150613873565b60405163313ce56760e01b808252602093909290919084826004816001600160a01b038f165afa918215612ae4575f92613a4a575b5060405193845284846004816001600160a01b038e165afa938415612ae4575f94613a13575b50156139ef57606461392a879361392461393194613574565b90612f19565b0492613574565b90610e5b57915b821515806139e6575b156139b257506001600160a01b0391613965916139609160c01b612f2c565b61434e565b16813b1561067457829160248392604051948593849263f637731d60e01b845260048401525af180156101cc5761399e575b80806135eb565b6139a88291612deb565b6101c95780613997565b6064906040519062461bcd60e51b82526004820152600d60248201526c496e76616c696420707269636560981b6044820152fd5b50811515613941565b6064919550613a00613a0c91613574565b956139245f9794613574565b0491613938565b9093508481813d8311613a43575b613a2b8183612e86565b810103126102f457613a3c90612f4a565b925f61390b565b503d613a21565b9091508481813d8311613a7a575b613a628183612e86565b810103126102f457613a7390612f4a565b905f6138e5565b503d613a58565b613aa3915060e03d60e011613aaf575b613a9b8183612e86565b810190613507565b5050505050505f6135db565b503d613a91565b95926001916135a9565b9060020b9060020b0190627fffff198212627fffff831317612a7157565b600291820b910b0390627fffff198212627fffff831317612a7157565b91949392908515613f37576001600160a01b038181169084161015613f2f5791925f5b8015613f2957835b8115613f2357855b6040519360408501908582106001600160401b03831117611e5c576040919091525f80865260208601908152600493909260e0929190613b8d906001600160a01b0380821690841610613f1657613b87620d89e86141a5565b9261438d565b60020b9060020b8181125f14613f0c57875283525b604051633850c7bd831b815293849182906001600160a01b03165afa928315612ae45785925f94613ee4575b5015613d645750613be881613bed93945160020b94613ade565b6141d9565b956103e39181838102048303612a715783613c1681613c1b81613c166103e899613c219761416c565b61418e565b9a61416c565b60405197613c2e89612e34565b60018060a01b038716895260018060a01b03861660208a0152610bb860408a015260020b606089015260020b60808801525f60a08801528060c08801525f60e088015202046101008501523061012085015242610140850152608061014061016460018060a01b0360fb5416965f6040519889948593634418b22b60e11b855260018060a01b03815116600486015260018060a01b03602082015116602486015262ffffff6040820151166044860152606081015160020b60648601528781015160020b608486015260a081015160a486015260c081015160c486015260e081015160e486015261010081015161010486015260018060a01b036101208201511661012486015201516101448401525af1918215612ae4575f945f9361386357506001600160801b036040519361375a85612e19565b9250613be881613d7393613ac0565b905160020b956103e39181838102048303612a715783613c1681613c1b81613c166103e899613da19761416c565b60405197613dae89612e34565b60018060a01b038716895260018060a01b03861660208a0152610bb860408a015260020b606089015260020b60808801528060a08801525f60c0880152020460e08501525f6101008501523061012085015242610140850152608061014061016460018060a01b0360fb5416965f6040519889948593634418b22b60e11b855260018060a01b03815116600486015260018060a01b03602082015116602486015262ffffff6040820151166044860152606081015160020b60648601528781015160020b608486015260a081015160a486015260c081015160c486015260e081015160e486015261010081015161010486015260018060a01b036101208201511661012486015201516101448401525af1918215612ae4575f945f9361386357506001600160801b036040519361375a85612e19565b613efe91945060e03d60e011613aaf57613a9b8183612e86565b50505050509050925f613bce565b9087528352613ba2565b613b87620d89e7196141a5565b84613b2e565b84613b26565b926001613b1e565b505050505050565b90815f5260c960205260405f209060018060a01b031690815f5260205260ff60405f205416613f6c575050565b815f5260c960205260405f20815f5260205260405f2060ff19815416905533917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4565b60405163a9059cbb60e01b60208083019182526001600160a01b0394909416602483015260448083019590955293815291929190613ff1606483612e86565b60018060a01b031660405191604083018381106001600160401b03821117611e5c576040528483527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648386015251614053935f91829182855af1611611614e4f565b80518281159182156140c3575b505090501561406c5750565b6084906040519062461bcd60e51b82526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152fd5b83809293500103126102f457816140da9101612f0c565b80825f614060565b156140e957565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b602060409281835280519182918282860152018484015e5f828201840152601f01601f1916010190565b60020b9060020b908115612f3657627fffff1981145f19831416612a71570590565b9060020b9060020b02908160020b918203612a7157565b6141ae90614d80565b8060020b620d89e7198082126141d35750620d89e88091136141ce575090565b905090565b91505090565b906141ae91614ded565b803b15614217575f80516020614f1083398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b908151811015612ed7570160200190565b6040519061429082612e50565b602a8252602082016040368237825115612ed75760309053815160019060011015612ed757607860218401536029905b8082116143145750506142d05790565b606460405162461bcd60e51b815260206004820152602060248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b9091600f8116906010821015612ed757614348916f181899199a1a9b1b9c1cb0b131b232b360811b901a6132898587614272565b906142c0565b906001808301808411612a715760011c90835b84831061436d57505050565b909193506143848461437f8184612f2c565b612eff565b821c9190614361565b60405163313ce56760e01b808252600494935f9360209385936001600160a01b0393909290841690841686838b81845afa928315612ae4575f93614d36575b5060405193845286848b81855afa938415612ae4575f94614cff575b5010614cd9576143f88691613574565b90614cc657614408849192613574565b90614cb35761441f9161396091905b60c01b612f2c565b818116919073fffd8963efd1fc6a506488495d951d5263988d2683108061444f5750620d89e89750505050505050565b6401000276a3841115614ca3576401000276a38410159081614c9b575b5015614c7357640100000000600160c01b0390851b169384976001600160801b03861160071b9086821c6001600160401b03811160061b90811c9163ffffffff9b8c841160051b93841c9461ffff8611831b95861c9460ff9586811160031b90811c90600298600f83118a1b92831c936001988960038711811b96871c1196171717171717179060809a8b8310155f14614c5f5750607e1982018281116148fa571c5b607f1982019182138416614c4c579081859202607f928392828493841c81841c1c800280851c81851c1c800280861c81861c1c800280871c81871c1c80029081881c82881c1c80029283891c84891c1c800294858a1c868a1c1c800296878b1c888b1c1c800298898c1c8a8c1c1c80029a8b8d1c8c821c1c8002809d1c8d821c1c8002809e81901c90821c1c80029e8f80911c911c1c800260cd1c6604000000000000169d60cc1c6608000000000000169c60cb1c6610000000000000169b60ca1c6620000000000000169a60c91c6640000000000000169960c81c6680000000000000169860c71c670100000000000000169760c61c670200000000000000169660c51c670400000000000000169560c41c670800000000000000169460c31c671000000000000000169360c21c672000000000000000169260c11c674000000000000000169160c01c678000000000000000169060401b171717171717171717171717171799693627a301d71055774c859a8b81029b818d051490151715614c26576f028f6481ab7f045a5af012a19d003aa9198b01908b82138416614c395750891d840b996fdb2df09e81959a81455e260799a0632f90898282019283129112908015821691151617614c2657891d840b988a8a0361470057505050505050505050506135719192506141a5565b989998888b1215614c1f576147148b614d6d565b945b620d89e886820b13614bf957858416810b15614be7576001600160881b036ffffcb933bd6fad37aa2d162d1a5940015b1695818116820b614bbc575b838116820b614b91575b60088116820b614b66575b60108116820b614b3b575b878116820b614b10575b60408116820b614ae5575b828116820b614aba575b6101008116820b614a8f575b6102008116820b614a64575b6104008116820b614a39575b6108008116820b614a0e575b6110008116820b6149e3575b6120008116820b6149b8575b6140008116820b61498d575b6180008116820b614962575b620100008116820b614937575b620200008116820b61490d575b620400008116820b6148d1575b6208000016900b614895575b50878a13614868575b509061484e9392916135719a9b8316155f146148635750865b16911c612eff565b1611905061485c57506141a5565b90506141a5565b614846565b9a92801561488257929a505f19929092049161357161482d565b634e487b7160e01b885260128c52602488fd5b6b048a170391f7dc42444e8fa2949194918281029281840414901517156148be571c925f614824565b634e487b7160e01b895260118552602489fd5b956d2216e584f5fa1ea926041bedfe98908181029181830414901517156148fa57821c95614818565b634e487b7160e01b8b526011845260248bfd5b956e5d6af8dedb81196699c329225ee604908181029181830414901517156148fa57821c9561480b565b956f09aa508b5b7a84e1c677de54f3e99bc9908181029181830414901517156148fa57821c956147fe565b956f31be135f97d08fd981231505542fcfa6908181029181830414901517156148fa57821c956147f1565b956f70d869a156d2a1b890bb3df62baf32f7908181029181830414901517156148fa57821c956147e5565b956fa9f746462d870fdf8a65dc1f90e061e5908181029181830414901517156148fa57821c956147d9565b956fd097f3bdfd2022b8845ad8f792aa5825908181029181830414901517156148fa57821c956147cd565b956fe7159475a2c29b7443b29c7fa6e889d9908181029181830414901517156148fa57821c956147c1565b956ff3392b0822b70005940c7a398e4b70f3908181029181830414901517156148fa57821c956147b5565b956ff987a7253ac413176f2b074cf7815e54908181029181830414901517156148fa57821c956147a9565b956ffcbe86c7900a88aedcffc83b479aa3a4908181029181830414901517156148fa57821c9561479d565b956ffe5dee046a99a2a811c461f1969c3053908181029181830414901517156148fa57821c95614791565b956fff2ea16466c96a3843ec78b326b52861908181029181830414901517156148fa57821c95614787565b956fff973b41fa98c081472e6896dfb254c0908181029181830414901517156148fa57821c9561477c565b956fffcb9843d60f6159c9db58835c926644908181029181830414901517156148fa57821c95614772565b956fffe5caca7e10e4e61c3624eaa0941cd0908181029181830414901517156148fa57821c95614767565b956ffff2e50f5f656932ef12357cf3c7fdcc908181029181830414901517156148fa57821c9561475c565b956ffff97272373d413259a46990580e213a908181029181830414901517156148fa57821c95614752565b6001600160881b03600160801b614746565b60648385896040519262461bcd60e51b84528301526024820152601560fa1b6044820152fd5b8a94614716565b634e487b7160e01b895260118252602489fd5b634e487b7160e01b815260118352602490fd5b634e487b7160e01b8c526011835260248cfd5b905081607f03607f81116148fa571b61450f565b60405162461bcd60e51b815280890186905260016024820152602960f91b6044820152606490fd5b90505f61446c565b50620d89e7199750505050505050565b634e487b7160e01b845260118852602484fd5b634e487b7160e01b865260118852602486fd5b9450614ce6919250613574565b9061441f613960614cf85f9496613574565b5f96614417565b9093508681813d8311614d2f575b614d178183612e86565b810103126102f457614d2890612f4a565b925f6143e8565b503d614d0d565b9092508681813d8311614d66575b614d4e8183612e86565b810103126102f457614d5f90612f4a565b915f6143cc565b503d614d44565b60020b627fffff198114612a71575f0390565b600281810b91603c83079182900b601e8112614db857505090603c0190627fffff198212627fffff831317612a715761357191613ade565b601d1913614dca576135719250613ade565b50603b1990910190627fffff198212627fffff831317612a715761357191613ade565b9060029080820b918215612f365783810b8390079283820b919081900580820b8312614e2857505050614e239061357193613ac0565b613ade565b614e3190614d6d565b900b13614e42575061357191613ade565b614e239061357193613ade565b3d15614e79573d90614e6082612ea7565b91614e6e6040519384612e86565b82523d5f602084013e565b606090565b91929015614ee05750815115614e92575090565b3b15614e9b5790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b825190915015614ef35750805190602001fd5b60405162461bcd60e51b815290819061320f906004830161414256fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca26469706673582212204f04c189e83bc175dd9fede839f4095ba4acf1a0925772e2368ab602c6c1d05c64736f6c63430008190033