1 tx
3 calls
constructor
constructor()
functions
bundleFeeSwitch
viewfunction bundleFeeSwitch() view returns (bool)
defaultLockingPeriod
viewfunction defaultLockingPeriod() view returns (uint64)
deprecated
viewfunction deprecated() view returns (bool)
fee
viewfunction fee() view returns (uint24)
generateSalt
viewfunction generateSalt(address deployer, uint256 fid, string name, string symbol, string image, string animation, string extraStringData, bytes extraBytesData, uint256 supply) view returns (bytes32 salt, address token)
liquidityLocker
viewfunction liquidityLocker() view returns (address)
lpFeesCut
viewfunction lpFeesCut() view returns (uint8)
owner
viewfunction owner() view returns (address)
positionManager
viewfunction positionManager() view returns (address)
predictToken
viewfunction predictToken(address deployer, uint256 fid, string name, string symbol, string image, string animation, string extraStringData, bytes extraBytesData, uint256 supply, bytes32 salt) view returns (address)
protocolCut
viewfunction protocolCut() view returns (uint8)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
swapRouter
viewfunction swapRouter() view returns (address)
taxCollector
viewfunction taxCollector() view returns (address)
taxRate
viewfunction taxRate() view returns (uint8)
uniswapV3Factory
viewfunction uniswapV3Factory() view returns (address)
weth
viewfunction weth() view returns (address)
deployToken
payablefunction deployToken(uint256 _supply, int24 _initialTick, bytes32 _salt, address _deployer, uint256 _fid, uint256 mintPrice, uint256 mintEndTimestamp, uint256 maxMintSupply, string _name, string _symbol, string _image, string _animation, string _extraStringData, bytes _extraBytesData) payable returns (address token, uint256 tokenId)
initialSwapTokens
payablefunction initialSwapTokens(address token, uint24 _fee) payable
mint
payablefunction mint(address token, uint256 quantity) payable
onERC1155BatchReceived
nonpayablefunction onERC1155BatchReceived(address operator, address from, uint256[] ids, uint256[] values, bytes data) returns (bytes4)
onERC1155Received
nonpayablefunction onERC1155Received(address operator, address from, uint256 id, uint256 value, bytes data) returns (bytes4)
renounceOwnership
nonpayablefunction renounceOwnership()
setDeprecated
nonpayablefunction setDeprecated(bool _deprecated)
toggleBundleFeeSwitch
nonpayablefunction toggleBundleFeeSwitch(bool _enabled)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
updateDefaultLockingPeriod
nonpayablefunction updateDefaultLockingPeriod(uint64 newPeriod)
updateLiquidityLocker
nonpayablefunction updateLiquidityLocker(address newLocker)
updatePositionManager
nonpayablefunction updatePositionManager(address newPositionManager)
updateProtocolFees
nonpayablefunction updateProtocolFees(uint8 newFee)
updateSwapRouter
nonpayablefunction updateSwapRouter(address newRouter)
updateTaxCollector
nonpayablefunction updateTaxCollector(address newCollector)
updateTaxRate
nonpayablefunction updateTaxRate(uint8 newRate)
updateUniV3Factory
nonpayablefunction updateUniV3Factory(address newFactory)
updateWeth
nonpayablefunction updateWeth(address newWeth)
events
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
TokenCreated
event TokenCreated(address tokenAddress, uint256 lpNftId, address deployer, uint256 fid, string name, string symbol, uint256 supply, address lockerAddress, string extraStringData, bool isMsgSenderOwner)
errors
Deprecated
error Deprecated()
OwnableInvalidOwner
error OwnableInvalidOwner(address owner)
OwnableUnauthorizedAccount
error OwnableUnauthorizedAccount(address account)
creation bytecode
0x6080806040523461016e576000805473cc4193b652fcb25347bb44a88d2b09b52585643f6001600160a01b0319821681178355916001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a3600180547e1e321900000007bf59f7c52a67566660714afad6eb80a8a64eb7431b121f3c7fff00000000000000000000000000000000000000000000000000000000000000909116179055600280546001600160b81b03191672a4944d1e707f869356ff4b48e527370f002710179055600380546001600160a01b0319908116734200000000000000000000000000000000000006179091556004805482167333128a8fc17869897dce68ed026d694621f6fdfd179055600580549091167303a520b32c04bf3beef7beb72e919cf822ed34f117905560068054600161ff0160a01b0319167501002626664c2603336e57b271c5c0b26f421741e48117905561569e90816101748239f35b600080fdfe61056080604052600436101561001b575b50361561001957005b005b600061012052610120513560e01c90816301ffc9a714612e2c575080630e136b1914612e0457806310f3577e14612d515780631962d94714612d0b5780631b5ad80114612cc55780632bdd20ef14612c7f57806337ad470114610f405780633aa10f1f14610ee25780633fc8cef314610eb757806340c10f1914610a6c5780634de2fae714610a2257806357aa0201146109fc5780635b549182146109d15780636881d8cb1461098b578063715018a614610929578063771a3a1d14610903578063791b98bc146108d85780637ebdf9ab146108b05780638da5cb5b146108835780639759164a146108545780639dbb8c9f14610803578063b0fad6f0146107b9578063b98b677f14610773578063bc197c81146106db578063bea1dcf8146106b0578063c31c9c0714610685578063cb1e82ee14610576578063d406d7511461054a578063d848dee714610500578063ddca3f43146104db578063de04f42e146104b5578063e42efd541461046b578063f23a6e6114610415578063f2fde38b1461037f5763f408ad2a146101b15738610010565b3461037857610120366003190112610378576101cb612e62565b610420526044356001600160401b038111610378576101ee903690600401612e8e565b61046052610480526064356001600160401b03811161037857610215903690600401612e8e565b6104a052610440526084356001600160401b0381116103785761023c903690600401612e8e565b6103205260a4356001600160401b0381116103785761025f903690600401612e8e565b610380526103605260c4356001600160401b03811161037857610286903690600401612e8e565b6103c0526103a05260e4356001600160401b038111610378576102ad903690600401612e8e565b610400526103e052610120516003546001600160a01b0316610340525b8061030c8261010435610400516103e0516103c0516103a0516103805161036051610320518c6104a0516104405161046051610480516024356104205161318b565b610340519091906001600160a01b038316108061036f575b610355575050600019811461033b576001016102ca565b634e487b7160e01b61012051526011600452602461012051fd5b604080519182526001600160a01b03929092166020820152f35b50813b15610324565b6101205180fd5b3461037857602036600319011261037857610398612e62565b6103a06132b3565b6001600160a01b031680156103f9576101205180546001600160a01b03198116831782556001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a36101205180f35b631e4fbdf760e01b610120515261012051600452602461012051fd5b346103785760a03660031901126103785761042e612e62565b50610437612e78565b506084356001600160401b03811161037857610457903690600401612e8e565b505060405163f23a6e6160e01b8152602090f35b346103785760203660031901126103785760043560ff81168103610378576104916132b3565b6001805460ff60e01b191660e09290921b60ff60e01b169190911790556101205180f35b34610378576101205136600319011261037857602060ff60015460f01c16604051908152f35b34610378576101205136600319011261037857602062ffffff60025416604051908152f35b3461037857602036600319011261037857600435801515809103610378576105266132b3565b6006805460ff60a01b191660a09290921b60ff60a01b169190911790556101205180f35b3461037857610120513660031901126103785760206001600160401b0360015460a01c16604051908152f35b346103785761014036600319011261037857610590612e62565b6044356001600160401b038111610378576105af903690600401612e8e565b906064356001600160401b038111610378576105cf903690600401612e8e565b93906084356001600160401b038111610378576105f0903690600401612e8e565b60a4959195356001600160401b03811161037857610612903690600401612e8e565b60c4929192356001600160401b03811161037857610634903690600401612e8e565b93909260e435996001600160401b038b116103785760209b61065d6106739c3690600401612e8e565b999098610124359c610104359c6024359061318b565b6040516001600160a01b039091168152f35b346103785761012051366003190112610378576006546040516001600160a01b039091168152602090f35b346103785761012051366003190112610378576001546040516001600160a01b039091168152602090f35b346103785760a0366003190112610378576106f4612e62565b506106fd612e78565b506044356001600160401b0381116103785761071d903690600401612ebb565b50506064356001600160401b0381116103785761073e903690600401612ebb565b50506084356001600160401b0381116103785761075f903690600401612e8e565b505060405163bc197c8160e01b8152602090f35b346103785760203660031901126103785761078c612e62565b6107946132b3565b60018060a01b03166001600160601b0360a01b60065416176006556101205161012051f35b3461037857602036600319011261037857600435801515809103610378576107df6132b3565b6006805460ff60a81b191660a89290921b60ff60a81b169190911790556101205180f35b346103785760203660031901126103785761081c612e62565b6108246132b3565b600280546301000000600160b81b03191660189290921b6301000000600160b81b03169190911790556101205180f35b3461037857610120513660031901126103785760025460405160189190911c6001600160a01b03168152602090f35b3461037857610120513660031901126103785761012051546040516001600160a01b039091168152602090f35b34610378576101205136600319011261037857602060ff60065460a81c166040519015158152f35b346103785761012051366003190112610378576005546040516001600160a01b039091168152602090f35b34610378576101205136600319011261037857602060ff60015460e01c16604051908152f35b346103785761012051366003190112610378576109446132b3565b6101205180546001600160a01b0319811682556001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a36101205180f35b34610378576020366003190112610378576109a4612e62565b6109ac6132b3565b60018060a01b03166001600160601b0360a01b60055416176005556101205161012051f35b346103785761012051366003190112610378576004546040516001600160a01b039091168152602090f35b34610378576101205136600319011261037857602060ff60015460e81c16604051908152f35b346103785760203660031901126103785760043560ff8116810361037857610a486132b3565b6001805460ff60e81b191660e89290921b60ff60e81b169190911790556101205180f35b604036600319011261037857610a80612e62565b60405163041804f760e31b8152610120516001600160a01b0383166004830181905230602480850191909152909392903591816044816fdb40fcb9f4466330982372e27fd7bbf55afa908115610d9b576101205191610e33575b5060c08180518101031261037857604081015192610afa60608301613177565b610b1260a0610b0b60808601613177565b9401613177565b506001600160a01b0316803b1561037857604051630d9778e560e11b8152856004820152846024820152610120518160448134865af18015610d9b57610e18575b50803b156103785760405190637921219560e11b825230600483015233602483015285604483015284606483015260a060848301526101205160a48301528160c481610120519361012051905af18015610d9b57610dfd575b50610bb6906132dc565b92604051926020840152604083015283606083015260018060a01b0316608082015260808152610be760a082612f1c565b6fb24d62781db359b07880a105cd0b64e63b1561037857610c49610c5f9260405193849283926308521f2760e21b84523360048501526080602485015260046084850152631b5a5b9d60e21b60a485015260c0604485015260c48401906130f6565b82810360031901606484015261012051946130f6565b0381610120516fb24d62781db359b07880a105cd0b64e65af18015610d9b57610de2575b5034610c91575b6101205180f35b6040516324a9d85360e01b81526020816004816f1c147e48f5aad3c69e8e4d2305523c625afa908115610d9b576101205191610da9575b50610d5c610ce6612710610cdf6020943490613082565b04346130ab565b600354600254604051929562ffffff909116916001600160a01b0316610d0b84612eeb565b83528483015260408201523360608201528360808201526101205160a08201526101205160c082015260018060a01b0360065416906040519485809481936304e45aaf60e01b835260048301612f4c565b03925af18015610d9b5715610c8a575b610d8d9060203d602011610d94575b610d858183612f1c565b810190612f3d565b5080610c8a565b503d610d7b565b6040513d61012051823e3d90fd5b90506020813d602011610dda575b81610dc460209383612f1c565b81010312610dd55751610d5c610cc8565b600080fd5b3d9150610db7565b61012051610def91612f1c565b610120516103785781610c83565b61012051610e0a91612f1c565b610120516103785785610bac565b61012051610e2591612f1c565b610120516103785786610b53565b90503d8061012051833e610e478183612f1c565b8101906040818303126103785780516001600160401b03811161037857810182601f820112156103785782816020610e8193519101613140565b506020810151906001600160401b03821161037857019080601f83011215610378578151610eb192602001613140565b84610ada565b346103785761012051366003190112610378576003546040516001600160a01b039091168152602090f35b34610378576020366003190112610378576004356001600160401b038116810361037857610f0e6132b3565b6001805467ffffffffffffffff60a01b191660a09290921b67ffffffffffffffff60a01b169190911790556101205180f35b6101c036600319011261037857602435610520526105205160020b6105205103610378576064356101408190526001600160a01b038116900361037857610104356001600160401b03811161037857610f9d903690600401612e8e565b6101605261018052610124356001600160401b03811161037857610fc5903690600401612e8e565b6102a0526102c052610144356001600160401b03811161037857610fed903690600401612e8e565b60e05261054052610164356001600160401b03811161037857611014903690600401612e8e565b60c052610184356001600160401b03811161037857611037903690600401612e8e565b6104e0526104c0526101a4356001600160401b0381116103785761105f903690600401612e8e565b906102205260ff60065460a01c16612c6a5760018060a01b0360045416602062ffffff600254166024604051809481936322afcccb60e01b835260048301525afa908115610d9b576101205191612c2e575b508060020b151580612c0f575b15612bdb5760408051610140516001600160a01b031660208201908152604435928201929092526110fc81606081015b03601f198101835282612f1c565b519020604051806122618101106001600160401b03612261830111176125525761226161340882398061116785610220516104e0516104c05160c0518b60e05161054051608435610140516004356102a0518d6102c051906101605190610180519061226101612fcb565b039061012051f5610500526105005115610d9b57600354610500516001600160a01b039182169116811115612ba757610120516105205160020b1215612b9b576105205160020b600160ff1b1461033b576105205160020b61012051035b620d89e891828211612b72576001821615612b60576001600160881b036ffffcb933bd6fad37aa2d162d1a5940015b169160028116612b15575b60048116612aca575b60088116612a7f575b60108116612a34575b602081166129e9575b6040811661299e575b60808116612953575b6101008116612908575b61020081166128bd575b6104008116612872575b6108008116612827575b61100081166127dc575b6120008116612791575b6140008116612746575b61800081166126fb575b6201000081166126b0575b620200008116612668575b620400008116612623575b62080000166125e4575b610120516105205160020b136125d3575b602082901c9163ffffffff166125cb5761012051905b60ff82168301831161033b576004805460025460405163a167129560e01b8152610500516001600160a01b0390811694820194909452602481019490945262ffffff16604484015261012051602092849260649284929091165af18015610d9b576101205161010052612599575b50610100516001600160a01b03163b156103785760405163f637731d60e01b815260ff919091169091016001600160a01b03908116600483015261012051610100519091839160249183918591165af18015610d9b57612586575b506003546001600160a01b0316610300526002805462ffffff169083900b1561256c576040516102e08190526001600160401b036101608201908111911117612552576101606102e0510160405260018060a01b0361050051166102e051526103005160206102e051015260406102e05101526105205160020b60606102e05101528160020b90050260020b60806102e051015260043560a06102e05101526101205160c06102e05101526101205160e06102e0510152610120516101006102e0510152306101206102e0510152426101406102e051015260018060a01b03600554166040519063095ea7b360e01b8252600482015260043560248201526020816044816101205160018060a01b0361050051165af18015610d9b57612518575b5060018060a01b03600554166102805260405161026052634418b22b60e11b610260515260018060a01b036102e0515116600461026051015260018060a01b0360206102e051015116602461026051015262ffffff60406102e051015116604461026051015260606102e051015160020b606461026051015260806102e051015160020b608461026051015260a06102e051015160a461026051015260c06102e051015160c461026051015260e06102e051015160e46102605101526101006102e051015161010461026051015260018060a01b036101206102e0510151166101246102605101526101406102e05101516101446102605101526080610260516101646102605161012051610280515af1610240526102405115610d9b576101205161020052610240516124bb575b602060018060a01b0360025460181c1660ff60018060a01b0360055416600154906040516101e052634e54db0960e01b6101e0515260046101e051015260018060a01b03610140511660246101e05101526001600160401b038160a01c1660446101e05101526102005160646101e051015260e81c1660846101e051015260a46101e051916101e0519061012051905af16101c0526101c05115610d9b57610120516101a0526101c051612481575b6005546001600160a01b0316803b1561037857604051632142170760e11b81523060048201526101a0516001600160a01b031660248201526102005160448201526101205190918290606490829084905af18015610d9b57612466575b506101a0516001600160a01b03163b15610378576040516367a4d1c360e01b8152610200516004820152610120516101a0518290602490829084906001600160a01b03165af18015610d9b5761244b575b50346122c8575b60405163b8070c7360e01b8152906020826004816fb24d62781db359b07880a105cd0b64e65afa60a05260a05115610d9b57610120519160a051612294575b506118796001600860056117b0838060a01b0361050051166132dc565b60026117be610100516132dc565b916040516080526802232b83637bcb2b2160bd1b602060805101526101605161018051602960805101376029610160516080510161040560f31b828201526102a0516102c051602b8301376102a051010164014903a37960dd1b838201526118308251809360206007850191016130d3565b010167010143837b7b61d160c51b83820152611856825180936020600d850191016130d3565b0101602960f81b82820152608051900301601e1981016080515201608051612f1c565b610500516110ee9061192e90611897906001600160a01b03166132dc565b9260405192839186602084015260018060a01b036101005116604084015260018060a01b036105005116606084015260018060a01b036101a0511660808401526102005160a084015260018060a01b03610140511660c084015260843560e084015261012061010084015261191761014084016104e0516104c051612faa565b90601f198483030161012085015261022051612faa565b6fb24d62781db359b07880a105cd0b64e63b1561037857610c4961198c9260405193849283926308521f2760e21b84523360048501526080602485015261197a608485016080516130f6565b848103600319016044860152906130f6565b0381610120516fb24d62781db359b07880a105cd0b64e65af18015610d9b57612279575b50604051633ee60bcf60e01b8152916020836004816f1c147e48f5aad3c69e8e4d2305523c625afa928315610d9b576101205193612245575b5061050051611a00906001600160a01b03166132dc565b60e05115611f7657611a1360e0516130b8565b611a206040519182612f1c565b60e05181523660e051610540510111610378576013611bae92600b6002956004879560e05161054051602083013761012051602060e051830101525b6047604051998a96683d913730b6b2911d1160b91b6020890152610160516101805160298a0137602961016051890161040560f31b828201526102a0516102c051602b8301376102a0510101602960f81b838201527f222c226465736372697074696f6e223a224d656d65636f696e2d4e465420637260038201527f656174656420766961204e65742e204d656d65636f696e206973206c6f636174602382015265032b21030ba160d51b6043820152611b208251809360206049850191016130d3565b0101632e372e3760e11b828201526104e0516104c051604b8301376104e05101016a11161134b6b0b3b2911d1160a91b83820152611b68825180936020600f850191016130d3565b0101907211161130b734b6b0ba34b7b72fbab936111d1160691b8383015260c05190601e83013760c051010161227d60f01b838201520301601d19810184520182612f1c565b6f1c147e48f5aad3c69e8e4d2305523c623b156103785760405190630dd2f7a160e41b825260a435600483015260e435602483015260c435604483015261012051606483015260a060848301528180611c0f610120519360a48301906130f6565b0381610120516f1c147e48f5aad3c69e8e4d2305523c625af18015610d9b57611f5b575b506f1c147e48f5aad3c69e8e4d2305523c623b1561037857604051637921219560e11b8152306004820152610140516001600160a01b03166024820152604481018390526001606482015260a06084820152610120805160a4830152518160c481836f1c147e48f5aad3c69e8e4d2305523c625af18015610d9b57611f40575b5060408051602081019290925281018290526f1c147e48f5aad3c69e8e4d2305523c626060820152610100516001600160a01b0390811660808301526101a0511660a08201526102005160c0808301919091528152611d1360e082612f1c565b6fdb40fcb9f4466330982372e27fd7bbf53b15610378576040519063f9ed11d960e01b82528180611d57610120519360018060a01b0361050051166004840161311b565b0381610120516fdb40fcb9f4466330982372e27fd7bbf55af18015610d9b57611f25575b506040519080602083015260018060a01b036105005116604083015260018060a01b036101005116606083015260608252611db7608083612f1c565b6fdb40fcb9f4466330982372e27fd7bbf53b1561037857611df1916040518093819263f9ed11d960e01b835261012051946004840161311b565b0381610120516fdb40fcb9f4466330982372e27fd7bbf55af18015610d9b57611f0a575b7f7c8762543264172a17e130518fcc375c045781639d522d793332fc5c76a5ffe560018060a01b036101205154163314604051809160018060a01b036105005116825261020051602083015260018060a01b036101405116604083015260843560608301526101406080830152611ee2611eb2611e9d61014085016101605161018051612faa565b84810360a08601526102a0516102c051612faa565b60043560c08501526101a0516001600160a01b031660e08501528381036101008501526104e0516104c051612faa565b906101208301520390a160408051610500516001600160a01b03168152610200516020820152f35b61012051611f1791612f1c565b610120516103785780611e15565b61012051611f3291612f1c565b610120516103785781611d7b565b61012051611f4d91612f1c565b610120516103785782611cb3565b61012051611f6891612f1c565b610120516103785782611c33565b6040517f3c73766720786d6c6e733d22687474703a2f2f7777772e77332e6f72672f323060208201527f30302f737667222077696474683d2235303022206865696768743d223530302260408201527f207374796c653d226261636b67726f756e642d636f6c6f723a23303030223e3c60608201527f7465787420783d223530252220793d223530252220746578742d616e63686f7260808201527f3d226d6964646c652220646f6d696e616e742d626173656c696e653d226d696460a08201527f646c6522207374796c653d22666f6e742d66616d696c793a6d6f6e6f7370616360c08201527f653b666f6e742d73697a653a323470783b66696c6c3a23306637223e0000000060e0820152610160516101805160fc8301376120c3600d60fc836101605181016c1e17ba32bc3a1f1e17b9bb339f60991b838201520301601219810184520182612f1c565b8051606091808261213a575b5050506013611bae92600b60029560048795612135603a60405180937f646174613a696d6167652f7376672b786d6c3b6261736536342c000000000000602083015261212481518092602086860191016130d3565b81010301601f198101835282612f1c565b611a5c565b9193909250604051937f4142434445464748494a4b4c4d4e4f505152535455565758595a616263646566601f526106707f6768696a6b6c6d6e6f707172737475767778797a303132333435363738392d5f18603f526020850160046003602084870101519661012051602086890101525b0191603f8351818160121c165161012051538181600c1c1651600153818160061c1651600253165160035361012051518152019060206003600285010460021b880101821015612200576004906003906121ab565b509281016020019390935260036002848101829004811b80870160409081019052613d3d60f01b9290950690048303526101205190915290825290601382600b6120cf565b9092506020813d602011612271575b8161226160209383612f1c565b81010312610dd5575191836119e9565b3d9150612254565b6101205161228691612f1c565b6101205161037857826119b0565b9091506020813d6020116122c0575b816122b060209383612f1c565b81010312610dd557519083611793565b3d91506122a3565b3460ff60065460a81c16612397575b6003546002546040516020926123639262ffffff16906001600160a01b03166122ff83612eeb565b8252610500516001600160a01b0390811685840152604080840192909252610140518116606084015260808301869052610120805160a08501525160c084015260065491516304e45aaf60e01b815295869492909116928492839160048301612f4c565b03925af18015610d9b57612378575b50611754565b6123909060203d602011610d9457610d858183612f1c565b5082612372565b506001546103e86123ae60ff8360e01c1634613082565b046123b981346130ab565b61012051909290918291829182916001600160a01b03165af13d15612446573d6123e2816130b8565b906123f06040519283612f1c565b8152610120513d916020013e5b6122d75760405162461bcd60e51b815260206004820152601c60248201527f4661696c656420746f2073656e642070726f746f636f6c2066656573000000006044820152606490fd5b6123fd565b6101205161245891612f1c565b61012051610378578261174d565b6101205161247391612f1c565b6101205161037857826116fc565b60203d6020116124b4575b8061249d6124ab926101e051612f1c565b6101e051016101e051613063565b6101a05261169f565b503d61248c565b60803d608011612511575b806124d660809261026051612f1c565b61026051908101031261037857610260515160206102605101516fffffffffffffffffffffffffffffffff81160361037857610200526115f0565b503d6124c6565b6020813d60201161254a575b8161253160209383612f1c565b81010312610378575180151581146114c1576101205180fd5b3d9150612524565b634e487b7160e01b61012051526041600452602461012051fd5b634e487b7160e01b61012051526012600452602461012051fd5b6101205161259391612f1c565b846113a0565b6125ba9060203d6020116125c4575b6125b28183612f1c565b810190613063565b6101005286611345565b503d6125a8565b6001906112d7565b90801561256c5760001904906112c1565b90806b048a170391f7dc42444e8fa28102046b048a170391f7dc42444e8fa2148115171561033b576b048a170391f7dc42444e8fa20260801c906112b0565b91806d2216e584f5fa1ea926041bedfe988102046d2216e584f5fa1ea926041bedfe98148115171561033b576d2216e584f5fa1ea926041bedfe980260801c916112a6565b91806e5d6af8dedb81196699c329225ee6048102046e5d6af8dedb81196699c329225ee604148115171561033b576e5d6af8dedb81196699c329225ee6040260801c9161129b565b91806f09aa508b5b7a84e1c677de54f3e99bc98102046f09aa508b5b7a84e1c677de54f3e99bc9148115171561033b576f09aa508b5b7a84e1c677de54f3e99bc90260801c91611290565b91806f31be135f97d08fd981231505542fcfa68102046f31be135f97d08fd981231505542fcfa6148115171561033b576f31be135f97d08fd981231505542fcfa60260801c91611285565b91806f70d869a156d2a1b890bb3df62baf32f78102046f70d869a156d2a1b890bb3df62baf32f7148115171561033b576f70d869a156d2a1b890bb3df62baf32f70260801c9161127b565b91806fa9f746462d870fdf8a65dc1f90e061e58102046fa9f746462d870fdf8a65dc1f90e061e5148115171561033b576fa9f746462d870fdf8a65dc1f90e061e50260801c91611271565b91806fd097f3bdfd2022b8845ad8f792aa58258102046fd097f3bdfd2022b8845ad8f792aa5825148115171561033b576fd097f3bdfd2022b8845ad8f792aa58250260801c91611267565b91806fe7159475a2c29b7443b29c7fa6e889d98102046fe7159475a2c29b7443b29c7fa6e889d9148115171561033b576fe7159475a2c29b7443b29c7fa6e889d90260801c9161125d565b91806ff3392b0822b70005940c7a398e4b70f38102046ff3392b0822b70005940c7a398e4b70f3148115171561033b576ff3392b0822b70005940c7a398e4b70f30260801c91611253565b91806ff987a7253ac413176f2b074cf7815e548102046ff987a7253ac413176f2b074cf7815e54148115171561033b576ff987a7253ac413176f2b074cf7815e540260801c91611249565b91806ffcbe86c7900a88aedcffc83b479aa3a48102046ffcbe86c7900a88aedcffc83b479aa3a4148115171561033b576ffcbe86c7900a88aedcffc83b479aa3a40260801c9161123f565b91806ffe5dee046a99a2a811c461f1969c30538102046ffe5dee046a99a2a811c461f1969c3053148115171561033b576ffe5dee046a99a2a811c461f1969c30530260801c91611235565b91806fff2ea16466c96a3843ec78b326b528618102046fff2ea16466c96a3843ec78b326b52861148115171561033b576fff2ea16466c96a3843ec78b326b528610260801c9161122c565b91806fff973b41fa98c081472e6896dfb254c08102046fff973b41fa98c081472e6896dfb254c0148115171561033b576fff973b41fa98c081472e6896dfb254c00260801c91611223565b91806fffcb9843d60f6159c9db58835c9266448102046fffcb9843d60f6159c9db58835c926644148115171561033b576fffcb9843d60f6159c9db58835c9266440260801c9161121a565b91806fffe5caca7e10e4e61c3624eaa0941cd08102046fffe5caca7e10e4e61c3624eaa0941cd0148115171561033b576fffe5caca7e10e4e61c3624eaa0941cd00260801c91611211565b91806ffff2e50f5f656932ef12357cf3c7fdcc8102046ffff2e50f5f656932ef12357cf3c7fdcc148115171561033b576ffff2e50f5f656932ef12357cf3c7fdcc0260801c91611208565b91806ffff97272373d413259a46990580e213a8102046ffff97272373d413259a46990580e213a148115171561033b576ffff97272373d413259a46990580e213a0260801c916111ff565b6001600160881b03600160801b6111f4565b60405162461bcd60e51b81526020600482015260016024820152601560fa1b6044820152606490fd5b6105205160020b6111c5565b60405162461bcd60e51b815260206004820152600c60248201526b125b9d985b1a59081cd85b1d60a21b6044820152606490fd5b60405162461bcd60e51b815260206004820152600c60248201526b496e76616c6964207469636b60a01b6044820152606490fd5b508060020b1561256c578060020b6105205160020b0760020b156110be565b90506020813d602011612c62575b81612c4960209383612f1c565b8101031261037857518060020b810361037857836110b1565b3d9150612c3c565b6331cee75f60e21b6101205152600461012051fd5b3461037857602036600319011261037857612c98612e62565b612ca06132b3565b60018060a01b03166001600160601b0360a01b60045416176004556101205161012051f35b3461037857602036600319011261037857612cde612e62565b612ce66132b3565b60018060a01b03166001600160601b0360a01b60035416176003556101205161012051f35b3461037857602036600319011261037857612d24612e62565b612d2c6132b3565b60018060a01b03166001600160601b0360a01b60015416176001556101205161012051f35b604036600319011261037857612d65612e62565b60243562ffffff811680910361037857600354604051612ded9360209391926001600160a01b0316612d9684612eeb565b835260018060a01b03168383015260408201523360608201523460808201526101205160a08201526101205160c082015260018060a01b036006541660405180809581946304e45aaf60e01b835260048301612f4c565b039134905af18015610d9b57610d6c576101205180f35b34610378576101205136600319011261037857602060ff60065460a01c166040519015158152f35b34610378576020366003190112610378576004359063ffffffff60e01b821680920361037857602091630271189760e51b148152f35b600435906001600160a01b0382168203610dd557565b602435906001600160a01b0382168203610dd557565b9181601f84011215610dd5578235916001600160401b038311610dd55760208381860195010111610dd557565b9181601f84011215610dd5578235916001600160401b038311610dd5576020808501948460051b010111610dd557565b60e081019081106001600160401b03821117612f0657604052565b634e487b7160e01b600052604160045260246000fd5b90601f801991011681019081106001600160401b03821117612f0657604052565b90816020910312610dd5575190565b81516001600160a01b03908116825260208084015182169083015260408084015162ffffff16908301526060808401518216908301526080808401519083015260a0808401519083015260c092830151169181019190915260e00190565b908060209392818452848401376000828201840152601f01601f1916010190565b9d9b9996906130609f9d99938f90976130106130519e9961303599986130026080966130439f996101208852610120880191612faa565b918583036020870152612faa565b60408301979097526001600160a01b0316606082015201528c830360a08e0152612faa565b9189830360c08b0152612faa565b9186830360e0880152612faa565b92610100818503910152612faa565b90565b90816020910312610dd557516001600160a01b0381168103610dd55790565b8181029291811591840414171561309557565b634e487b7160e01b600052601160045260246000fd5b9190820391821161309557565b6001600160401b038111612f0657601f01601f191660200190565b60005b8381106130e65750506000910152565b81810151838201526020016130d6565b9060209161310f815180928185528580860191016130d3565b601f01601f1916010190565b60809061306093928152606060208201526000606082015281604082015201906130f6565b9092919261314d816130b8565b9161315b6040519384612f1c565b829482845282820111610dd55760206131759301906130d3565b565b51906001600160a01b0382168203610dd557565b90919a97949d9e9c9996939c9b9895929b6040518060208101926131c590858560209093929193604081019460018060a01b031681520152565b03601f19810182526131d79082612f1c565b5190209e6040519e8f6122616020016131f09082612f1c565b61226181526122619061340890602001396040519e8f9e8f6020019e6132159f612fcb565b03601f19810182526132279082612f1c565b60405180916020820193848151602081930191613243926130d3565b82018151918260208301916020019161325b926130d3565b010380825261326d9060200182612f1c565b5190209060405191602083019160ff60f81b83523060601b602185015260358401526055830152605582526132a3607583612f1c565b905190206001600160a01b031690565b6000546001600160a01b031633036132c757565b63118cdaa760e01b6000523360045260246000fd5b9060405191608083016040526f30313233343536373839616263646566600f526002830190602882526000604a85015260601b600160005b8080018601602284831a600f811651602384015360041c519101530190601482146133425790600190613314565b50506130786002825101915282528160228101907f88888888888888888888888888888888888888888888888888888888888888806028832016600160005b601160f31b83821a02818001520190601482146133a15790600190613381565b505060429180517f2020202020202020202020202020202020202020202020202020202020202020816000511660011c161890520180517f2020202020202020202020202020202020202020202020202020202020202020816020511660011c1618905256fe608080604052346108d557612261803803809161001c82856108da565b8339810190610120818303126108d55780516001600160401b0381116108d5578261004891830161095c565b60208201516001600160401b0381116108d5578361006791840161095c565b604083015160608401519091906001600160a01b038116908190036108d557608085015160a08601519091906001600160401b0381116108d557876100ad91880161095c565b60c08701519093906001600160401b0381116108d557886100cf91890161095c565b60e08801519098906001600160401b0381116108d557816100f1918a0161095c565b61010089015190986001600160401b0382116108d557019080601f830112156108d5578151610122926020016108fd565b865190966001600160401b03821161052b5761013f600354610979565b601f8111610886575b50602090601f831160011461081d5761017a929160009183610461575b50508160011b916000199060031b1c19161790565b6003555b8051906001600160401b03821161052b5761019a600454610979565b601f81116107ce575b50602090601f8311600114610765576101d49291600091836104615750508160011b916000199060031b1c19161790565b6004555b600580546001600160a01b0319169190911790556006558051906001600160401b03821161052b5761020b600754610979565b601f8111610716575b50602090601f83116001146106ad576102459291600091836104615750508160011b916000199060031b1c19161790565b6007555b83516001600160401b03811161052b57610264600854610979565b601f811161065e575b50602094601f82116001146105f7576102a19293949582916000926104615750508160011b916000199060031b1c19161790565b6008555b82516001600160401b03811161052b576102c0600954610979565b601f81116105a8575b506020601f82116001146105415781906102fb9394956000926104615750508160011b916000199060031b1c19161790565b6009555b81516001600160401b03811161052b5761031a600a54610979565b601f81116104d1575b50602092601f821160011461046c57610355929382916000926104615750508160011b916000199060031b1c19161790565b600a555b331561044b57600254818101809111610435576002556000903382528160205260408220818154019055604051908152817fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60203393a3604051610e89808201906001600160401b038211838310176104215760209183916113d8833930815203019082f09081156104155750600b80546001600160a01b0319166001600160a01b0392909216919091179055604051610a0d90816109cb8239f35b604051903d90823e3d90fd5b634e487b7160e01b84526041600452602484fd5b634e487b7160e01b600052601160045260246000fd5b63ec442f0560e01b600052600060045260246000fd5b015190503880610165565b601f19821693600a600052806000209160005b8681106104b957508360019596106104a0575b505050811b01600a55610359565b015160001960f88460031b161c19169055388080610492565b9192602060018192868501518155019401920161047f565b600a60005261051b907fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8601f840160051c81019160208510610521575b601f0160051c01906109b3565b38610323565b909150819061050e565b634e487b7160e01b600052604160045260246000fd5b601f198216906009600052806000209160005b81811061059057509583600195969710610577575b505050811b016009556102ff565b015160001960f88460031b161c19169055388080610569565b9192602060018192868b015181550194019201610554565b60096000526105f1907f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af601f840160051c8101916020851061052157601f0160051c01906109b3565b386102c9565b601f198216956008600052806000209160005b8881106106465750836001959697981061062d575b505050811b016008556102a5565b015160001960f88460031b161c1916905538808061061f565b9192602060018192868501518155019401920161060a565b60086000526106a7907ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee3601f840160051c8101916020851061052157601f0160051c01906109b3565b3861026d565b90601f198316916007600052816000209260005b8181106106fe57509084600195949392106106e5575b505050811b01600755610249565b015160001960f88460031b161c191690553880806106d7565b929360206001819287860151815501950193016106c1565b600760005261075f907fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688601f850160051c8101916020861061052157601f0160051c01906109b3565b38610214565b90601f198316916004600052816000209260005b8181106107b6575090846001959493921061079d575b505050811b016004556101d8565b015160001960f88460031b161c1916905538808061078f565b92936020600181928786015181550195019301610779565b6004600052610817907f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b601f850160051c8101916020861061052157601f0160051c01906109b3565b386101a3565b90601f198316916003600052816000209260005b81811061086e5750908460019594939210610855575b505050811b0160035561017e565b015160001960f88460031b161c19169055388080610847565b92936020600181928786015181550195019301610831565b60036000526108cf907fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b601f850160051c8101916020861061052157601f0160051c01906109b3565b38610148565b600080fd5b601f909101601f19168101906001600160401b0382119082101761052b57604052565b9192916001600160401b03821161052b5760405190610926601f8401601f1916602001836108da565b8194838352838201116108d55760005b8381106109495750506000910160200152565b8060209183015182828601015201610936565b9080601f830112156108d5578151610976926020016108fd565b90565b90600182811c921680156109a9575b602083101461099357565b634e487b7160e01b600052602260045260246000fd5b91607f1691610988565b8181106109be575050565b600081556001016109b356fe6080604052600436101561001257600080fd5b60003560e01c806306fdde0314610730578063095ea7b3146106aa57806318160ddd1461068c57806323b872dd1461059f578063313ce567146105835780633257b4f31461056557806370a082311461052b5780638c662b7f1461048357806395d89b41146103db578063977fb1cc1461033357806397ea5a901461030a578063a9059cbb146102d9578063d5f39488146102b0578063dd62ed3e1461025f578063e8a5edce146101b65763f3ccaac0146100cc57600080fd5b346101b15760003660031901126101b15760405160006007546100ee81610845565b808452906001811690811561018d575060011461012e575b61012a836101168185038261087f565b6040519182916020835260208301906107d8565b0390f35b600760009081527fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688939250905b80821061017357509091508101602001610116610106565b91926001816020925483858801015201910190929161015b565b60ff191660208086019190915291151560051b840190910191506101169050610106565b600080fd5b346101b15760003660031901126101b1576040516000600a546101d881610845565b808452906001811690811561018d57506001146101ff5761012a836101168185038261087f565b919050600a6000527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8916000905b80821061024557509091508101602001610116610106565b91926001816020925483858801015201910190929161022d565b346101b15760403660031901126101b157610278610819565b61028061082f565b6001600160a01b039182166000908152600160209081526040808320949093168252928352819020549051908152f35b346101b15760003660031901126101b1576005546040516001600160a01b039091168152602090f35b346101b15760403660031901126101b1576102ff6102f5610819565b60243590336108b7565b602060405160018152f35b346101b15760003660031901126101b157600b546040516001600160a01b039091168152602090f35b346101b15760003660031901126101b157604051600060085461035581610845565b808452906001811690811561018d575060011461037c5761012a836101168185038261087f565b600860009081527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee3939250905b8082106103c157509091508101602001610116610106565b9192600181602092548385880101520191019092916103a9565b346101b15760003660031901126101b15760405160006004546103fd81610845565b808452906001811690811561018d57506001146104245761012a836101168185038261087f565b600460009081527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b939250905b80821061046957509091508101602001610116610106565b919260018160209254838588010152019101909291610451565b346101b15760003660031901126101b15760405160006009546104a581610845565b808452906001811690811561018d57506001146104cc5761012a836101168185038261087f565b600960009081527f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af939250905b80821061051157509091508101602001610116610106565b9192600181602092548385880101520191019092916104f9565b346101b15760203660031901126101b1576001600160a01b0361054c610819565b1660005260006020526020604060002054604051908152f35b346101b15760003660031901126101b1576020600654604051908152f35b346101b15760003660031901126101b157602060405160128152f35b346101b15760603660031901126101b1576105b8610819565b6105c061082f565b6001600160a01b0382166000818152600160208181526040808420338552909152909120549193604435939290918101610600575b506102ff93506108b7565b83811061066f578415610659573315610643576102ff946000526001602052604060002060018060a01b03331660005260205283604060002091039055846105f5565b634a1406b160e11b600052600060045260246000fd5b63e602df0560e01b600052600060045260246000fd5b8390637dc7a0d960e11b6000523360045260245260445260646000fd5b346101b15760003660031901126101b1576020600254604051908152f35b346101b15760403660031901126101b1576106c3610819565b602435903315610659576001600160a01b031690811561064357336000526001602052604060002082600052602052806040600020556040519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b346101b15760003660031901126101b157604051600060035461075281610845565b808452906001811690811561018d57506001146107795761012a836101168185038261087f565b600360009081527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b939250905b8082106107be57509091508101602001610116610106565b9192600181602092548385880101520191019092916107a6565b919082519283825260005b848110610804575050826000602080949584010152601f8019910116010190565b806020809284010151828286010152016107e3565b600435906001600160a01b03821682036101b157565b602435906001600160a01b03821682036101b157565b90600182811c92168015610875575b602083101461085f57565b634e487b7160e01b600052602260045260246000fd5b91607f1691610854565b90601f8019910116810190811067ffffffffffffffff8211176108a157604052565b634e487b7160e01b600052604160045260246000fd5b600092916001600160a01b039091169081156109c3576001600160a01b03169182156109af5781845283602052604084205481811061099457817fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9260209285885287845203604087205584865285825260408620818154019055604051908152a3600b546001600160a01b0316803b15610990578180916024604051809481936330d03a4160e21b83523260048401525af1801561098557610978575050565b816109829161087f565b50565b6040513d84823e3d90fd5b5080fd5b60649350849263391434e360e21b8452600452602452604452fd5b63ec442f0560e01b84526004849052602484fd5b634b637e8f60e11b84526004849052602484fdfea2646970667358221220af4f58efdd7d09f8088f3277911b5836031ce2b2b983769a74bfa2185026c7b064736f6c634300081a0033608034607457601f610e8938819003918201601f19168301916001600160401b03831184841017607957808492602094604052833981010312607457516001600160a01b03811690819003607457600180546001600160a01b03191691909117905560008055604051610df990816100908239f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe608080604052600436101561001357600080fd5b60003560e01c90816301ffc9a714610ab25750806306fdde0314610a6c578063081812fc14610a1a578063095ea7b31461096e57806323b872dd1461095c57806342842e0e146109225780636352211e146108ca57806370a082311461087557806395d89b4114610837578063a22cb465146107c2578063b88d4fde1461071b578063c340e904146105e6578063c87b56dd14610137578063e985e9c5146100f25763fc0c546a146100c457600080fd5b346100ed5760003660031901126100ed576001546040516001600160a01b039091168152602090f35b600080fd5b346100ed5760403660031901126100ed5761010b610b4b565b610113610b61565b601c52670a5a2e7a0000000060085260005260206030600c20546040519015158152f35b346100ed5760203660031901126100ed5760043561015d61015782610d7c565b91610d7c565b906102bb600d61010260405180957f3c73766720786d6c6e733d22687474703a2f2f7777772e77332e6f72672f323060208301527f30302f737667222077696474683d2235303022206865696768743d223530302260408301527f207374796c653d226261636b67726f756e642d636f6c6f723a23303030223e3c60608301527f7465787420783d223530252220793d223530252220746578742d616e63686f7260808301527f3d226d6964646c652220646f6d696e616e742d626173656c696e653d226d696460a08301527f646c6522207374796c653d22666f6e742d66616d696c793a6d6f6e6f7370616360c08301527f653b666f6e742d73697a653a323470783b66696c6c3a23306637223e5377617060e083015261202360f01b6101008301526102948151809260208686019101610afc565b81016c1e17ba32bc3a1f1e17b9bb339f60991b838201520301601219810185520183610bb1565b816060928051806104ed575b5050506002600b61039d92602f6103819560405161032d603a8260208101947f646174613a696d6167652f7376672b786d6c3b6261736536342c000000000000865261031c8151809260208686019101610afc565b81010301601f198101835282610bb1565b6040519788946e7b226e616d65223a2253776170202360881b602087015261035e815180926020888a019101610afc565b8501916a11161134b6b0b3b2911d1160a91b85840152518093603a840190610afc565b010161227d60f01b838201520301601d19810184520182610bb1565b8060609080519283610401575b6103fd836103f1603d60405180937f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c000000602083015261031c8151809260208686019101610afc565b60405191829182610b1f565b0390f35b9091506003600284010460021b90604051927f4142434445464748494a4b4c4d4e4f505152535455565758595a616263646566601f526106707f6768696a6b6c6d6e6f707172737475767778797a303132333435363738392d5f18603f526020840194838501956020828189019401019060046003835196600085525b0191603f8351818160121c16516000538181600c1c1651600153818160061c1651600253165160035360005181520190848210156104c15760049060039061047e565b5092506103fd9660009460409252016040526003613d3d60f01b910660020482035252815282806103aa565b919350916003600283010460021b90604051917f4142434445464748494a4b4c4d4e4f505152535455565758595a616263646566601f526106707f6768696a6b6c6d6e6f707172737475767778797a303132333435363738392d5f18603f52602083019281810191602086818501980101946004600387519a600089525b0191603f8351818160121c16516000538181600c1c1651600153818160061c1651600253165160035360005181520190888210156105ae5760049060039061056b565b5061039d97506000906002976040602f966103819c600b9a52016040526003613d3d60f01b91068904820352528152955050926102c7565b346100ed5760203660031901126100ed576105ff610b4b565b6001546001600160a01b031633036106d6576000549060001982146106c0576001820160005560018060a01b031681600052673ec412a9852d173d60c11b601c5260206000208201820180548060601b6106b2578217905580600052601c600c2060018154019063ffffffff821683021561069d575560007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a4005b67ea553b3401336cea831560021b526004601cfd5b63c991cbb16000526004601cfd5b634e487b7160e01b600052601160045260246000fd5b60405162461bcd60e51b815260206004820152601c60248201527f4f6e6c7920746f6b656e20636f6e74726163742063616e206d696e74000000006044820152606490fd5b60803660031901126100ed5761072f610b4b565b610737610b61565b6044356064359167ffffffffffffffff83116100ed57366023840112156100ed5782600401359367ffffffffffffffff85116100ed5736602486860101116100ed57610784838383610be9565b813b61078c57005b600060206107c09680602483601f19601f84011601986107af6040519a8b610bb1565b828a52018389013786010152610ce7565b005b346100ed5760403660031901126100ed576107db610b4b565b6024358015158091036100ed5781601c52670a5a2e7a0000000060085233600052806030600c205560005260018060a01b0316337f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160206000a3005b346100ed5760003660031901126100ed576103fd604080519061085a8183610bb1565b60048252630535741560e41b60208301525191829182610b1f565b346100ed5760203660031901126100ed5761088e610b4b565b80156108bc57673ec412a9852d173d60c11b601c52600052602063ffffffff601c600c205416604051908152f35b638f4eb6046000526004601cfd5b346100ed5760203660031901126100ed576004356000818152673ec412a9852d173d60c11b601c5260209020810101546001600160a01b0316801561091457602090604051908152f35b63ceea21b66000526004601cfd5b61092b36610b77565b6109388183859495610be9565b823b61094057005b6107c09260405192610953602085610bb1565b60008452610ce7565b6107c061096836610b77565b91610be9565b60403660031901126100ed57610982610b4b565b6024356000818152673ec412a9852d173d60c11b3317601c526020902081018101805491926001600160a01b039081169216908115610914578290823314331517156109f4575b600101557f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600080a4005b9050816000526030600c205415610a0c5782906109c9565b634b6e7f186000526004601cfd5b346100ed5760203660031901126100ed576004356000818152673ec412a9852d173d60c11b601c5260209020810101805460601b1561091457600101546040516001600160a01b039091168152602090f35b346100ed5760003660031901126100ed576103fd6040805190610a8f8183610bb1565b600c82526b14ddd85c081d1bc8135a5b9d60a21b60208301525191829182610b1f565b346100ed5760203660031901126100ed57600435906001600160e01b0319821682036100ed5760209160e01c635b5e139f8114906301ffc9a76380ac58cd82149114171715158152f35b60005b838110610b0f5750506000910152565b8181015183820152602001610aff565b60409160208252610b3f8151809281602086015260208686019101610afc565b601f01601f1916010190565b600435906001600160a01b03821682036100ed57565b602435906001600160a01b03821682036100ed57565b60609060031901126100ed576004356001600160a01b03811681036100ed57906024356001600160a01b03811681036100ed579060443590565b90601f8019910116810190811067ffffffffffffffff821117610bd357604052565b634e487b7160e01b600052604160045260246000fd5b6000838152673ec412a9852d173d60c11b3317601c52602090208301830180546001600160a01b0393841693928316928116808414810215610cd25750826000528160010180548033148533141715610cba575b610cb0575b50838318189055601c600c20600019815401905581600052601c600c2060018154019063ffffffff8216840215610c9b57557fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600080a4565b67ea553b3401336cea841560021b526004601cfd5b6000905538610c42565b6030600c2054610c3d57634b6e7f186000526004601cfd5b67ceea21b6a1148100901560021b526004601cfd5b9060a46020939460405195869463150b7a028652338787015260018060a01b03166040860152606085015260808085015280518091818060a0880152610d68575b505001906000601c8401915af115610d59575b5163757a42ff60e11b01610d4b57565b63d1a57ed66000526004601cfd5b3d15610d3b573d6000823e3d90fd5b818760c08801920160045afa508038610d28565b90604051600a608082019360a0830160405260008552935b6000190193603082820601855304928315610db157600a90610d94565b809350608091030191601f190191825256fea2646970667358221220086370d32d3909aefab11261f6b6a29136ada245809978232c8ade83c16df63c64736f6c634300081a0033a2646970667358221220a648d1cda2dfb08da17614e22268676d4984980aeebb2c62e00b6323f2da1b3964736f6c634300081a0033