diff --git a/scripts/config.local.json b/scripts/config.local.json index 4523ee00..22a6350e 100644 --- a/scripts/config.local.json +++ b/scripts/config.local.json @@ -10,7 +10,7 @@ "executor-private-keys": "0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80", "utility-private-key": "0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80", "entrypoints": "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789,0x0000000071727De22E5E9d8BAf0edAc6f37da032", - "entrypoint-simulation-contract": "0xe1eFD6f041c128B23527b7398c29a94C98554763", + "entrypoint-simulation-contract": "0xAE6035bEE0802C969265C8A3193CE8878c99A66A", "enable-debug-endpoints": true, "expiration-check": false, "safe-mode": false, diff --git a/scripts/localDeployer/constants.ts b/scripts/localDeployer/constants.ts index c227cc26..94fd5bbb 100644 --- a/scripts/localDeployer/constants.ts +++ b/scripts/localDeployer/constants.ts @@ -10,9 +10,9 @@ export const ENTRY_POINT_V07_CREATECALL: Hex = export const SIMPLE_ACCOUNT_FACTORY_V07_CREATECALL: Hex = "0x000000000000000000000000000000000000000000000000000000000000000060a060405234801561001057600080fd5b506040516129e13803806129e183398101604081905261002f91610088565b8060405161003c9061007b565b6001600160a01b039091168152602001604051809103906000f080158015610068573d6000803e3d6000fd5b506001600160a01b0316608052506100b8565b612011806109d083390190565b60006020828403121561009a57600080fd5b81516001600160a01b03811681146100b157600080fd5b9392505050565b6080516108f06100e060003960008181604b01528181610114015261025801526108f06000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c806311464fbe146100465780635fbfb9cf146100965780638cb84e18146100a9575b600080fd5b61006d7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61006d6100a436600461039d565b6100bc565b61006d6100b736600461039d565b6101ee565b6000806100c984846101ee565b905073ffffffffffffffffffffffffffffffffffffffff81163b80156100f1575090506101e8565b60405173ffffffffffffffffffffffffffffffffffffffff8616602482015284907f000000000000000000000000000000000000000000000000000000000000000090604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fc4d66de800000000000000000000000000000000000000000000000000000000179052516101b790610390565b6101c2929190610406565b8190604051809103906000f59050801580156101e2573d6000803e3d6000fd5b50925050505b92915050565b60006103578260001b6040518060200161020790610390565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe082820381018352601f90910116604081905273ffffffffffffffffffffffffffffffffffffffff871660248201527f000000000000000000000000000000000000000000000000000000000000000090604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152918152602080830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fc4d66de800000000000000000000000000000000000000000000000000000000179052905161030093929101610406565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529082905261033c9291602001610474565b6040516020818303038152906040528051906020012061035e565b9392505050565b60006103578383306000604051836040820152846020820152828152600b8101905060ff815360559020949350505050565b610417806104a483390190565b600080604083850312156103b057600080fd5b823573ffffffffffffffffffffffffffffffffffffffff811681146103d457600080fd5b946020939093013593505050565b60005b838110156103fd5781810151838201526020016103e5565b50506000910152565b73ffffffffffffffffffffffffffffffffffffffff8316815260406020820152600082518060408401526104418160608501602087016103e2565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016060019392505050565b600083516104868184602088016103e2565b83519083019061049a8183602088016103e2565b0194935050505056fe608060405260405161041738038061041783398101604081905261002291610268565b61002c8282610033565b5050610352565b61003c82610092565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a280511561008657610081828261010e565b505050565b61008e610185565b5050565b806001600160a01b03163b6000036100cd57604051634c9c8ce360e01b81526001600160a01b03821660048201526024015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b03168460405161012b9190610336565b600060405180830381855af49150503d8060008114610166576040519150601f19603f3d011682016040523d82523d6000602084013e61016b565b606091505b50909250905061017c8583836101a6565b95945050505050565b34156101a45760405163b398979f60e01b815260040160405180910390fd5b565b6060826101bb576101b682610205565b6101fe565b81511580156101d257506001600160a01b0384163b155b156101fb57604051639996b31560e01b81526001600160a01b03851660048201526024016100c4565b50805b9392505050565b8051156102155780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b634e487b7160e01b600052604160045260246000fd5b60005b8381101561025f578181015183820152602001610247565b50506000910152565b6000806040838503121561027b57600080fd5b82516001600160a01b038116811461029257600080fd5b60208401519092506001600160401b03808211156102af57600080fd5b818501915085601f8301126102c357600080fd5b8151818111156102d5576102d561022e565b604051601f8201601f19908116603f011681019083821181831017156102fd576102fd61022e565b8160405282815288602084870101111561031657600080fd5b610327836020830160208801610244565b80955050505050509250929050565b60008251610348818460208701610244565b9190910192915050565b60b7806103606000396000f3fe6080604052600a600c565b005b60186014601a565b605e565b565b600060597f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b3660008037600080366000845af43d6000803e808015607c573d6000f35b3d6000fdfea2646970667358221220d7f23a80daebb5531c9e4a18d87e812fca112e5df7e56433218edcc12bbe415d64736f6c63430008170033a2646970667358221220f5be4d2659f1a124e46d76b875ad5264a1c62d421946ca067d6132fa6cc4309964736f6c6343000817003360c0604052306080523480156200001557600080fd5b50604051620020113803806200201183398101604081905262000038916200010a565b6001600160a01b03811660a0526200004f62000056565b506200013c565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000a75760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620001075780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b6000602082840312156200011d57600080fd5b81516001600160a01b03811681146200013557600080fd5b9392505050565b60805160a051611e70620001a160003960008181610320015281816106f00152818161079e0152818161092601528181610b6301528181610baa01528181610d6a015261121e015260008181610f3301528181610f5c015261117d0152611e706000f3fe6080604052600436106101125760003560e01c80638da5cb5b116100a5578063bc197c8111610074578063c4d66de811610059578063c4d66de8146103c1578063d087d288146103e1578063f23a6e61146103f657600080fd5b8063bc197c8114610364578063c399ec88146103ac57600080fd5b80638da5cb5b14610269578063ad3cb1cc146102bb578063b0d691fe14610311578063b61d27f61461034457600080fd5b80634a58db19116100e15780634a58db19146102195780634d44560d146102215780634f1ef2861461024157806352d1902d1461025457600080fd5b806301ffc9a71461011e578063150b7a021461015357806319822f7c146101c957806347e1da2a146101f757600080fd5b3661011957005b600080fd5b34801561012a57600080fd5b5061013e61013936600461179b565b61043c565b60405190151581526020015b60405180910390f35b34801561015f57600080fd5b5061019861016e366004611848565b7f150b7a020000000000000000000000000000000000000000000000000000000095945050505050565b6040517fffffffff00000000000000000000000000000000000000000000000000000000909116815260200161014a565b3480156101d557600080fd5b506101e96101e43660046118bb565b610521565b60405190815260200161014a565b34801561020357600080fd5b50610217610212366004611954565b610547565b005b6102176106ee565b34801561022d57600080fd5b5061021761023c3660046119ee565b610794565b61021761024f366004611a49565b610843565b34801561026057600080fd5b506101e9610862565b34801561027557600080fd5b506000546102969073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161014a565b3480156102c757600080fd5b506103046040518060400160405280600581526020017f352e302e3000000000000000000000000000000000000000000000000000000081525081565b60405161014a9190611b4f565b34801561031d57600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610296565b34801561035057600080fd5b5061021761035f366004611ba0565b610891565b34801561037057600080fd5b5061019861037f366004611bfc565b7fbc197c810000000000000000000000000000000000000000000000000000000098975050505050505050565b3480156103b857600080fd5b506101e96108e0565b3480156103cd57600080fd5b506102176103dc366004611cbb565b610997565b3480156103ed57600080fd5b506101e9610b16565b34801561040257600080fd5b50610198610411366004611cd8565b7ff23a6e61000000000000000000000000000000000000000000000000000000009695505050505050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f150b7a020000000000000000000000000000000000000000000000000000000014806104cf57507fffffffff0000000000000000000000000000000000000000000000000000000082167f4e2312e000000000000000000000000000000000000000000000000000000000145b8061051b57507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b600061052b610b92565b6105358484610c33565b905061054082610ce7565b9392505050565b61054f610d52565b8481148015610565575082158061056557508281145b6105d0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f77726f6e67206172726179206c656e677468730000000000000000000000000060448201526064015b60405180910390fd5b600083900361067c5760005b858110156106765761066e8787838181106105f9576105f9611d42565b905060200201602081019061060e9190611cbb565b600085858581811061062257610622611d42565b90506020028101906106349190611d71565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610e1392505050565b6001016105dc565b506106e6565b60005b858110156106e4576106dc87878381811061069c5761069c611d42565b90506020020160208101906106b19190611cbb565b8686848181106106c3576106c3611d42565b9050602002013585858581811061062257610622611d42565b60010161067f565b505b505050505050565b7f00000000000000000000000000000000000000000000000000000000000000006040517fb760faf900000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff919091169063b760faf99034906024016000604051808303818588803b15801561077957600080fd5b505af115801561078d573d6000803e3d6000fd5b5050505050565b61079c610e90565b7f00000000000000000000000000000000000000000000000000000000000000006040517f205c287800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff848116600483015260248201849052919091169063205c287890604401600060405180830381600087803b15801561082f57600080fd5b505af11580156106e6573d6000803e3d6000fd5b61084b610f1b565b6108548261101f565b61085e8282611027565b5050565b600061086c611165565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b610899610d52565b6108da848484848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610e1392505050565b50505050565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015260009073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016906370a08231906024015b602060405180830381865afa15801561096e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109929190611dd6565b905090565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff16159067ffffffffffffffff166000811580156109e25750825b905060008267ffffffffffffffff1660011480156109ff5750303b155b905081158015610a0d575080155b15610a44576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001660011785558315610aa55784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff16680100000000000000001785555b610aae866111d4565b83156106e65784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a1505050505050565b6040517f35567e1a0000000000000000000000000000000000000000000000000000000081523060048201526000602482018190529073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016906335567e1a90604401610951565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610c31576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f6163636f756e743a206e6f742066726f6d20456e747279506f696e740000000060448201526064016105c7565b565b7f19457468657265756d205369676e6564204d6573736167653a0a3332000000006000908152601c829052603c8120610cae81610c74610100870187611d71565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061126892505050565b60005473ffffffffffffffffffffffffffffffffffffffff908116911614610cda57600191505061051b565b5060009392505050565b50565b8015610ce45760405160009033907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90849084818181858888f193505050503d806000811461078d576040519150601f19603f3d011682016040523d82523d6000602084013e61078d565b3373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161480610dad575060005473ffffffffffffffffffffffffffffffffffffffff1633145b610c31576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f6163636f756e743a206e6f74204f776e6572206f7220456e747279506f696e7460448201526064016105c7565b6000808473ffffffffffffffffffffffffffffffffffffffff168484604051610e3c9190611def565b60006040518083038185875af1925050503d8060008114610e79576040519150601f19603f3d011682016040523d82523d6000602084013e610e7e565b606091505b50915091508161078d57805160208201fd5b60005473ffffffffffffffffffffffffffffffffffffffff16331480610eb557503330145b610c31576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f6f6e6c79206f776e65720000000000000000000000000000000000000000000060448201526064016105c7565b3073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161480610fe857507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16610fcf7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614155b15610c31576040517fe07c8dba00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610ce4610e90565b8173ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156110ac575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526110a991810190611dd6565b60015b6110fa576040517f4c9c8ce300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff831660048201526024016105c7565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8114611156576040517faa1d49a4000000000000000000000000000000000000000000000000000000008152600481018290526024016105c7565b6111608383611292565b505050565b3073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610c31576040517fe07c8dba00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff838116918217835560405191927f0000000000000000000000000000000000000000000000000000000000000000909116917f47e55c76e7a6f1fd8996a1da8008c1ea29699cca35e7bcd057f2dec313b6e5de9190a350565b60008060008061127886866112f5565b9250925092506112888282611342565b5090949350505050565b61129b82611446565b60405173ffffffffffffffffffffffffffffffffffffffff8316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a28051156112ed576111608282611515565b61085e611598565b6000806000835160410361132f5760208401516040850151606086015160001a611321888285856115d0565b95509550955050505061133b565b50508151600091506002905b9250925092565b600082600381111561135657611356611e0b565b0361135f575050565b600182600381111561137357611373611e0b565b036113aa576040517ff645eedf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60028260038111156113be576113be611e0b565b036113f8576040517ffce698f7000000000000000000000000000000000000000000000000000000008152600481018290526024016105c7565b600382600381111561140c5761140c611e0b565b0361085e576040517fd78bce0c000000000000000000000000000000000000000000000000000000008152600481018290526024016105c7565b8073ffffffffffffffffffffffffffffffffffffffff163b6000036114af576040517f4c9c8ce300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff821660048201526024016105c7565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60606000808473ffffffffffffffffffffffffffffffffffffffff168460405161153f9190611def565b600060405180830381855af49150503d806000811461157a576040519150601f19603f3d011682016040523d82523d6000602084013e61157f565b606091505b509150915061158f8583836116ca565b95945050505050565b3415610c31576040517fb398979f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a084111561160b57506000915060039050826116c0565b604080516000808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa15801561165f573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff81166116b6575060009250600191508290506116c0565b9250600091508190505b9450945094915050565b6060826116df576116da82611759565b610540565b8151158015611703575073ffffffffffffffffffffffffffffffffffffffff84163b155b15611752576040517f9996b31500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff851660048201526024016105c7565b5080610540565b8051156117695780518082602001fd5b6040517f1425ea4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000602082840312156117ad57600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461054057600080fd5b73ffffffffffffffffffffffffffffffffffffffff81168114610ce457600080fd5b60008083601f84011261181157600080fd5b50813567ffffffffffffffff81111561182957600080fd5b60208301915083602082850101111561184157600080fd5b9250929050565b60008060008060006080868803121561186057600080fd5b853561186b816117dd565b9450602086013561187b816117dd565b935060408601359250606086013567ffffffffffffffff81111561189e57600080fd5b6118aa888289016117ff565b969995985093965092949392505050565b6000806000606084860312156118d057600080fd5b833567ffffffffffffffff8111156118e757600080fd5b840161012081870312156118fa57600080fd5b95602085013595506040909401359392505050565b60008083601f84011261192157600080fd5b50813567ffffffffffffffff81111561193957600080fd5b6020830191508360208260051b850101111561184157600080fd5b6000806000806000806060878903121561196d57600080fd5b863567ffffffffffffffff8082111561198557600080fd5b6119918a838b0161190f565b909850965060208901359150808211156119aa57600080fd5b6119b68a838b0161190f565b909650945060408901359150808211156119cf57600080fd5b506119dc89828a0161190f565b979a9699509497509295939492505050565b60008060408385031215611a0157600080fd5b8235611a0c816117dd565b946020939093013593505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008060408385031215611a5c57600080fd5b8235611a67816117dd565b9150602083013567ffffffffffffffff80821115611a8457600080fd5b818501915085601f830112611a9857600080fd5b813581811115611aaa57611aaa611a1a565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908382118183101715611af057611af0611a1a565b81604052828152886020848701011115611b0957600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60005b83811015611b46578181015183820152602001611b2e565b50506000910152565b6020815260008251806020840152611b6e816040850160208701611b2b565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b60008060008060608587031215611bb657600080fd5b8435611bc1816117dd565b935060208501359250604085013567ffffffffffffffff811115611be457600080fd5b611bf0878288016117ff565b95989497509550505050565b60008060008060008060008060a0898b031215611c1857600080fd5b8835611c23816117dd565b97506020890135611c33816117dd565b9650604089013567ffffffffffffffff80821115611c5057600080fd5b611c5c8c838d0161190f565b909850965060608b0135915080821115611c7557600080fd5b611c818c838d0161190f565b909650945060808b0135915080821115611c9a57600080fd5b50611ca78b828c016117ff565b999c989b5096995094979396929594505050565b600060208284031215611ccd57600080fd5b8135610540816117dd565b60008060008060008060a08789031215611cf157600080fd5b8635611cfc816117dd565b95506020870135611d0c816117dd565b94506040870135935060608701359250608087013567ffffffffffffffff811115611d3657600080fd5b6119dc89828a016117ff565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112611da657600080fd5b83018035915067ffffffffffffffff821115611dc157600080fd5b60200191503681900382131561184157600080fd5b600060208284031215611de857600080fd5b5051919050565b60008251611e01818460208701611b2b565b9190910192915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fdfea2646970667358221220646ccd794d1cd309da39b56bcfe1238dae05a9d8106dddf47fe099a78d7801e864736f6c634300081700330000000000000000000000000000000071727de22e5e9d8baf0edac6f37da032" -// Will deploy entryPointSimulations (required for V0.7) to 0xe1eFD6f041c128B23527b7398c29a94C98554763 +// Will deploy entryPointSimulations (required for V0.7) to 0xAE6035bEE0802C969265C8A3193CE8878c99A66A export const ENTRY_POINT_SIMULATIONS_CREATECALL: Hex = - "0x000000000000000000000000000000000000000000000000000000000000000060808060405234608257613d268181016001600160401b03811183821017606c5782916103ff833903906000f08015606057600080546001600160a01b0319166001600160a01b039290921691909117905560405161037790816100888239f35b6040513d6000823e3d90fd5b634e487b7160e01b600052604160045260246000fd5b600080fdfe6080604052600436101561001257600080fd5b60003560e01c63c18f52261461002757600080fd5b34610281576040366003190112610281576004356001600160a01b038116908190036102815760243567ffffffffffffffff81116102815736602382011215610281578060040135610078816102be565b91610086604051938461029c565b8183526024602084019260051b820101903682116102815760248101925b82841061020957845185876100b8836102be565b926100c6604051948561029c565b8084526100d5601f19916102be565b0160005b8181106101f857505060005b825181101561019057600190606060008061013b858060a01b0382541661014961010f878b610317565b51604051938491602083019463428557b160e11b865260248401526040604484015260648301906102d6565b03601f19810184528361029c565b82885a935193f115610172575b6101608287610317565b5261016b8186610317565b50016100e5565b503d604051906020818301016040528082526000602083013e610156565b836040518091602082016020835281518091526040830190602060408260051b8601019301916000905b8282106101c957505050500390f35b919360019193955060206101e88192603f198a820301865288516102d6565b96019201920185949391926101ba565b8060606020809388010152016100d9565b833567ffffffffffffffff8111610281578201366043820112156102815760248101359167ffffffffffffffff831161028657604051610253601f8501601f19166020018261029c565b83815236604484860101116102815760006020858196604483970183860137830101528152019301926100a4565b600080fd5b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff82111761028657604052565b67ffffffffffffffff81116102865760051b60200190565b919082519283825260005b848110610302575050826000602080949584010152601f8019910116010190565b806020809284010151828286010152016102e1565b805182101561032b5760209160051b010190565b634e487b7160e01b600052603260045260246000fdfea2646970667358221220686ac6332ca394a6130c2a5d53c73a96976e0356a691cc9b848c6e42846c071764736f6c634300081a003360c080604052346100cc5760016002556101888181016001600160401b038111838210176100b6578291613b9e833903906000f080156100aa576080523060a0526100486100d1565b600081526020810190600082528060206100606100d1565b600081520152600380546001600160a01b03191690555160045551600555604051613aad90816100f1823960805181505060a0518181816108ef0152818161206501526121dc0152f35b6040513d6000823e3d90fd5b634e487b7160e01b600052604160045260246000fd5b600080fd5b60408051919082016001600160401b038111838210176100b65760405256fe60806040526004361015610023575b361561001957600080fd5b61002161270f565b005b60003560e01c80630396cb60146101835780630bd28e3b1461017e5780630da82661146101795780630dbfc6bd146101745780630f019dea1461016f5780631b2e01b81461016a578063205c28781461016557806322cdde4c14610160578063263934db1461015b57806330ec25d11461015657806335567e1a14610151578063444034731461014c5780635287ce12146101475780635787f48b146101425780635895273b1461013d57806370a0823114610138578063b760faf914610133578063bb9fe6bf1461012e578063c23a5cea14610129578063c3bce00914610124578063fc7e286d1461011f5763fe2171cb0361000e57611395565b61130a565b6112dd565b6111db565b6110d9565b6110ae565b611071565b610fbd565b610f38565b610dfa565b610d8b565b610d22565b610ca4565b610b8d565b610b5c565b610a3e565b6109db565b61083d565b610779565b610554565b610360565b60203660031901126103455760043563ffffffff811690818103610345576103407fa5ae833d0bb1dcd632d98a8b70973e8516812898e19bf27b70071ebc8dc52c01916103226102436102336101eb3360018060a01b03166000526000602052604060002090565b966101f78115156113e5565b61022460018901549161021d6102148463ffffffff9060781c1690565b63ffffffff1690565b1115611431565b60081c6001600160701b031690565b6001600160701b033491166114b0565b9461024f8615156114bd565b6102626001600160701b038711156114fe565b5461026b61045e565b908152600160208201526001600160701b038616604082015263ffffffff8316606082015260006080820181905233815260208190526040902081518155602082015160019091018054604084015160608501516080909501516001600160c81b031990921660ff941515949094169390931760089390931b6effffffffffffffffffffffffffff00169290921760789390931b63ffffffff60781b169290921760989190911b65ffffffffffff60981b16179055565b6040805194855263ffffffff90911660208501523393918291820190565b0390a2005b600080fd5b602435906001600160c01b038216820361034557565b34610345576020366003190112610345576004356001600160c01b0381168103610345573360009081526001602090815260408083206001600160c01b039094168352929052206103b1815461153b565b9055005b634e487b7160e01b600052604160045260246000fd5b60a081019081106001600160401b038211176103e657604052565b6103b5565b604081019081106001600160401b038211176103e657604052565b606081019081106001600160401b038211176103e657604052565b61014081019081106001600160401b038211176103e657604052565b90601f801991011681019081106001600160401b038211176103e657604052565b6040519061046d60a08361043d565b565b6040519061046d6101408361043d565b6040519061046d6101008361043d565b6040519061046d60608361043d565b6040519061046d60408361043d565b6001600160401b0381116103e657601f01601f191660200190565b9291926104d4826104ad565b916104e2604051938461043d565b829481845281830111610345578281602093846000960137010152565b9080601f830112156103455781602061051a933591016104c8565b90565b6001600160a01b0381160361034557565b6024359061046d8261051d565b610104359061046d8261051d565b359061046d8261051d565b3461034557610220366003190112610345576004356001600160401b038111610345576105859036906004016104ff565b3660231901906101c0821261034557610140604051926105a4846103cb565b12610345576105b161046f565b6105b961052e565b815260443560208201526064356040820152608435606082015260a435608082015260c43560a082015260e43560c08201526105f361053b565b60e0820152610124356101008201526101443561012082015282526101643560208301526101843560408301526101a43560608301526101c43560808301526101e435916001600160401b038311610345576106566106619336906004016104ff565b906102043592611561565b60408051928352602083019190915290f35b0390f35b9181601f84011215610345578235916001600160401b038311610345576020808501948460051b01011161034557565b602060031982011261034557600435906001600160401b038211610345576106d191600401610677565b9091565b60005b8381106106e85750506000910152565b81810151838201526020016106d8565b90602091610711815180928185528580860191016106d5565b601f01601f1916010190565b9061010060e061051a93805184526020810151602085015260408101516040850152606081015160608501526080810151608085015260a081015160a085015260c0810151151560c08501520151918160e082015201906106f8565b346103455761079061078a366106a7565b90611a24565b6040518091602082016020835281518091526040830190602060408260051b8601019301916000905b8282106107c857505050500390f35b919360019193955060206107e78192603f198a8203018652885161071d565b96019201920185949391926107b9565b9181601f84011215610345578235916001600160401b038311610345576020838186019501011161034557565b60409061051a93921515815281602082015201906106f8565b346103455760803660031901126103455760043561085a8161051d565b6024356108668161051d565b6044356001600160401b038111610345576108859036906004016107f7565b926108c0606435936108b2600095606097604051968794634440347360e01b602087015260248601611b62565b03601f19810184528361043d565b6001600160a01b0316803b156103455760405163428557b160e11b8152916000918391829084908290610920907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031660048401611b8d565b03925af190816109c0575b506109bb57505061093a6118ca565b61094c61094782516119f9565b611bd7565b9060045b8151811015610995578061097761096960019385611c09565b516001600160f81b03191690565b61098e610983836119f9565b9160001a9186611c09565b5301610950565b50506109aa9060208082518301019101611c1a565b905b61067360405192839283610824565b6109ac565b806109cf60006109d59361043d565b806110ce565b3861092b565b34610345576040366003190112610345576020610a356004356109fd8161051d565b610a0561034a565b6001600160a01b0390911660009081526001845260408082206001600160c01b0390931682526020929092522090565b54604051908152f35b3461034557604036600319011261034557600435610a5b8161051d565b602435336000526000602052604060002091825492838311610ae3576000808481948294610a8c610021988a611a17565b9055604080516001600160a01b03831681526020810184905233917fd1c19fbcd4551a5edfb66d43d2e337c04837afda3482b42bdf569a8fccdae5fb91a26001600160a01b03165af1610add6118ca565b50611c4e565b60405162461bcd60e51b815260206004820152601960248201527f576974686472617720616d6f756e7420746f6f206c61726765000000000000006044820152606490fd5b602060031982011261034557600435906001600160401b038211610345576101209082900360031901126103455760040190565b34610345576020610b74610b6f36610b28565b611c8f565b604051908152f35b90602061051a92818152019061071d565b3461034557610bb9610b9e366106a7565b809291610ba96116a3565b50610bb3826116f7565b50611a24565b6000198201918211610be75761067391610bd2916119e5565b5160405191829160208352602083019061071d565b61147d565b9061051a9060e06080610c3e818651610140865280516101408701526020810151610160870152604081015161018087015260608101516101a0870152015160a06101c08601526101e08501906106f8565b60208087015180518683015201516040850152946040810151805160608601526020015160808501526060810151805160a08601526020015160c0850152015191019080516001600160a01b031682526020908101518051828401520151604090910152565b3461034557610cbb610cb5366106a7565b90611e12565b6040518091602082016020835281518091526040830190602060408260051b8601019301916000905b828210610cf357505050500390f35b91936001919395506020610d128192603f198a82030186528851610bec565b9601920192018594939192610ce4565b34610345576040366003190112610345576020600435610d418161051d565b610d4961034a565b6001600160a01b0390911660009081526001835260408082206001600160c01b03841683526020529020546040805192901b67ffffffffffffffff1916178152f35b3461034557606036600319011261034557600435610da88161051d565b6024356001600160401b0381116103455760009182610dcc819336906004016107f7565b9190926044359383604051948592833781018381520393f1610dec6118ca565b9015610df457005b60208101fd5b3461034557602036600319011261034557600435610e178161051d565b60006080604051610e27816103cb565b828152826020820152826040820152826060820152015260018060a01b031660005260006020526106736040600020610eb665ffffffffffff600160405193610e6f856103cb565b80548552015460ff8116151560208501526001600160701b038160081c16604085015263ffffffff8160781c16606085015260981c16608083019065ffffffffffff169052565b60405191829182919091608065ffffffffffff8160a0840195805185526020810151151560208601526001600160701b03604082015116604086015263ffffffff6060820151166060860152015116910152565b6080604061051a936020845280516020850152602081015115158285015201519160608082015201906106f8565b346103455760c0366003190112610345576004356001600160401b03811161034557610f68903690600401610677565b906024356001600160401b03811161034557606060031982360301126103455761067392610fb192604435610f9c8161051d565b606435916084359360a4359560040191611fc7565b60405191829182610f0a565b3461034557610fcb36610b28565b610fd36116a3565b5060028054146110605761067390600280556080611011610ff2611ec8565b92610ffc816129cd565b836110078183612ade565b9491929093612cd1565b94909501519461101f61047f565b958652602086015260408501526060840152608083015260a0820152600060c082015261104a612326565b60e0820152600160025560405191829182610b7c565b633ee5aeb560e01b60005260046000fd5b346103455760203660031901126103455760043561108e8161051d565b60018060a01b031660005260006020526020604060002054604051908152f35b6020366003190112610345576100216004356110c98161051d565b612346565b600091031261034557565b34610345576000366003190112610345573360005260006020526001604060002001805463ffffffff8160781c16156111a9576111456111376102148361112b61112661116c9660ff1690565b61239c565b60781c63ffffffff1690565b65ffffffffffff42166123dc565b825460ff65ffffffffffff60981b01191665ffffffffffff60981b609883901b1617909255565b60405165ffffffffffff909116815233907ffa9b3c14cc825c412c9ed81b3ba365a5b459439403f18829e572ed53a4180f0a908060208101610340565b60405162461bcd60e51b815260206004820152600a6024820152691b9bdd081cdd185ad95960b21b6044820152606490fd5b346103455760203660031901126103455761002160008080806004356112008161051d565b3360009081526020819052604090206001019061128882549261127765ffffffffffff61126361124961123d886001600160701b039060081c1690565b6001600160701b031690565b966112558815156123fa565b60981c65ffffffffffff1690565b1661126f81151561243d565b421015612489565b8054610100600160c81b0319169055565b604080516001600160a01b03831681526020810184905233917fb7c918e0e249f999e965cafeb6c664271b3f4317d296461500e71da39f0cbda391a26001600160a01b03165af16112d76118ca565b506124d5565b34610345576106736112f66112f136610b28565b6125a9565b604051918291602083526020830190610bec565b34610345576020366003190112610345576004356113278161051d565b6001600160a01b031660009081526020818152604091829020805460019190910154835191825260ff8116151592820192909252600882901c6001600160701b031692810192909252607881901c63ffffffff16606083015260981c65ffffffffffff16608082015260a090f35b34610345576113b76113a6366106a7565b8092916113b1611d8b565b50611e12565b6000198201918211610be757610673916113d0916119e5565b51604051918291602083526020830190610bec565b156113ec57565b60405162461bcd60e51b815260206004820152601a60248201527f6d757374207370656369667920756e7374616b652064656c61790000000000006044820152606490fd5b1561143857565b60405162461bcd60e51b815260206004820152601c60248201527f63616e6e6f7420646563726561736520756e7374616b652074696d65000000006044820152606490fd5b634e487b7160e01b600052601160045260246000fd5b906113888201809211610be757565b9060018201809211610be757565b91908201809211610be757565b156114c457565b60405162461bcd60e51b81526020600482015260126024820152711b9bc81cdd185ad9481cdc1958da599a595960721b6044820152606490fd5b1561150557565b60405162461bcd60e51b815260206004820152600e60248201526d7374616b65206f766572666c6f7760901b6044820152606490fd5b6000198114610be75760010190565b60409061051a9392815281602082015201906106f8565b9190805193606085015194611579603f5a0260061c90565b61271060a083015188010111611647576106d19560009580516115a9575b5050505a9003608082015101926127aa565b82516115c7926115c39290916001600160a01b0316612718565b1590565b6115d3575b8080611597565b9093506115de61272a565b80516115f0575b5050600192386115cc565b602083810151835193909101516040516001600160a01b039094169391927f1c4fada7374c0a9ee8841fc38afe82932dc0f8e69012e927f061a8bae611a2019291829161163d918361154a565b0390a338806115e5565b60408051631101335b60e11b8152600060048201526024810191909152600f60448201526e41413935206f7574206f662067617360881b6064820152608490fd5b0390fd5b6001600160401b0381116103e65760051b60200190565b6040519061010082018281106001600160401b038211176103e657604052606060e08360008152600060208201526000604082015260008382015260006080820152600060a0820152600060c08201520152565b906117018261168c565b61170e604051918261043d565b828152809261171f601f199161168c565b019060005b82811061173057505050565b60209061173b6116a3565b82828501015201611724565b634e487b7160e01b600052603260045260246000fd5b90359061011e1981360301821215610345570190565b9082101561178a5761051a9160051b81019061175d565b611747565b9035601e19823603018112156103455701602081359101916001600160401b03821161034557813603831361034557565b908060209392818452848401376000828201840152601f01601f1916010190565b61051a916117ff816117f284610549565b6001600160a01b03169052565b60208201356020820152611895611889611850611835611822604087018761178f565b61012060408801526101208701916117c0565b611842606087018761178f565b9086830360608801526117c0565b6080850135608085015260a085013560a085015260c085013560c085015261187b60e086018661178f565b9085830360e08701526117c0565b9261010081019061178f565b916101008185039101526117c0565b90602061051a9281815201906117e1565b604051906118c460208361043d565b60008252565b3d156118f5573d906118db826104ad565b916118e9604051938461043d565b82523d6000602084013e565b606090565b5190811515820361034557565b81601f8201121561034557805161191d816104ad565b9261192b604051948561043d565b818452602082840101116103455761051a91602080850191016106d5565b602081830312610345578051906001600160401b0382116103455701610100818303126103455761197861047f565b91815183526020820151602084015260408201516040840152606082015160608401526080820151608084015260a082015160a08401526119bb60c083016118fa565b60c084015260e08201516001600160401b038111610345576119dd9201611907565b60e082015290565b805182101561178a5760209160051b010190565b600319810191908211610be757565b600019810191908211610be757565b91908203918211610be757565b611a2d826116f7565b9160009060005b818110611a42575050505090565b600080611a50838588611773565b604051611a8081611a7260208201946321e9dfa160e11b8652602483016118a4565b03601f19810183528261043d565b519082305af180611a8f6118ca565b91611b2a575b611a9e84611a08565b83149081611b21575b50611ab55750600101611a34565b805115611ac457602081519101fd5b60405162461bcd60e51b815260206004820152602f60248201527f73696d756c61746548616e646c654f70206661696c656420776974686f75742060448201526e30903932bb32b93a103932b0b9b7b760891b6064820152608490fd5b90501538611aa7565b611b5c611b406020845185010160208501611949565b95611b4a8161153b565b96611b55828b6119e5565b52886119e5565b50611a95565b94939291604092611b889260018060a01b031687526060602088015260608701916117c0565b930152565b6001600160a01b03909116815260406020820181905261051a929101906106f8565b6040513d6000823e3d90fd5b60405190611bca60208361043d565b6000808352366020840137565b90611be1826104ad565b611bee604051918261043d565b8281528092611bff601f19916104ad565b0190602036910137565b90815181101561178a570160200190565b91909160408184031261034557611c30816118fa565b9260208201516001600160401b0381116103455761051a9201611907565b15611c5557565b60405162461bcd60e51b81526020600482015260126024820152716661696c656420746f20776974686472617760701b6044820152606490fd5b6020810135611d43611ca46040840184611f64565b90816040519182372091611a72611cbe6060860186611f64565b90816040519182372060c086013560a08701356080880135611cec611ce660e08b018b611f64565b906137a4565b604080519a356001600160a01b031660208c01908152908b019790975260608a0198909852608089019390935260a088019290925260c087019190915260e086015261010085019390935292918290610120820190565b51902060408051602081019283523091810191909152466060820152611d6c8160808101611a72565b51902090565b60405190611d7f826103eb565b60006020838281520152565b60405190611d98826103cb565b81604051611da5816103cb565b60008152600060208201526000604082015260006060820152606060808201528152611dcf611d72565b6020820152611ddc611d72565b6040820152611de9611d72565b6060820152608060405191611dfd836103eb565b60008352611e09611d72565b60208401520152565b611e1b8261168c565b91611e29604051938461043d565b808352601f19611e388261168c565b0160005b818110611e8257505060005b818110611e555750505090565b80611e666112f16001938587611773565b611e7082876119e5565b52611e7b81866119e5565b5001611e48565b602090611e8d611d8b565b82828801015201611e3c565b908092918237016000815290565b60405190611eb482610406565b606060408360008152600060208201520152565b60405190611ed5826103cb565b6000608083604051611ee681610421565b83815283602082015283604082015283606082015283838201528360a08201528360c08201528360e0820152836101008201528361012082015281528260208201528260408201528260608201520152565b919081101561178a5760051b81013590605e1981360301821215610345570190565b3561051a8161051d565b903590601e198136030182121561034557018035906001600160401b0382116103455760200191813603831361034557565b6001600160a01b0391821681529116602082015260806040820181905290939291606091611b8891908601906106f8565b9694969591939295611fd7611ea7565b5060005b82811061228357505050611fef838061175d565b9361202f61201761201061200560208801611f5a565b966040810190611f64565b36916104c8565b95612020611ec8565b9061202a816129cd565b612ade565b5050506001600160a01b0384161561225857600083156121b057506001906120636120586118b5565b989291935b856114b0565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169881905b8461209c8885611a17565b10612185575a6120ab88611493565b116121655791869593918a95938c8b6120c5858d9c6114b0565b60011c9a8b996040519c8d938493630780cef560e11b855260048501936120eb94611f96565b03815a6000948591f198891561216057600090819a61213a575b50156121255750505061211784611a08565b95915b939092949591612091565b939650946121349197506114a2565b9461211a565b90612158929a503d8091833e612150818361043d565b810190611c1a565b989038612105565b611baf565b637162685f60e11b60005260048290526024879052604483905260646000fd5b975097505092505094506121a8915061219c61048f565b93845215156020840152565b604082015290565b92505a90858486896121d75a604051630780cef560e11b8152958694859460048601611f96565b0381837f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af190811561216057858092612231575b50506122276120639195935a90611a17565b949892919361205d565b612227965061206392509061224f913d8091833e612150818361043d565b95909591612215565b95505050505050612267611bbb565b61226f61048f565b906000825260006020830152604082015290565b60019061228e611ec8565b6122b961229c838787611f38565b916122af6122aa848061175d565b6129cd565b61202a838061175d565b505050602081016122d86122cc82611f5a565b6001600160a01b031690565b1561231f57600091826122f96122ee8294611f5a565b926040810190611f64565b919061230a60405180948193611e99565b03925af1506123176118ca565b505b01611fdb565b5050612319565b6040519061233560408361043d565b6002825261060f60f31b6020830152565b60015b6005811061239457507f2da466a7b24304f47e87fa2e1e5a81b9831ce54fec19055ce277ca2f39ba42c4602061237f3484612f48565b6040519081526001600160a01b0390931692a2565b600101612349565b156123a357565b60405162461bcd60e51b8152602060048201526011602482015270616c726561647920756e7374616b696e6760781b6044820152606490fd5b9065ffffffffffff8091169116019065ffffffffffff8211610be757565b1561240157565b60405162461bcd60e51b81526020600482015260146024820152734e6f207374616b6520746f20776974686472617760601b6044820152606490fd5b1561244457565b60405162461bcd60e51b815260206004820152601d60248201527f6d7573742063616c6c20756e6c6f636b5374616b6528292066697273740000006044820152606490fd5b1561249057565b60405162461bcd60e51b815260206004820152601b60248201527f5374616b65207769746864726177616c206973206e6f742064756500000000006044820152606490fd5b156124dc57565b60405162461bcd60e51b815260206004820152601860248201527f6661696c656420746f207769746864726177207374616b6500000000000000006044820152606490fd5b906014116103455790601490565b356bffffffffffffffffffffffff1981169291906014821061254f575050565b6bffffffffffffffffffffffff1960149290920360031b82901b16169150565b6040519061257c826103eb565b6003546001600160a01b03168252604051602083612599836103eb565b6004548352600554828401520152565b6125b1611d8b565b506125ba611ec8565b906125c4816129cd565b6125ce8282612ade565b509190926125dc8385612d70565b805160e001516125f9906001600160a01b0316612edc565b612edc565b81515190929061262990612615906001600160a01b0316612edc565b9161261e611d72565b506040810190611f64565b90601482106127035761264b612645612651936125f493612521565b9061252f565b60601c90565b9160018060a01b03861694608082015196606060408401519301519261267561045e565b988952602089015260408801526060870152608086015261269461256f565b93801515806126f8575b6126c6575b506126ac61045e565b948552602085015260408401526060830152608082015290565b9093506126d281612edc565b6126ec6126dd61049e565b6001600160a01b039093168352565b602082015292386126a3565b50600181141561269e565b50506126516000612edc565b61046d33612346565b9060009283809360208451940192f190565b3d610800811161274f575b604051906020818301016040528082526000602083013e90565b50610800612735565b6003111561276257565b634e487b7160e01b600052602160045260246000fd5b90949392946003811015612762576060926127a09183526080602084015260808301906106f8565b9460408201520152565b9093916000935a928651926127be84612f1e565b60e085015190916001600160a01b039091169081806128a657505084516001600160a01b03169050925b5a8603019360a06060820151910151019060808901918251860390818111612891575b5050840291604089019283519481861060001461286757505080612830600292612758565b0361284c57505061046d925080956128478161303a565b612f6f565b9150915061046d925a9003905101905185612847829761303a565b9061046d9750809a945061288092935080950390612f48565b5061288a81612758565b1590612fd5565b9195916064919003600a02040193388061280b565b949181516128b6575b50506127e8565b6128bf85612758565b60028503156128af57919098505a9160a0870151813b1561034557846000918783612906958f60405197889687958693637c627b2160e01b8552828d029160048601612778565b0393f190816129a0575b5061299957506020898101518a518051920151917ff62676f440ff169a3a9afdbf812e89e7f95975ee8e5c31214ffdef631c5f4792906001600160a01b031661295761272a565b6040516001600160a01b03909216948291612972918361154a565b0390a361298b5a870360808b01510180998b60026127aa565b50505b5a90039638806128af565b975061298e565b806109cf60006129af9361043d565b38612910565b90604061051a926000815281602082015201906106f8565b6040516135a560f21b602082019081523060601b6022830152600160f81b603683015260178252612a56929190612a0560378361043d565b60018060a01b0391519020166bffffffffffffffffffffffff60a01b6006541617600655612a366040820182611f64565b91612a4e612a4382611f5a565b9160e0810190611f64565b93909261307c565b8051612a5f5750565b604051631101335b60e11b815290819061168890600483016129b5565b15612a8357565b60405162461bcd60e51b815260206004820152601860248201527f41413934206761732076616c756573206f766572666c6f7700000000000000006044820152606490fd5b90607382029180830460731490151715610be757565b90916000915a93805191612af28382613187565b612afb81611c8f565b6020830152604083015195612b476effffffffffffffffffffffffffffff8860c08701511760608701511760808701511760a08701511761010087015117610120870151171115612a7c565b612b7284610100604082015160608301510160808301510160a08301510160c0830151019101510290565b612b808882868660006132cb565b8551909890612ba1906115c3906001600160a01b0316602089015190613483565b612c82575a830311612c33576060905a60e096909601516001600160a01b0316612c00575b612bf49360a061051a979487946080946040612bf99a015260608601525a9003910135019101525a90611a17565b612ac8565b6064900490565b965050928260808360a061051a97612c218b612bf999612bf499600061352e565b9b909598509350949750509350612bc6565b60408051631101335b60e11b8152600060048201526024810191909152601e60448201527f41413236206f76657220766572696669636174696f6e4761734c696d697400006064820152608490fd5b60408051631101335b60e11b8152600060048201526024810191909152601a60448201527f4141323520696e76616c6964206163636f756e74206e6f6e63650000000000006064820152608490fd5b905a90606081015190612ce76060850185611f64565b600060038211612d68575b6001600160e01b031916638dd7712f60e01b03612d57575050612d3e612d526106d1956020840151604051938492638dd7712f60e01b60208501526040602485015260648401906117e1565b90604483015203601f19810183528261043d565b611561565b6106d1955090612d529136916104c8565b508135612cf2565b612d79906136bf565b906001600160a01b0316612e9657612e4757612d94906136bf565b906001600160a01b0316612e0157612da857565b60408051631101335b60e11b8152600060048201526024810191909152602160448201527f41413332207061796d61737465722065787069726564206f72206e6f742064756064820152606560f81b608482015260a490fd5b60408051631101335b60e11b8152600060048201526024810191909152601460448201527320a0999a1039b4b3b730ba3ab9329032b93937b960611b6064820152608490fd5b60408051631101335b60e11b8152600060048201526024810191909152601760448201527f414132322065787069726564206f72206e6f74206475650000000000000000006064820152608490fd5b60408051631101335b60e11b8152600060048201526024810191909152601460448201527320a0991a1039b4b3b730ba3ab9329032b93937b960611b6064820152608490fd5b90612ee5611d72565b9160018060a01b0316600052600060205263ffffffff6001604060002001546001600160701b038160081c16845260781c166020830152565b610120610100820151910151808214612f4457480180821015612f3f575090565b905090565b5090565b60018060a01b0316600052600060205260406000208054918201809211610be75781905590565b9190917f49628fd1471006c1482da88028e9ce4dbb080b815c9b0344d39e5a8e6ec1419f6080602083015192519460018060a01b0386511694602060018060a01b0360e089015116970151916040519283526000602084015260408301526060820152a4565b9060807f49628fd1471006c1482da88028e9ce4dbb080b815c9b0344d39e5a8e6ec1419f91602084015193519560018060a01b0387511695602060018060a01b0360e08a015116980151926040519384521515602084015260408301526060820152a4565b60208101519051907f67b4fa9642f42120bf031f3051d1824b0fe25627945b27b8a6a65d5761d5482e60208060018060a01b03855116940151604051908152a3565b50929192159081613131575b506130f45760148110156130a1575b505061051a6118b5565b601411610345573560601c3b156130b9573880613097565b6040516130c760408261043d565b601b81527f41413330207061796d6173746572206e6f74206465706c6f7965640000000000602082015290565b505060405161310460408261043d565b601981527f41413230206163636f756e74206e6f74206465706c6f79656400000000000000602082015290565b90503b1538613088565b1561314257565b60405162461bcd60e51b815260206004820152601d60248201527f4141393320696e76616c6964207061796d6173746572416e64446174610000006044820152606490fd5b61320c906131a461319782611f5a565b6001600160a01b03168452565b602081013560208401526131c86080820135906001600160801b038260801c921690565b6060850152604084015260a081013560c08401526131f660c0820135906001600160801b038260801c921690565b61010085015261012084015260e0810190611f64565b908115613248576132308260e09261322b603461046d9796101561313b565b6137af565b60a085015260808401526001600160a01b0316910152565b505060a081600060e0819401528260808201520152565b90816020910312610345575190565b613286604092959493956060835260608301906117e1565b9460208201520152565b60a09061051a9392815260606020820152600d60608201526c10504c8cc81c995d995c9d1959609a1b608082015281604082015201906106f8565b949291939060206133519186519361331760e06132ee875160018060a01b031690565b966133098b8d6133016040890189611f64565b92909161380d565b01516001600160a01b031690565b6001600160a01b031615976000929089613445575b8401516040516306608bdf60e21b81529586948593600093859392916004850161326e565b03926001600160a01b03881690f160009181613414575b50613393578561337661272a565b6040516365c8fd4d60e01b81529182916116889160048401613290565b94929361339f57505050565b6001600160a01b03166000908152602081905260409020918254908183116133c75750039055565b60408051631101335b60e11b815260048101929092526024820152601760448201527f41413231206469646e2774207061792070726566756e640000000000000000006064820152608490fd5b61343791925060203d60201161343e575b61342f818361043d565b81019061325f565b9038613368565b503d613425565b6001600160a01b038716600090815260208190526040902090935054878111156134785750600084815b9491505061332c565b84600091890361346f565b6001600160a01b0316600090815260016020908152604080832084821c845290915290208054916001600160401b03916134bc8461153b565b9055161490565b91906040838203126103455782516001600160401b038111610345576020916134ed918501611907565b92015190565b60a09061051a9392815260606020820152600d60608201526c10504cccc81c995d995c9d1959609a1b608082015281604082015201906106f8565b929390915a815160e08101516001600160a01b031660008181526020819052604090209295909290919080548981106136705760206080600096948c96946135999c9d8995039055015196015191604051998a95869485936314add44b60e21b85526004850161326e565b03926001600160a01b031686f19384600091600096613649575b506135de57856135c161272a565b6040516365c8fd4d60e01b815291829161168891600484016134f3565b9491925a9003116135ec5750565b60408051631101335b60e11b815260048101929092526024820152602760448201527f41413336206f766572207061796d6173746572566572696669636174696f6e47606482015266185cd31a5b5a5d60ca1b608482015260a490fd5b90955061366991503d806000833e613661818361043d565b8101906134c3565b94386135b3565b60408051631101335b60e11b8152600481018b90526024810191909152601e60448201527f41413331207061796d6173746572206465706f73697420746f6f206c6f7700006064820152608490fd5b801561379b576000604080516136d481610406565b828152826020820152015265ffffffffffff8160a01c16801561378e575b613770906137576137096137146137098660d01c90565b65ffffffffffff1690565b9261372f61372061048f565b6001600160a01b039097168752565b6137456020870194859065ffffffffffff169052565b65ffffffffffff166040860181905290565b4211908115613773575b5091516001600160a01b031690565b91565b51613786915065ffffffffffff16613709565b421038613761565b5065ffffffffffff6136f2565b50600090600090565b816040519182372090565b9091826014116103455781359183602411610345576014810135936034116103455760609290921c92608090811c9260240135901c90565b90816020910312610345575161051a8161051d565b91602061051a9381815201916117c0565b9290918161381c575b50505050565b8251516001600160a01b031693843b613a2a5760065460009060209061384a906001600160a01b03166122cc565b60408751015160405180948193632b870d1b60e11b8352826138708b8b600484016137fc565b0393f1908115612160576000916139fb575b506001600160a01b0381169586156139ac576001600160a01b03169586900361395d573b15613910575061264b6126457fd51a9c61267aa6196961883ecf5ff2da6619c37dac0fa92122513fb32c032d2d936138dd93612521565b602083810151935160e00151604080516001600160a01b039485168152939091169183019190915290a338808080613816565b60408051631101335b60e11b815260048101929092526024820152602060448201527f4141313520696e6974436f6465206d757374206372656174652073656e6465726064820152608490fd5b60408051631101335b60e11b8152600481018490526024810191909152602060448201527f4141313420696e6974436f6465206d7573742072657475726e2073656e6465726064820152608490fd5b60408051631101335b60e11b8152600481018590526024810191909152601b60448201527f4141313320696e6974436f6465206661696c6564206f72204f4f4700000000006064820152608490fd5b613a1d915060203d602011613a23575b613a15818361043d565b8101906137e7565b38613882565b503d613a0b565b60408051631101335b60e11b815260048101929092526024820152601f60448201527f414131302073656e64657220616c726561647920636f6e7374727563746564006064820152608490fdfea2646970667358221220af63887b732ddd2c530515d4b00dd3d2fcb014ee67b90ea50bdd87f39115ef4c64736f6c634300081a00336080806040523460155761016d908161001b8239f35b600080fdfe6080600436101561000f57600080fd5b60003560e01c63570e1a361461002457600080fd5b346101325760203660031901126101325760043567ffffffffffffffff8111610132573660238201121561013257806004013567ffffffffffffffff8111610132573660248284010111610132576000928160141161012e5760131982019167ffffffffffffffff831161011a57600b8101601f19908116603f0116820167ffffffffffffffff8111838210176101065760246020959387600c819795829560405286845289840196603889018837830101525193013560601c5af1905190156100fe575b6040516001600160a01b039091168152602090f35b5060006100e9565b634e487b7160e01b86526041600452602486fd5b634e487b7160e01b85526041600452602485fd5b8380fd5b600080fdfea26469706673582212208d3d15f1a1651d00f2ed3b618a50717a7de16a758bd696cf961337d90cc7bf3764736f6c634300081a0033" + "0x000000000000000000000000000000000000000000000000000000000000000060808060405234608257613b828181016001600160401b03811183821017606c5782916103ff833903906000f08015606057600080546001600160a01b0319166001600160a01b039290921691909117905560405161037790816100888239f35b6040513d6000823e3d90fd5b634e487b7160e01b600052604160045260246000fd5b600080fdfe6080604052600436101561001257600080fd5b60003560e01c63c18f52261461002757600080fd5b34610281576040366003190112610281576004356001600160a01b038116908190036102815760243567ffffffffffffffff81116102815736602382011215610281578060040135610078816102be565b91610086604051938461029c565b8183526024602084019260051b820101903682116102815760248101925b82841061020957845185876100b8836102be565b926100c6604051948561029c565b8084526100d5601f19916102be565b0160005b8181106101f857505060005b825181101561019057600190606060008061013b858060a01b0382541661014961010f878b610317565b51604051938491602083019463428557b160e11b865260248401526040604484015260648301906102d6565b03601f19810184528361029c565b82885a935193f115610172575b6101608287610317565b5261016b8186610317565b50016100e5565b503d604051906020818301016040528082526000602083013e610156565b836040518091602082016020835281518091526040830190602060408260051b8601019301916000905b8282106101c957505050500390f35b919360019193955060206101e88192603f198a820301865288516102d6565b96019201920185949391926101ba565b8060606020809388010152016100d9565b833567ffffffffffffffff8111610281578201366043820112156102815760248101359167ffffffffffffffff831161028657604051610253601f8501601f19166020018261029c565b83815236604484860101116102815760006020858196604483970183860137830101528152019301926100a4565b600080fd5b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff82111761028657604052565b67ffffffffffffffff81116102865760051b60200190565b919082519283825260005b848110610302575050826000602080949584010152601f8019910116010190565b806020809284010151828286010152016102e1565b805182101561032b5760209160051b010190565b634e487b7160e01b600052603260045260246000fdfea26469706673582212201244199039b2b0a6d5a53b57f2e9cb9758351b7b37d051717a76d47613efe56164736f6c634300081a003360c080604052346100cc5760016002556101888181016001600160401b038111838210176100b65782916139fa833903906000f080156100aa576080523060a0526100486100d1565b600081526020810190600082528060206100606100d1565b600081520152600380546001600160a01b0319169055516004555160055560405161390990816100f1823960805181505060a0518181816108ef01528181611d3c0152611eb30152f35b6040513d6000823e3d90fd5b634e487b7160e01b600052604160045260246000fd5b600080fd5b60408051919082016001600160401b038111838210176100b65760405256fe60806040526004361015610023575b361561001957600080fd5b610021612477565b005b60003560e01c80630396cb60146101835780630bd28e3b1461017e5780630da82661146101795780630dbfc6bd146101745780630f019dea1461016f5780631b2e01b81461016a578063205c28781461016557806322cdde4c14610160578063263934db1461015b57806330ec25d11461015657806335567e1a14610151578063444034731461014c5780635287ce12146101475780635787f48b146101425780635895273b1461013d57806370a0823114610138578063b760faf914610133578063bb9fe6bf1461012e578063c23a5cea14610129578063c3bce00914610124578063fc7e286d1461011f5763fe2171cb0361000e576112fc565b611271565b611244565b611142565b611040565b611015565b610fd8565b610fa3565b610f1e565b610de0565b610d71565b610d08565b610c8a565b610b7c565b610b5c565b610a3e565b6109db565b61083d565b610779565b610554565b610360565b60203660031901126103455760043563ffffffff811690818103610345576103407fa5ae833d0bb1dcd632d98a8b70973e8516812898e19bf27b70071ebc8dc52c01916103226102436102336101eb3360018060a01b03166000526000602052604060002090565b966101f7811515611351565b61022460018901549161021d6102148463ffffffff9060781c1690565b63ffffffff1690565b111561139d565b60081c6001600160701b031690565b6001600160701b0334911661141c565b9461024f861515611429565b6102626001600160701b0387111561146a565b5461026b61045e565b908152600160208201526001600160701b038616604082015263ffffffff8316606082015260006080820181905233815260208190526040902081518155602082015160019091018054604084015160608501516080909501516001600160c81b031990921660ff941515949094169390931760089390931b6effffffffffffffffffffffffffff00169290921760789390931b63ffffffff60781b169290921760989190911b65ffffffffffff60981b16179055565b6040805194855263ffffffff90911660208501523393918291820190565b0390a2005b600080fd5b602435906001600160c01b038216820361034557565b34610345576020366003190112610345576004356001600160c01b0381168103610345573360009081526001602090815260408083206001600160c01b039094168352929052206103b181546114a7565b9055005b634e487b7160e01b600052604160045260246000fd5b60a081019081106001600160401b038211176103e657604052565b6103b5565b604081019081106001600160401b038211176103e657604052565b606081019081106001600160401b038211176103e657604052565b61014081019081106001600160401b038211176103e657604052565b90601f801991011681019081106001600160401b038211176103e657604052565b6040519061046d60a08361043d565b565b6040519061046d6101408361043d565b6040519061046d60608361043d565b6040519061046d6101008361043d565b6040519061046d60408361043d565b6001600160401b0381116103e657601f01601f191660200190565b9291926104d4826104ad565b916104e2604051938461043d565b829481845281830111610345578281602093846000960137010152565b9080601f830112156103455781602061051a933591016104c8565b90565b6001600160a01b0381160361034557565b6024359061046d8261051d565b610104359061046d8261051d565b359061046d8261051d565b3461034557610220366003190112610345576004356001600160401b038111610345576105859036906004016104ff565b3660231901906101c0821261034557610140604051926105a4846103cb565b12610345576105b161046f565b6105b961052e565b815260443560208201526064356040820152608435606082015260a435608082015260c43560a082015260e43560c08201526105f361053b565b60e0820152610124356101008201526101443561012082015282526101643560208301526101843560408301526101a43560608301526101c43560808301526101e435916001600160401b038311610345576106566106619336906004016104ff565b9061020435926114cd565b60408051928352602083019190915290f35b0390f35b9181601f84011215610345578235916001600160401b038311610345576020808501948460051b01011161034557565b602060031982011261034557600435906001600160401b038211610345576106d191600401610677565b9091565b60005b8381106106e85750506000910152565b81810151838201526020016106d8565b90602091610711815180928185528580860191016106d5565b601f01601f1916010190565b9061010060e061051a93805184526020810151602085015260408101516040850152606081015160608501526080810151608085015260a081015160a085015260c0810151151560c08501520151918160e082015201906106f8565b346103455761079061078a366106a7565b9061170f565b6040518091602082016020835281518091526040830190602060408260051b8601019301916000905b8282106107c857505050500390f35b919360019193955060206107e78192603f198a8203018652885161071d565b96019201920185949391926107b9565b9181601f84011215610345578235916001600160401b038311610345576020838186019501011161034557565b60409061051a93921515815281602082015201906106f8565b346103455760803660031901126103455760043561085a8161051d565b6024356108668161051d565b6044356001600160401b038111610345576108859036906004016107f7565b926108c0606435936108b2600095606097604051968794634440347360e01b602087015260248601611777565b03601f19810184528361043d565b6001600160a01b0316803b156103455760405163428557b160e11b8152916000918391829084908290610920907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316600484016117a2565b03925af190816109c0575b506109bb57505061093a6117e5565b61094c6109478251611815565b61185c565b9060045b815181101561099557806109776109696001938561188e565b516001600160f81b03191690565b61098e61098383611815565b9160001a918661188e565b5301610950565b50506109aa90602080825183010191016118e1565b905b61067360405192839283610824565b6109ac565b806109cf60006109d59361043d565b80611035565b3861092b565b34610345576040366003190112610345576020610a356004356109fd8161051d565b610a0561034a565b6001600160a01b0390911660009081526001845260408082206001600160c01b0390931682526020929092522090565b54604051908152f35b3461034557604036600319011261034557600435610a5b8161051d565b602435336000526000602052604060002091825492838311610ae3576000808481948294610a8c610021988a611833565b9055604080516001600160a01b03831681526020810184905233917fd1c19fbcd4551a5edfb66d43d2e337c04837afda3482b42bdf569a8fccdae5fb91a26001600160a01b03165af1610add6117e5565b50611917565b60405162461bcd60e51b815260206004820152601960248201527f576974686472617720616d6f756e7420746f6f206c61726765000000000000006044820152606490fd5b602060031982011261034557600435906001600160401b038211610345576101209082900360031901126103455760040190565b34610345576020610b74610b6f36610b28565b611958565b604051908152f35b3461034557610673610bbd610bb1610bb7610b96366106a7565b809391610ba161160f565b50610bab82611663565b5061170f565b91611824565b906116fb565b5160405191829160208352602083019061071d565b9061051a9060e06080610c24818651610140865280516101408701526020810151610160870152604081015161018087015260608101516101a0870152015160a06101c08601526101e08501906106f8565b60208087015180518683015201516040850152946040810151805160608601526020015160808501526060810151805160a08601526020015160c0850152015191019080516001600160a01b031682526020908101518051828401520151604090910152565b3461034557610ca1610c9b366106a7565b90611ae9565b6040518091602082016020835281518091526040830190602060408260051b8601019301916000905b828210610cd957505050500390f35b91936001919395506020610cf88192603f198a82030186528851610bd2565b9601920192018594939192610cca565b34610345576040366003190112610345576020600435610d278161051d565b610d2f61034a565b6001600160a01b0390911660009081526001835260408082206001600160c01b03841683526020529020546040805192901b67ffffffffffffffff1916178152f35b3461034557606036600319011261034557600435610d8e8161051d565b6024356001600160401b0381116103455760009182610db2819336906004016107f7565b9190926044359383604051948592833781018381520393f1610dd26117e5565b9015610dda57005b60208101fd5b3461034557602036600319011261034557600435610dfd8161051d565b60006080604051610e0d816103cb565b828152826020820152826040820152826060820152015260018060a01b031660005260006020526106736040600020610e9c65ffffffffffff600160405193610e55856103cb565b80548552015460ff8116151560208501526001600160701b038160081c16604085015263ffffffff8160781c16606085015260981c16608083019065ffffffffffff169052565b60405191829182919091608065ffffffffffff8160a0840195805185526020810151151560208601526001600160701b03604082015116604086015263ffffffff6060820151166060860152015116910152565b6080604061051a936020845280516020850152602081015115158285015201519160608082015201906106f8565b346103455760c0366003190112610345576004356001600160401b03811161034557610f4e903690600401610677565b906024356001600160401b03811161034557606060031982360301126103455761067392610f9792604435610f828161051d565b606435916084359360a4359560040191611c9e565b60405191829182610ef0565b3461034557610673610fc4610fb736610b28565b610fbf61160f565b611ffd565b60405191829160208352602083019061071d565b3461034557602036600319011261034557600435610ff58161051d565b60018060a01b031660005260006020526020604060002054604051908152f35b6020366003190112610345576100216004356110308161051d565b6120ae565b600091031261034557565b34610345576000366003190112610345573360005260006020526001604060002001805463ffffffff8160781c1615611110576110ac61109e6102148361109261108d6110d39660ff1690565b612104565b60781c63ffffffff1690565b65ffffffffffff4216612144565b825460ff65ffffffffffff60981b01191665ffffffffffff60981b609883901b1617909255565b60405165ffffffffffff909116815233907ffa9b3c14cc825c412c9ed81b3ba365a5b459439403f18829e572ed53a4180f0a908060208101610340565b60405162461bcd60e51b815260206004820152600a6024820152691b9bdd081cdd185ad95960b21b6044820152606490fd5b346103455760203660031901126103455761002160008080806004356111678161051d565b336000908152602081905260409020600101906111ef8254926111de65ffffffffffff6111ca6111b06111a4886001600160701b039060081c1690565b6001600160701b031690565b966111bc881515612162565b60981c65ffffffffffff1690565b166111d68115156121a5565b4210156121f1565b8054610100600160c81b0319169055565b604080516001600160a01b03831681526020810184905233917fb7c918e0e249f999e965cafeb6c664271b3f4317d296461500e71da39f0cbda391a26001600160a01b03165af161123e6117e5565b5061223d565b346103455761067361125d61125836610b28565b612311565b604051918291602083526020830190610bd2565b346103455760203660031901126103455760043561128e8161051d565b6001600160a01b031660009081526020818152604091829020805460019190910154835191825260ff8116151592820192909252600882901c6001600160701b031692810192909252607881901c63ffffffff16606083015260981c65ffffffffffff16608082015260a090f35b346103455761131e61130d366106a7565b809291611318611a62565b50611ae9565b600019820191821161134c5761067391611337916116fb565b51604051918291602083526020830190610bd2565b6113e9565b1561135857565b60405162461bcd60e51b815260206004820152601a60248201527f6d757374207370656369667920756e7374616b652064656c61790000000000006044820152606490fd5b156113a457565b60405162461bcd60e51b815260206004820152601c60248201527f63616e6e6f7420646563726561736520756e7374616b652074696d65000000006044820152606490fd5b634e487b7160e01b600052601160045260246000fd5b90611388820180921161134c57565b906001820180921161134c57565b9190820180921161134c57565b1561143057565b60405162461bcd60e51b81526020600482015260126024820152711b9bc81cdd185ad9481cdc1958da599a595960721b6044820152606490fd5b1561147157565b60405162461bcd60e51b815260206004820152600e60248201526d7374616b65206f766572666c6f7760901b6044820152606490fd5b600019811461134c5760010190565b60409061051a9392815281602082015201906106f8565b91908051936060850151946114e5603f5a0260061c90565b61271060a0830151880101116115b3576106d1956000958051611515575b5050505a900360808201510192612512565b82516115339261152f9290916001600160a01b0316612480565b1590565b61153f575b8080611503565b90935061154a612492565b805161155c575b505060019238611538565b602083810151835193909101516040516001600160a01b039094169391927f1c4fada7374c0a9ee8841fc38afe82932dc0f8e69012e927f061a8bae611a201929182916115a991836114b6565b0390a33880611551565b60408051631101335b60e11b8152600060048201526024810191909152600f60448201526e41413935206f7574206f662067617360881b6064820152608490fd5b0390fd5b6001600160401b0381116103e65760051b60200190565b6040519061010082018281106001600160401b038211176103e657604052606060e08360008152600060208201526000604082015260008382015260006080820152600060a0820152600060c08201520152565b9061166d826115f8565b61167a604051918261043d565b828152809261168b601f19916115f8565b019060005b82811061169c57505050565b6020906116a761160f565b82828501015201611690565b634e487b7160e01b600052603260045260246000fd5b90359061011e1981360301821215610345570190565b908210156116f65761051a9160051b8101906116c9565b6116b3565b80518210156116f65760209160051b010190565b61171882611663565b9160005b8181106117295750505090565b8061173a610fb760019385876116df565b61174482876116fb565b5261174f81866116fb565b500161171c565b908060209392818452848401376000828201840152601f01601f1916010190565b9493929160409261179d9260018060a01b03168752606060208801526060870191611756565b930152565b6001600160a01b03909116815260406020820181905261051a929101906106f8565b6040513d6000823e3d90fd5b604051906117df60208361043d565b60008252565b3d15611810573d906117f6826104ad565b91611804604051938461043d565b82523d6000602084013e565b606090565b60031981019190821161134c57565b60001981019190821161134c57565b9190820391821161134c57565b6040519061184f60208361043d565b6000808352366020840137565b90611866826104ad565b611873604051918261043d565b8281528092611884601f19916104ad565b0190602036910137565b9081518110156116f6570160200190565b81601f820112156103455780516118b5816104ad565b926118c3604051948561043d565b818452602082840101116103455761051a91602080850191016106d5565b9190916040818403126103455780518015158103610345579260208201516001600160401b0381116103455761051a920161189f565b1561191e57565b60405162461bcd60e51b81526020600482015260126024820152716661696c656420746f20776974686472617760701b6044820152606490fd5b6020810135611a1a61196d6040840184611c3b565b90816040519182372091611a0c6119876060860186611c3b565b90816040519182372060c086013560a087013560808801356119b56119af60e08b018b611c3b565b90613600565b604080519a356001600160a01b031660208c01908152908b019790975260608a0198909852608089019390935260a088019290925260c087019190915260e086015261010085019390935292918290610120820190565b03601f19810183528261043d565b51902060408051602081019283523091810191909152466060820152611a438160808101611a0c565b51902090565b60405190611a56826103eb565b60006020838281520152565b60405190611a6f826103cb565b81604051611a7c816103cb565b60008152600060208201526000604082015260006060820152606060808201528152611aa6611a49565b6020820152611ab3611a49565b6040820152611ac0611a49565b6060820152608060405191611ad4836103eb565b60008352611ae0611a49565b60208401520152565b611af2826115f8565b91611b00604051938461043d565b808352601f19611b0f826115f8565b0160005b818110611b5957505060005b818110611b2c5750505090565b80611b3d61125860019385876116df565b611b4782876116fb565b52611b5281866116fb565b5001611b1f565b602090611b64611a62565b82828801015201611b13565b908092918237016000815290565b60405190611b8b82610406565b606060408360008152600060208201520152565b60405190611bac826103cb565b6000608083604051611bbd81610421565b83815283602082015283604082015283606082015283838201528360a08201528360c08201528360e0820152836101008201528361012082015281528260208201528260408201528260608201520152565b91908110156116f65760051b81013590605e1981360301821215610345570190565b3561051a8161051d565b903590601e198136030182121561034557018035906001600160401b0382116103455760200191813603831361034557565b6001600160a01b039182168152911660208201526080604082018190529093929160609161179d91908601906106f8565b9694969591939295611cae611b7e565b5060005b828110611f5a57505050611cc683806116c9565b93611d06611cee611ce7611cdc60208801611c31565b966040810190611c3b565b36916104c8565b95611cf7611b9f565b90611d0181612735565b612846565b5050506001600160a01b03841615611f2f5760008315611e875750600190611d3a611d2f6117d0565b989291935b8561141c565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169881905b84611d738885611833565b10611e5c575a611d82886113ff565b11611e3c5791869593918a95938c8b611d9c858d9c61141c565b60011c9a8b996040519c8d938493630780cef560e11b85526004850193611dc294611c6d565b03815a6000948591f1988915611e3757600090819a611e11575b5015611dfc57505050611dee84611824565b95915b939092949591611d68565b93965094611e0b91975061140e565b94611df1565b90611e2f929a503d8091833e611e27818361043d565b8101906118e1565b989038611ddc565b6117c4565b637162685f60e11b60005260048290526024879052604483905260646000fd5b97509750509250509450611e7f9150611e7361047f565b93845215156020840152565b604082015290565b92505a9085848689611eae5a604051630780cef560e11b8152958694859460048601611c6d565b0381837f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af1908115611e3757858092611f08575b5050611efe611d3a9195935a90611833565b9498929193611d34565b611efe9650611d3a925090611f26913d8091833e611e27818361043d565b95909591611eec565b95505050505050611f3e611840565b611f4661047f565b906000825260006020830152604082015290565b600190611f65611b9f565b611f90611f73838787611c0f565b91611f86611f8184806116c9565b612735565b611d0183806116c9565b50505060208101611faf611fa382611c31565b6001600160a01b031690565b15611ff65760009182611fd0611fc58294611c31565b926040810190611c3b565b9190611fe160405180948193611b70565b03925af150611fee6117e5565b505b01611cb2565b5050611ff0565b50600280541461207d57600280556080612037612018611b9f565b9261202281612735565b8361202d8183612846565b9491929093612b2d565b94909501519461204561048e565b958652602086015260408501526060840152608083015260a0820152600060c082015261207061208e565b60e0820152906001600255565b633ee5aeb560e01b60005260046000fd5b6040519061209d60408361043d565b6002825261060f60f31b6020830152565b60015b600581106120fc57507f2da466a7b24304f47e87fa2e1e5a81b9831ce54fec19055ce277ca2f39ba42c460206120e73484612da4565b6040519081526001600160a01b0390931692a2565b6001016120b1565b1561210b57565b60405162461bcd60e51b8152602060048201526011602482015270616c726561647920756e7374616b696e6760781b6044820152606490fd5b9065ffffffffffff8091169116019065ffffffffffff821161134c57565b1561216957565b60405162461bcd60e51b81526020600482015260146024820152734e6f207374616b6520746f20776974686472617760601b6044820152606490fd5b156121ac57565b60405162461bcd60e51b815260206004820152601d60248201527f6d7573742063616c6c20756e6c6f636b5374616b6528292066697273740000006044820152606490fd5b156121f857565b60405162461bcd60e51b815260206004820152601b60248201527f5374616b65207769746864726177616c206973206e6f742064756500000000006044820152606490fd5b1561224457565b60405162461bcd60e51b815260206004820152601860248201527f6661696c656420746f207769746864726177207374616b6500000000000000006044820152606490fd5b906014116103455790601490565b356bffffffffffffffffffffffff198116929190601482106122b7575050565b6bffffffffffffffffffffffff1960149290920360031b82901b16169150565b604051906122e4826103eb565b6003546001600160a01b03168252604051602083612301836103eb565b6004548352600554828401520152565b612319611a62565b50612322611b9f565b9061232c81612735565b6123368282612846565b509190926123448385612bcc565b805160e00151612361906001600160a01b0316612d38565b612d38565b8151519092906123919061237d906001600160a01b0316612d38565b91612386611a49565b506040810190611c3b565b906014821061246b576123b36123ad6123b99361235c93612289565b90612297565b60601c90565b9160018060a01b0386169460808201519660606040840151930151926123dd61045e565b98895260208901526040880152606087015260808601526123fc6122d7565b9380151580612460575b61242e575b5061241461045e565b948552602085015260408401526060830152608082015290565b90935061243a81612d38565b61245461244561049e565b6001600160a01b039093168352565b6020820152923861240b565b506001811415612406565b50506123b96000612d38565b61046d336120ae565b9060009283809360208451940192f190565b3d61080081116124b7575b604051906020818301016040528082526000602083013e90565b5061080061249d565b600311156124ca57565b634e487b7160e01b600052602160045260246000fd5b909493929460038110156124ca576060926125089183526080602084015260808301906106f8565b9460408201520152565b9093916000935a9286519261252684612d7a565b60e085015190916001600160a01b0390911690818061260e57505084516001600160a01b03169050925b5a8603019360a060608201519101510190608089019182518603908181116125f9575b505084029160408901928351948186106000146125cf575050806125986002926124c0565b036125b457505061046d925080956125af81612e96565b612dcb565b9150915061046d925a90039051019051856125af8297612e96565b9061046d9750809a94506125e892935080950390612da4565b506125f2816124c0565b1590612e31565b9195916064919003600a020401933880612573565b9491815161261e575b5050612550565b612627856124c0565b600285031561261757919098505a9160a0870151813b156103455784600091878361266e958f60405197889687958693637c627b2160e01b8552828d0291600486016124e0565b0393f19081612708575b5061270157506020898101518a518051920151917ff62676f440ff169a3a9afdbf812e89e7f95975ee8e5c31214ffdef631c5f4792906001600160a01b03166126bf612492565b6040516001600160a01b039092169482916126da91836114b6565b0390a36126f35a870360808b01510180998b6002612512565b50505b5a9003963880612617565b97506126f6565b806109cf60006127179361043d565b38612678565b90604061051a926000815281602082015201906106f8565b6040516135a560f21b602082019081523060601b6022830152600160f81b6036830152601782526127be92919061276d60378361043d565b60018060a01b0391519020166bffffffffffffffffffffffff60a01b600654161760065561279e6040820182611c3b565b916127b66127ab82611c31565b9160e0810190611c3b565b939092612ed8565b80516127c75750565b604051631101335b60e11b81529081906115f4906004830161271d565b156127eb57565b60405162461bcd60e51b815260206004820152601860248201527f41413934206761732076616c756573206f766572666c6f7700000000000000006044820152606490fd5b9060738202918083046073149015171561134c57565b90916000915a9380519161285a8382612fe3565b61286381611958565b60208301526040830151956128af6effffffffffffffffffffffffffffff8860c08701511760608701511760808701511760a087015117610100870151176101208701511711156127e4565b6128da84610100604082015160608301510160808301510160a08301510160c0830151019101510290565b6128e8888286866000613127565b85519098906129099061152f906001600160a01b03166020890151906132df565b6129ea575a83031161299b576060905a60e096909601516001600160a01b0316612968575b61295c9360a061051a9794879460809460406129619a015260608601525a9003910135019101525a90611833565b612830565b6064900490565b965050928260808360a061051a976129898b6129619961295c99600061338a565b9b90959850935094975050935061292e565b60408051631101335b60e11b8152600060048201526024810191909152601e60448201527f41413236206f76657220766572696669636174696f6e4761734c696d697400006064820152608490fd5b60408051631101335b60e11b8152600060048201526024810191909152601a60448201527f4141323520696e76616c6964206163636f756e74206e6f6e63650000000000006064820152608490fd5b9035601e19823603018112156103455701602081359101916001600160401b03821161034557813603831361034557565b61051a91612a8881612a7b84610549565b6001600160a01b03169052565b60208201356020820152612b1e612b12612ad9612abe612aab6040870187612a39565b6101206040880152610120870191611756565b612acb6060870187612a39565b908683036060880152611756565b6080850135608085015260a085013560a085015260c085013560c0850152612b0460e0860186612a39565b9085830360e0870152611756565b92610100810190612a39565b91610100818503910152611756565b905a90606081015190612b436060850185611c3b565b600060038211612bc4575b6001600160e01b031916638dd7712f60e01b03612bb3575050612b9a612bae6106d1956020840151604051938492638dd7712f60e01b6020850152604060248501526064840190612a6a565b90604483015203601f19810183528261043d565b6114cd565b6106d1955090612bae9136916104c8565b508135612b4e565b612bd59061351b565b906001600160a01b0316612cf257612ca357612bf09061351b565b906001600160a01b0316612c5d57612c0457565b60408051631101335b60e11b8152600060048201526024810191909152602160448201527f41413332207061796d61737465722065787069726564206f72206e6f742064756064820152606560f81b608482015260a490fd5b60408051631101335b60e11b8152600060048201526024810191909152601460448201527320a0999a1039b4b3b730ba3ab9329032b93937b960611b6064820152608490fd5b60408051631101335b60e11b8152600060048201526024810191909152601760448201527f414132322065787069726564206f72206e6f74206475650000000000000000006064820152608490fd5b60408051631101335b60e11b8152600060048201526024810191909152601460448201527320a0991a1039b4b3b730ba3ab9329032b93937b960611b6064820152608490fd5b90612d41611a49565b9160018060a01b0316600052600060205263ffffffff6001604060002001546001600160701b038160081c16845260781c166020830152565b610120610100820151910151808214612da057480180821015612d9b575090565b905090565b5090565b60018060a01b031660005260006020526040600020805491820180921161134c5781905590565b9190917f49628fd1471006c1482da88028e9ce4dbb080b815c9b0344d39e5a8e6ec1419f6080602083015192519460018060a01b0386511694602060018060a01b0360e089015116970151916040519283526000602084015260408301526060820152a4565b9060807f49628fd1471006c1482da88028e9ce4dbb080b815c9b0344d39e5a8e6ec1419f91602084015193519560018060a01b0387511695602060018060a01b0360e08a015116980151926040519384521515602084015260408301526060820152a4565b60208101519051907f67b4fa9642f42120bf031f3051d1824b0fe25627945b27b8a6a65d5761d5482e60208060018060a01b03855116940151604051908152a3565b50929192159081612f8d575b50612f50576014811015612efd575b505061051a6117d0565b601411610345573560601c3b15612f15573880612ef3565b604051612f2360408261043d565b601b81527f41413330207061796d6173746572206e6f74206465706c6f7965640000000000602082015290565b5050604051612f6060408261043d565b601981527f41413230206163636f756e74206e6f74206465706c6f79656400000000000000602082015290565b90503b1538612ee4565b15612f9e57565b60405162461bcd60e51b815260206004820152601d60248201527f4141393320696e76616c6964207061796d6173746572416e64446174610000006044820152606490fd5b61306890613000612ff382611c31565b6001600160a01b03168452565b602081013560208401526130246080820135906001600160801b038260801c921690565b6060850152604084015260a081013560c084015261305260c0820135906001600160801b038260801c921690565b61010085015261012084015260e0810190611c3b565b9081156130a45761308c8260e092613087603461046d97961015612f97565b61360b565b60a085015260808401526001600160a01b0316910152565b505060a081600060e0819401528260808201520152565b90816020910312610345575190565b6130e260409295949395606083526060830190612a6a565b9460208201520152565b60a09061051a9392815260606020820152600d60608201526c10504c8cc81c995d995c9d1959609a1b608082015281604082015201906106f8565b949291939060206131ad9186519361317360e061314a875160018060a01b031690565b966131658b8d61315d6040890189611c3b565b929091613669565b01516001600160a01b031690565b6001600160a01b0316159760009290896132a1575b8401516040516306608bdf60e21b8152958694859360009385939291600485016130ca565b03926001600160a01b03881690f160009181613270575b506131ef57856131d2612492565b6040516365c8fd4d60e01b81529182916115f491600484016130ec565b9492936131fb57505050565b6001600160a01b03166000908152602081905260409020918254908183116132235750039055565b60408051631101335b60e11b815260048101929092526024820152601760448201527f41413231206469646e2774207061792070726566756e640000000000000000006064820152608490fd5b61329391925060203d60201161329a575b61328b818361043d565b8101906130bb565b90386131c4565b503d613281565b6001600160a01b038716600090815260208190526040902090935054878111156132d45750600084815b94915050613188565b8460009189036132cb565b6001600160a01b0316600090815260016020908152604080832084821c845290915290208054916001600160401b0391613318846114a7565b9055161490565b91906040838203126103455782516001600160401b0381116103455760209161334991850161189f565b92015190565b60a09061051a9392815260606020820152600d60608201526c10504cccc81c995d995c9d1959609a1b608082015281604082015201906106f8565b929390915a815160e08101516001600160a01b031660008181526020819052604090209295909290919080548981106134cc5760206080600096948c96946133f59c9d8995039055015196015191604051998a95869485936314add44b60e21b8552600485016130ca565b03926001600160a01b031686f193846000916000966134a5575b5061343a578561341d612492565b6040516365c8fd4d60e01b81529182916115f4916004840161334f565b9491925a9003116134485750565b60408051631101335b60e11b815260048101929092526024820152602760448201527f41413336206f766572207061796d6173746572566572696669636174696f6e47606482015266185cd31a5b5a5d60ca1b608482015260a490fd5b9095506134c591503d806000833e6134bd818361043d565b81019061331f565b943861340f565b60408051631101335b60e11b8152600481018b90526024810191909152601e60448201527f41413331207061796d6173746572206465706f73697420746f6f206c6f7700006064820152608490fd5b80156135f75760006040805161353081610406565b828152826020820152015265ffffffffffff8160a01c1680156135ea575b6135cc906135b36135656135706135658660d01c90565b65ffffffffffff1690565b9261358b61357c61047f565b6001600160a01b039097168752565b6135a16020870194859065ffffffffffff169052565b65ffffffffffff166040860181905290565b42119081156135cf575b5091516001600160a01b031690565b91565b516135e2915065ffffffffffff16613565565b4210386135bd565b5065ffffffffffff61354e565b50600090600090565b816040519182372090565b9091826014116103455781359183602411610345576014810135936034116103455760609290921c92608090811c9260240135901c90565b90816020910312610345575161051a8161051d565b91602061051a938181520191611756565b92909181613678575b50505050565b8251516001600160a01b031693843b613886576006546000906020906136a6906001600160a01b0316611fa3565b60408751015160405180948193632b870d1b60e11b8352826136cc8b8b60048401613658565b0393f1908115611e3757600091613857575b506001600160a01b038116958615613808576001600160a01b0316958690036137b9573b1561376c57506123b36123ad7fd51a9c61267aa6196961883ecf5ff2da6619c37dac0fa92122513fb32c032d2d9361373993612289565b602083810151935160e00151604080516001600160a01b039485168152939091169183019190915290a338808080613672565b60408051631101335b60e11b815260048101929092526024820152602060448201527f4141313520696e6974436f6465206d757374206372656174652073656e6465726064820152608490fd5b60408051631101335b60e11b8152600481018490526024810191909152602060448201527f4141313420696e6974436f6465206d7573742072657475726e2073656e6465726064820152608490fd5b60408051631101335b60e11b8152600481018590526024810191909152601b60448201527f4141313320696e6974436f6465206661696c6564206f72204f4f4700000000006064820152608490fd5b613879915060203d60201161387f575b613871818361043d565b810190613643565b386136de565b503d613867565b60408051631101335b60e11b815260048101929092526024820152601f60448201527f414131302073656e64657220616c726561647920636f6e7374727563746564006064820152608490fdfea2646970667358221220410dc6bd44472a2709fd674311474a749918a8c3dd38c8e316e19d5ae2faaadf64736f6c634300081a00336080806040523460155761016d908161001b8239f35b600080fdfe6080600436101561000f57600080fd5b60003560e01c63570e1a361461002457600080fd5b346101325760203660031901126101325760043567ffffffffffffffff8111610132573660238201121561013257806004013567ffffffffffffffff8111610132573660248284010111610132576000928160141161012e5760131982019167ffffffffffffffff831161011a57600b8101601f19908116603f0116820167ffffffffffffffff8111838210176101065760246020959387600c819795829560405286845289840196603889018837830101525193013560601c5af1905190156100fe575b6040516001600160a01b039091168152602090f35b5060006100e9565b634e487b7160e01b86526041600452602486fd5b634e487b7160e01b85526041600452602485fd5b8380fd5b600080fdfea26469706673582212208d3d15f1a1651d00f2ed3b618a50717a7de16a758bd696cf961337d90cc7bf3764736f6c634300081a0033" /* ========= SAFE RELATED ========= */ diff --git a/scripts/localDeployer/index.ts b/scripts/localDeployer/index.ts index d7e7adc6..9442870b 100644 --- a/scripts/localDeployer/index.ts +++ b/scripts/localDeployer/index.ts @@ -301,7 +301,7 @@ const main = async () => { "0x988C135a1049Ce61730724afD342fb7C56CD2776", "0x0000000071727De22E5E9d8BAf0edAc6f37da032", "0x91E60e0613810449d098b0b5Ec8b51A0FE8c8985", - "0xe1eFD6f041c128B23527b7398c29a94C98554763", + "0xAE6035bEE0802C969265C8A3193CE8878c99A66A", "0x2dd68b007B46fBe91B9A7c3EDa5A7a1063cB5b47", "0x75cf11467937ce3F2f357CE24ffc3DBF8fD5c226", "0x8EcD4ec46D4D2a6B64fE960B3D64e8B94B2234eb", diff --git a/test/e2e/alto-config.json b/test/e2e/alto-config.json index 90b235ec..b902497a 100644 --- a/test/e2e/alto-config.json +++ b/test/e2e/alto-config.json @@ -4,7 +4,7 @@ "enable-debug-endpoints": true, "entrypoints": "0x5ff137d4b0fdcd49dca30c7cf57e578a026d2789,0x0000000071727De22E5E9d8BAf0edAc6f37da032", "balance-override-enabled": "true", - "entrypoint-simulation-contract": "0xe1eFD6f041c128B23527b7398c29a94C98554763", + "entrypoint-simulation-contract": "0xAE6035bEE0802C969265C8A3193CE8878c99A66A", "api-version": "v1,v2", "rpc-url": "http://anvil:8545", "min-balance": "0", diff --git a/test/e2e/deploy-contracts/constants.ts b/test/e2e/deploy-contracts/constants.ts index 8cdcb57e..16095272 100644 --- a/test/e2e/deploy-contracts/constants.ts +++ b/test/e2e/deploy-contracts/constants.ts @@ -10,9 +10,9 @@ export const ENTRY_POINT_V07_CREATECALL: Hex = export const SIMPLE_ACCOUNT_FACTORY_V07_CREATECALL: Hex = "0x000000000000000000000000000000000000000000000000000000000000000060a060405234801561001057600080fd5b506040516129e13803806129e183398101604081905261002f91610088565b8060405161003c9061007b565b6001600160a01b039091168152602001604051809103906000f080158015610068573d6000803e3d6000fd5b506001600160a01b0316608052506100b8565b612011806109d083390190565b60006020828403121561009a57600080fd5b81516001600160a01b03811681146100b157600080fd5b9392505050565b6080516108f06100e060003960008181604b01528181610114015261025801526108f06000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c806311464fbe146100465780635fbfb9cf146100965780638cb84e18146100a9575b600080fd5b61006d7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61006d6100a436600461039d565b6100bc565b61006d6100b736600461039d565b6101ee565b6000806100c984846101ee565b905073ffffffffffffffffffffffffffffffffffffffff81163b80156100f1575090506101e8565b60405173ffffffffffffffffffffffffffffffffffffffff8616602482015284907f000000000000000000000000000000000000000000000000000000000000000090604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fc4d66de800000000000000000000000000000000000000000000000000000000179052516101b790610390565b6101c2929190610406565b8190604051809103906000f59050801580156101e2573d6000803e3d6000fd5b50925050505b92915050565b60006103578260001b6040518060200161020790610390565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe082820381018352601f90910116604081905273ffffffffffffffffffffffffffffffffffffffff871660248201527f000000000000000000000000000000000000000000000000000000000000000090604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152918152602080830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fc4d66de800000000000000000000000000000000000000000000000000000000179052905161030093929101610406565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529082905261033c9291602001610474565b6040516020818303038152906040528051906020012061035e565b9392505050565b60006103578383306000604051836040820152846020820152828152600b8101905060ff815360559020949350505050565b610417806104a483390190565b600080604083850312156103b057600080fd5b823573ffffffffffffffffffffffffffffffffffffffff811681146103d457600080fd5b946020939093013593505050565b60005b838110156103fd5781810151838201526020016103e5565b50506000910152565b73ffffffffffffffffffffffffffffffffffffffff8316815260406020820152600082518060408401526104418160608501602087016103e2565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016060019392505050565b600083516104868184602088016103e2565b83519083019061049a8183602088016103e2565b0194935050505056fe608060405260405161041738038061041783398101604081905261002291610268565b61002c8282610033565b5050610352565b61003c82610092565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a280511561008657610081828261010e565b505050565b61008e610185565b5050565b806001600160a01b03163b6000036100cd57604051634c9c8ce360e01b81526001600160a01b03821660048201526024015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b03168460405161012b9190610336565b600060405180830381855af49150503d8060008114610166576040519150601f19603f3d011682016040523d82523d6000602084013e61016b565b606091505b50909250905061017c8583836101a6565b95945050505050565b34156101a45760405163b398979f60e01b815260040160405180910390fd5b565b6060826101bb576101b682610205565b6101fe565b81511580156101d257506001600160a01b0384163b155b156101fb57604051639996b31560e01b81526001600160a01b03851660048201526024016100c4565b50805b9392505050565b8051156102155780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b634e487b7160e01b600052604160045260246000fd5b60005b8381101561025f578181015183820152602001610247565b50506000910152565b6000806040838503121561027b57600080fd5b82516001600160a01b038116811461029257600080fd5b60208401519092506001600160401b03808211156102af57600080fd5b818501915085601f8301126102c357600080fd5b8151818111156102d5576102d561022e565b604051601f8201601f19908116603f011681019083821181831017156102fd576102fd61022e565b8160405282815288602084870101111561031657600080fd5b610327836020830160208801610244565b80955050505050509250929050565b60008251610348818460208701610244565b9190910192915050565b60b7806103606000396000f3fe6080604052600a600c565b005b60186014601a565b605e565b565b600060597f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b3660008037600080366000845af43d6000803e808015607c573d6000f35b3d6000fdfea2646970667358221220d7f23a80daebb5531c9e4a18d87e812fca112e5df7e56433218edcc12bbe415d64736f6c63430008170033a2646970667358221220f5be4d2659f1a124e46d76b875ad5264a1c62d421946ca067d6132fa6cc4309964736f6c6343000817003360c0604052306080523480156200001557600080fd5b50604051620020113803806200201183398101604081905262000038916200010a565b6001600160a01b03811660a0526200004f62000056565b506200013c565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000a75760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620001075780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b6000602082840312156200011d57600080fd5b81516001600160a01b03811681146200013557600080fd5b9392505050565b60805160a051611e70620001a160003960008181610320015281816106f00152818161079e0152818161092601528181610b6301528181610baa01528181610d6a015261121e015260008181610f3301528181610f5c015261117d0152611e706000f3fe6080604052600436106101125760003560e01c80638da5cb5b116100a5578063bc197c8111610074578063c4d66de811610059578063c4d66de8146103c1578063d087d288146103e1578063f23a6e61146103f657600080fd5b8063bc197c8114610364578063c399ec88146103ac57600080fd5b80638da5cb5b14610269578063ad3cb1cc146102bb578063b0d691fe14610311578063b61d27f61461034457600080fd5b80634a58db19116100e15780634a58db19146102195780634d44560d146102215780634f1ef2861461024157806352d1902d1461025457600080fd5b806301ffc9a71461011e578063150b7a021461015357806319822f7c146101c957806347e1da2a146101f757600080fd5b3661011957005b600080fd5b34801561012a57600080fd5b5061013e61013936600461179b565b61043c565b60405190151581526020015b60405180910390f35b34801561015f57600080fd5b5061019861016e366004611848565b7f150b7a020000000000000000000000000000000000000000000000000000000095945050505050565b6040517fffffffff00000000000000000000000000000000000000000000000000000000909116815260200161014a565b3480156101d557600080fd5b506101e96101e43660046118bb565b610521565b60405190815260200161014a565b34801561020357600080fd5b50610217610212366004611954565b610547565b005b6102176106ee565b34801561022d57600080fd5b5061021761023c3660046119ee565b610794565b61021761024f366004611a49565b610843565b34801561026057600080fd5b506101e9610862565b34801561027557600080fd5b506000546102969073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161014a565b3480156102c757600080fd5b506103046040518060400160405280600581526020017f352e302e3000000000000000000000000000000000000000000000000000000081525081565b60405161014a9190611b4f565b34801561031d57600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610296565b34801561035057600080fd5b5061021761035f366004611ba0565b610891565b34801561037057600080fd5b5061019861037f366004611bfc565b7fbc197c810000000000000000000000000000000000000000000000000000000098975050505050505050565b3480156103b857600080fd5b506101e96108e0565b3480156103cd57600080fd5b506102176103dc366004611cbb565b610997565b3480156103ed57600080fd5b506101e9610b16565b34801561040257600080fd5b50610198610411366004611cd8565b7ff23a6e61000000000000000000000000000000000000000000000000000000009695505050505050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f150b7a020000000000000000000000000000000000000000000000000000000014806104cf57507fffffffff0000000000000000000000000000000000000000000000000000000082167f4e2312e000000000000000000000000000000000000000000000000000000000145b8061051b57507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b600061052b610b92565b6105358484610c33565b905061054082610ce7565b9392505050565b61054f610d52565b8481148015610565575082158061056557508281145b6105d0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f77726f6e67206172726179206c656e677468730000000000000000000000000060448201526064015b60405180910390fd5b600083900361067c5760005b858110156106765761066e8787838181106105f9576105f9611d42565b905060200201602081019061060e9190611cbb565b600085858581811061062257610622611d42565b90506020028101906106349190611d71565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610e1392505050565b6001016105dc565b506106e6565b60005b858110156106e4576106dc87878381811061069c5761069c611d42565b90506020020160208101906106b19190611cbb565b8686848181106106c3576106c3611d42565b9050602002013585858581811061062257610622611d42565b60010161067f565b505b505050505050565b7f00000000000000000000000000000000000000000000000000000000000000006040517fb760faf900000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff919091169063b760faf99034906024016000604051808303818588803b15801561077957600080fd5b505af115801561078d573d6000803e3d6000fd5b5050505050565b61079c610e90565b7f00000000000000000000000000000000000000000000000000000000000000006040517f205c287800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff848116600483015260248201849052919091169063205c287890604401600060405180830381600087803b15801561082f57600080fd5b505af11580156106e6573d6000803e3d6000fd5b61084b610f1b565b6108548261101f565b61085e8282611027565b5050565b600061086c611165565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b610899610d52565b6108da848484848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610e1392505050565b50505050565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015260009073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016906370a08231906024015b602060405180830381865afa15801561096e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109929190611dd6565b905090565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff16159067ffffffffffffffff166000811580156109e25750825b905060008267ffffffffffffffff1660011480156109ff5750303b155b905081158015610a0d575080155b15610a44576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001660011785558315610aa55784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff16680100000000000000001785555b610aae866111d4565b83156106e65784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a1505050505050565b6040517f35567e1a0000000000000000000000000000000000000000000000000000000081523060048201526000602482018190529073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016906335567e1a90604401610951565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610c31576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f6163636f756e743a206e6f742066726f6d20456e747279506f696e740000000060448201526064016105c7565b565b7f19457468657265756d205369676e6564204d6573736167653a0a3332000000006000908152601c829052603c8120610cae81610c74610100870187611d71565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061126892505050565b60005473ffffffffffffffffffffffffffffffffffffffff908116911614610cda57600191505061051b565b5060009392505050565b50565b8015610ce45760405160009033907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90849084818181858888f193505050503d806000811461078d576040519150601f19603f3d011682016040523d82523d6000602084013e61078d565b3373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161480610dad575060005473ffffffffffffffffffffffffffffffffffffffff1633145b610c31576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f6163636f756e743a206e6f74204f776e6572206f7220456e747279506f696e7460448201526064016105c7565b6000808473ffffffffffffffffffffffffffffffffffffffff168484604051610e3c9190611def565b60006040518083038185875af1925050503d8060008114610e79576040519150601f19603f3d011682016040523d82523d6000602084013e610e7e565b606091505b50915091508161078d57805160208201fd5b60005473ffffffffffffffffffffffffffffffffffffffff16331480610eb557503330145b610c31576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f6f6e6c79206f776e65720000000000000000000000000000000000000000000060448201526064016105c7565b3073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161480610fe857507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16610fcf7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614155b15610c31576040517fe07c8dba00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610ce4610e90565b8173ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156110ac575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526110a991810190611dd6565b60015b6110fa576040517f4c9c8ce300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff831660048201526024016105c7565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8114611156576040517faa1d49a4000000000000000000000000000000000000000000000000000000008152600481018290526024016105c7565b6111608383611292565b505050565b3073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610c31576040517fe07c8dba00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff838116918217835560405191927f0000000000000000000000000000000000000000000000000000000000000000909116917f47e55c76e7a6f1fd8996a1da8008c1ea29699cca35e7bcd057f2dec313b6e5de9190a350565b60008060008061127886866112f5565b9250925092506112888282611342565b5090949350505050565b61129b82611446565b60405173ffffffffffffffffffffffffffffffffffffffff8316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a28051156112ed576111608282611515565b61085e611598565b6000806000835160410361132f5760208401516040850151606086015160001a611321888285856115d0565b95509550955050505061133b565b50508151600091506002905b9250925092565b600082600381111561135657611356611e0b565b0361135f575050565b600182600381111561137357611373611e0b565b036113aa576040517ff645eedf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60028260038111156113be576113be611e0b565b036113f8576040517ffce698f7000000000000000000000000000000000000000000000000000000008152600481018290526024016105c7565b600382600381111561140c5761140c611e0b565b0361085e576040517fd78bce0c000000000000000000000000000000000000000000000000000000008152600481018290526024016105c7565b8073ffffffffffffffffffffffffffffffffffffffff163b6000036114af576040517f4c9c8ce300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff821660048201526024016105c7565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60606000808473ffffffffffffffffffffffffffffffffffffffff168460405161153f9190611def565b600060405180830381855af49150503d806000811461157a576040519150601f19603f3d011682016040523d82523d6000602084013e61157f565b606091505b509150915061158f8583836116ca565b95945050505050565b3415610c31576040517fb398979f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a084111561160b57506000915060039050826116c0565b604080516000808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa15801561165f573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff81166116b6575060009250600191508290506116c0565b9250600091508190505b9450945094915050565b6060826116df576116da82611759565b610540565b8151158015611703575073ffffffffffffffffffffffffffffffffffffffff84163b155b15611752576040517f9996b31500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff851660048201526024016105c7565b5080610540565b8051156117695780518082602001fd5b6040517f1425ea4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000602082840312156117ad57600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461054057600080fd5b73ffffffffffffffffffffffffffffffffffffffff81168114610ce457600080fd5b60008083601f84011261181157600080fd5b50813567ffffffffffffffff81111561182957600080fd5b60208301915083602082850101111561184157600080fd5b9250929050565b60008060008060006080868803121561186057600080fd5b853561186b816117dd565b9450602086013561187b816117dd565b935060408601359250606086013567ffffffffffffffff81111561189e57600080fd5b6118aa888289016117ff565b969995985093965092949392505050565b6000806000606084860312156118d057600080fd5b833567ffffffffffffffff8111156118e757600080fd5b840161012081870312156118fa57600080fd5b95602085013595506040909401359392505050565b60008083601f84011261192157600080fd5b50813567ffffffffffffffff81111561193957600080fd5b6020830191508360208260051b850101111561184157600080fd5b6000806000806000806060878903121561196d57600080fd5b863567ffffffffffffffff8082111561198557600080fd5b6119918a838b0161190f565b909850965060208901359150808211156119aa57600080fd5b6119b68a838b0161190f565b909650945060408901359150808211156119cf57600080fd5b506119dc89828a0161190f565b979a9699509497509295939492505050565b60008060408385031215611a0157600080fd5b8235611a0c816117dd565b946020939093013593505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008060408385031215611a5c57600080fd5b8235611a67816117dd565b9150602083013567ffffffffffffffff80821115611a8457600080fd5b818501915085601f830112611a9857600080fd5b813581811115611aaa57611aaa611a1a565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908382118183101715611af057611af0611a1a565b81604052828152886020848701011115611b0957600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60005b83811015611b46578181015183820152602001611b2e565b50506000910152565b6020815260008251806020840152611b6e816040850160208701611b2b565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b60008060008060608587031215611bb657600080fd5b8435611bc1816117dd565b935060208501359250604085013567ffffffffffffffff811115611be457600080fd5b611bf0878288016117ff565b95989497509550505050565b60008060008060008060008060a0898b031215611c1857600080fd5b8835611c23816117dd565b97506020890135611c33816117dd565b9650604089013567ffffffffffffffff80821115611c5057600080fd5b611c5c8c838d0161190f565b909850965060608b0135915080821115611c7557600080fd5b611c818c838d0161190f565b909650945060808b0135915080821115611c9a57600080fd5b50611ca78b828c016117ff565b999c989b5096995094979396929594505050565b600060208284031215611ccd57600080fd5b8135610540816117dd565b60008060008060008060a08789031215611cf157600080fd5b8635611cfc816117dd565b95506020870135611d0c816117dd565b94506040870135935060608701359250608087013567ffffffffffffffff811115611d3657600080fd5b6119dc89828a016117ff565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112611da657600080fd5b83018035915067ffffffffffffffff821115611dc157600080fd5b60200191503681900382131561184157600080fd5b600060208284031215611de857600080fd5b5051919050565b60008251611e01818460208701611b2b565b9190910192915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fdfea2646970667358221220646ccd794d1cd309da39b56bcfe1238dae05a9d8106dddf47fe099a78d7801e864736f6c634300081700330000000000000000000000000000000071727de22e5e9d8baf0edac6f37da032" -// Will deploy entryPointSimulations (required for V0.7) to 0xe1eFD6f041c128B23527b7398c29a94C98554763 +// Will deploy entryPointSimulations (required for V0.7) to 0xAE6035bEE0802C969265C8A3193CE8878c99A66A export const ENTRY_POINT_SIMULATIONS_CREATECALL: Hex = - "0x000000000000000000000000000000000000000000000000000000000000000060808060405234608257613d268181016001600160401b03811183821017606c5782916103ff833903906000f08015606057600080546001600160a01b0319166001600160a01b039290921691909117905560405161037790816100888239f35b6040513d6000823e3d90fd5b634e487b7160e01b600052604160045260246000fd5b600080fdfe6080604052600436101561001257600080fd5b60003560e01c63c18f52261461002757600080fd5b34610281576040366003190112610281576004356001600160a01b038116908190036102815760243567ffffffffffffffff81116102815736602382011215610281578060040135610078816102be565b91610086604051938461029c565b8183526024602084019260051b820101903682116102815760248101925b82841061020957845185876100b8836102be565b926100c6604051948561029c565b8084526100d5601f19916102be565b0160005b8181106101f857505060005b825181101561019057600190606060008061013b858060a01b0382541661014961010f878b610317565b51604051938491602083019463428557b160e11b865260248401526040604484015260648301906102d6565b03601f19810184528361029c565b82885a935193f115610172575b6101608287610317565b5261016b8186610317565b50016100e5565b503d604051906020818301016040528082526000602083013e610156565b836040518091602082016020835281518091526040830190602060408260051b8601019301916000905b8282106101c957505050500390f35b919360019193955060206101e88192603f198a820301865288516102d6565b96019201920185949391926101ba565b8060606020809388010152016100d9565b833567ffffffffffffffff8111610281578201366043820112156102815760248101359167ffffffffffffffff831161028657604051610253601f8501601f19166020018261029c565b83815236604484860101116102815760006020858196604483970183860137830101528152019301926100a4565b600080fd5b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff82111761028657604052565b67ffffffffffffffff81116102865760051b60200190565b919082519283825260005b848110610302575050826000602080949584010152601f8019910116010190565b806020809284010151828286010152016102e1565b805182101561032b5760209160051b010190565b634e487b7160e01b600052603260045260246000fdfea2646970667358221220686ac6332ca394a6130c2a5d53c73a96976e0356a691cc9b848c6e42846c071764736f6c634300081a003360c080604052346100cc5760016002556101888181016001600160401b038111838210176100b6578291613b9e833903906000f080156100aa576080523060a0526100486100d1565b600081526020810190600082528060206100606100d1565b600081520152600380546001600160a01b03191690555160045551600555604051613aad90816100f1823960805181505060a0518181816108ef0152818161206501526121dc0152f35b6040513d6000823e3d90fd5b634e487b7160e01b600052604160045260246000fd5b600080fd5b60408051919082016001600160401b038111838210176100b65760405256fe60806040526004361015610023575b361561001957600080fd5b61002161270f565b005b60003560e01c80630396cb60146101835780630bd28e3b1461017e5780630da82661146101795780630dbfc6bd146101745780630f019dea1461016f5780631b2e01b81461016a578063205c28781461016557806322cdde4c14610160578063263934db1461015b57806330ec25d11461015657806335567e1a14610151578063444034731461014c5780635287ce12146101475780635787f48b146101425780635895273b1461013d57806370a0823114610138578063b760faf914610133578063bb9fe6bf1461012e578063c23a5cea14610129578063c3bce00914610124578063fc7e286d1461011f5763fe2171cb0361000e57611395565b61130a565b6112dd565b6111db565b6110d9565b6110ae565b611071565b610fbd565b610f38565b610dfa565b610d8b565b610d22565b610ca4565b610b8d565b610b5c565b610a3e565b6109db565b61083d565b610779565b610554565b610360565b60203660031901126103455760043563ffffffff811690818103610345576103407fa5ae833d0bb1dcd632d98a8b70973e8516812898e19bf27b70071ebc8dc52c01916103226102436102336101eb3360018060a01b03166000526000602052604060002090565b966101f78115156113e5565b61022460018901549161021d6102148463ffffffff9060781c1690565b63ffffffff1690565b1115611431565b60081c6001600160701b031690565b6001600160701b033491166114b0565b9461024f8615156114bd565b6102626001600160701b038711156114fe565b5461026b61045e565b908152600160208201526001600160701b038616604082015263ffffffff8316606082015260006080820181905233815260208190526040902081518155602082015160019091018054604084015160608501516080909501516001600160c81b031990921660ff941515949094169390931760089390931b6effffffffffffffffffffffffffff00169290921760789390931b63ffffffff60781b169290921760989190911b65ffffffffffff60981b16179055565b6040805194855263ffffffff90911660208501523393918291820190565b0390a2005b600080fd5b602435906001600160c01b038216820361034557565b34610345576020366003190112610345576004356001600160c01b0381168103610345573360009081526001602090815260408083206001600160c01b039094168352929052206103b1815461153b565b9055005b634e487b7160e01b600052604160045260246000fd5b60a081019081106001600160401b038211176103e657604052565b6103b5565b604081019081106001600160401b038211176103e657604052565b606081019081106001600160401b038211176103e657604052565b61014081019081106001600160401b038211176103e657604052565b90601f801991011681019081106001600160401b038211176103e657604052565b6040519061046d60a08361043d565b565b6040519061046d6101408361043d565b6040519061046d6101008361043d565b6040519061046d60608361043d565b6040519061046d60408361043d565b6001600160401b0381116103e657601f01601f191660200190565b9291926104d4826104ad565b916104e2604051938461043d565b829481845281830111610345578281602093846000960137010152565b9080601f830112156103455781602061051a933591016104c8565b90565b6001600160a01b0381160361034557565b6024359061046d8261051d565b610104359061046d8261051d565b359061046d8261051d565b3461034557610220366003190112610345576004356001600160401b038111610345576105859036906004016104ff565b3660231901906101c0821261034557610140604051926105a4846103cb565b12610345576105b161046f565b6105b961052e565b815260443560208201526064356040820152608435606082015260a435608082015260c43560a082015260e43560c08201526105f361053b565b60e0820152610124356101008201526101443561012082015282526101643560208301526101843560408301526101a43560608301526101c43560808301526101e435916001600160401b038311610345576106566106619336906004016104ff565b906102043592611561565b60408051928352602083019190915290f35b0390f35b9181601f84011215610345578235916001600160401b038311610345576020808501948460051b01011161034557565b602060031982011261034557600435906001600160401b038211610345576106d191600401610677565b9091565b60005b8381106106e85750506000910152565b81810151838201526020016106d8565b90602091610711815180928185528580860191016106d5565b601f01601f1916010190565b9061010060e061051a93805184526020810151602085015260408101516040850152606081015160608501526080810151608085015260a081015160a085015260c0810151151560c08501520151918160e082015201906106f8565b346103455761079061078a366106a7565b90611a24565b6040518091602082016020835281518091526040830190602060408260051b8601019301916000905b8282106107c857505050500390f35b919360019193955060206107e78192603f198a8203018652885161071d565b96019201920185949391926107b9565b9181601f84011215610345578235916001600160401b038311610345576020838186019501011161034557565b60409061051a93921515815281602082015201906106f8565b346103455760803660031901126103455760043561085a8161051d565b6024356108668161051d565b6044356001600160401b038111610345576108859036906004016107f7565b926108c0606435936108b2600095606097604051968794634440347360e01b602087015260248601611b62565b03601f19810184528361043d565b6001600160a01b0316803b156103455760405163428557b160e11b8152916000918391829084908290610920907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031660048401611b8d565b03925af190816109c0575b506109bb57505061093a6118ca565b61094c61094782516119f9565b611bd7565b9060045b8151811015610995578061097761096960019385611c09565b516001600160f81b03191690565b61098e610983836119f9565b9160001a9186611c09565b5301610950565b50506109aa9060208082518301019101611c1a565b905b61067360405192839283610824565b6109ac565b806109cf60006109d59361043d565b806110ce565b3861092b565b34610345576040366003190112610345576020610a356004356109fd8161051d565b610a0561034a565b6001600160a01b0390911660009081526001845260408082206001600160c01b0390931682526020929092522090565b54604051908152f35b3461034557604036600319011261034557600435610a5b8161051d565b602435336000526000602052604060002091825492838311610ae3576000808481948294610a8c610021988a611a17565b9055604080516001600160a01b03831681526020810184905233917fd1c19fbcd4551a5edfb66d43d2e337c04837afda3482b42bdf569a8fccdae5fb91a26001600160a01b03165af1610add6118ca565b50611c4e565b60405162461bcd60e51b815260206004820152601960248201527f576974686472617720616d6f756e7420746f6f206c61726765000000000000006044820152606490fd5b602060031982011261034557600435906001600160401b038211610345576101209082900360031901126103455760040190565b34610345576020610b74610b6f36610b28565b611c8f565b604051908152f35b90602061051a92818152019061071d565b3461034557610bb9610b9e366106a7565b809291610ba96116a3565b50610bb3826116f7565b50611a24565b6000198201918211610be75761067391610bd2916119e5565b5160405191829160208352602083019061071d565b61147d565b9061051a9060e06080610c3e818651610140865280516101408701526020810151610160870152604081015161018087015260608101516101a0870152015160a06101c08601526101e08501906106f8565b60208087015180518683015201516040850152946040810151805160608601526020015160808501526060810151805160a08601526020015160c0850152015191019080516001600160a01b031682526020908101518051828401520151604090910152565b3461034557610cbb610cb5366106a7565b90611e12565b6040518091602082016020835281518091526040830190602060408260051b8601019301916000905b828210610cf357505050500390f35b91936001919395506020610d128192603f198a82030186528851610bec565b9601920192018594939192610ce4565b34610345576040366003190112610345576020600435610d418161051d565b610d4961034a565b6001600160a01b0390911660009081526001835260408082206001600160c01b03841683526020529020546040805192901b67ffffffffffffffff1916178152f35b3461034557606036600319011261034557600435610da88161051d565b6024356001600160401b0381116103455760009182610dcc819336906004016107f7565b9190926044359383604051948592833781018381520393f1610dec6118ca565b9015610df457005b60208101fd5b3461034557602036600319011261034557600435610e178161051d565b60006080604051610e27816103cb565b828152826020820152826040820152826060820152015260018060a01b031660005260006020526106736040600020610eb665ffffffffffff600160405193610e6f856103cb565b80548552015460ff8116151560208501526001600160701b038160081c16604085015263ffffffff8160781c16606085015260981c16608083019065ffffffffffff169052565b60405191829182919091608065ffffffffffff8160a0840195805185526020810151151560208601526001600160701b03604082015116604086015263ffffffff6060820151166060860152015116910152565b6080604061051a936020845280516020850152602081015115158285015201519160608082015201906106f8565b346103455760c0366003190112610345576004356001600160401b03811161034557610f68903690600401610677565b906024356001600160401b03811161034557606060031982360301126103455761067392610fb192604435610f9c8161051d565b606435916084359360a4359560040191611fc7565b60405191829182610f0a565b3461034557610fcb36610b28565b610fd36116a3565b5060028054146110605761067390600280556080611011610ff2611ec8565b92610ffc816129cd565b836110078183612ade565b9491929093612cd1565b94909501519461101f61047f565b958652602086015260408501526060840152608083015260a0820152600060c082015261104a612326565b60e0820152600160025560405191829182610b7c565b633ee5aeb560e01b60005260046000fd5b346103455760203660031901126103455760043561108e8161051d565b60018060a01b031660005260006020526020604060002054604051908152f35b6020366003190112610345576100216004356110c98161051d565b612346565b600091031261034557565b34610345576000366003190112610345573360005260006020526001604060002001805463ffffffff8160781c16156111a9576111456111376102148361112b61112661116c9660ff1690565b61239c565b60781c63ffffffff1690565b65ffffffffffff42166123dc565b825460ff65ffffffffffff60981b01191665ffffffffffff60981b609883901b1617909255565b60405165ffffffffffff909116815233907ffa9b3c14cc825c412c9ed81b3ba365a5b459439403f18829e572ed53a4180f0a908060208101610340565b60405162461bcd60e51b815260206004820152600a6024820152691b9bdd081cdd185ad95960b21b6044820152606490fd5b346103455760203660031901126103455761002160008080806004356112008161051d565b3360009081526020819052604090206001019061128882549261127765ffffffffffff61126361124961123d886001600160701b039060081c1690565b6001600160701b031690565b966112558815156123fa565b60981c65ffffffffffff1690565b1661126f81151561243d565b421015612489565b8054610100600160c81b0319169055565b604080516001600160a01b03831681526020810184905233917fb7c918e0e249f999e965cafeb6c664271b3f4317d296461500e71da39f0cbda391a26001600160a01b03165af16112d76118ca565b506124d5565b34610345576106736112f66112f136610b28565b6125a9565b604051918291602083526020830190610bec565b34610345576020366003190112610345576004356113278161051d565b6001600160a01b031660009081526020818152604091829020805460019190910154835191825260ff8116151592820192909252600882901c6001600160701b031692810192909252607881901c63ffffffff16606083015260981c65ffffffffffff16608082015260a090f35b34610345576113b76113a6366106a7565b8092916113b1611d8b565b50611e12565b6000198201918211610be757610673916113d0916119e5565b51604051918291602083526020830190610bec565b156113ec57565b60405162461bcd60e51b815260206004820152601a60248201527f6d757374207370656369667920756e7374616b652064656c61790000000000006044820152606490fd5b1561143857565b60405162461bcd60e51b815260206004820152601c60248201527f63616e6e6f7420646563726561736520756e7374616b652074696d65000000006044820152606490fd5b634e487b7160e01b600052601160045260246000fd5b906113888201809211610be757565b9060018201809211610be757565b91908201809211610be757565b156114c457565b60405162461bcd60e51b81526020600482015260126024820152711b9bc81cdd185ad9481cdc1958da599a595960721b6044820152606490fd5b1561150557565b60405162461bcd60e51b815260206004820152600e60248201526d7374616b65206f766572666c6f7760901b6044820152606490fd5b6000198114610be75760010190565b60409061051a9392815281602082015201906106f8565b9190805193606085015194611579603f5a0260061c90565b61271060a083015188010111611647576106d19560009580516115a9575b5050505a9003608082015101926127aa565b82516115c7926115c39290916001600160a01b0316612718565b1590565b6115d3575b8080611597565b9093506115de61272a565b80516115f0575b5050600192386115cc565b602083810151835193909101516040516001600160a01b039094169391927f1c4fada7374c0a9ee8841fc38afe82932dc0f8e69012e927f061a8bae611a2019291829161163d918361154a565b0390a338806115e5565b60408051631101335b60e11b8152600060048201526024810191909152600f60448201526e41413935206f7574206f662067617360881b6064820152608490fd5b0390fd5b6001600160401b0381116103e65760051b60200190565b6040519061010082018281106001600160401b038211176103e657604052606060e08360008152600060208201526000604082015260008382015260006080820152600060a0820152600060c08201520152565b906117018261168c565b61170e604051918261043d565b828152809261171f601f199161168c565b019060005b82811061173057505050565b60209061173b6116a3565b82828501015201611724565b634e487b7160e01b600052603260045260246000fd5b90359061011e1981360301821215610345570190565b9082101561178a5761051a9160051b81019061175d565b611747565b9035601e19823603018112156103455701602081359101916001600160401b03821161034557813603831361034557565b908060209392818452848401376000828201840152601f01601f1916010190565b61051a916117ff816117f284610549565b6001600160a01b03169052565b60208201356020820152611895611889611850611835611822604087018761178f565b61012060408801526101208701916117c0565b611842606087018761178f565b9086830360608801526117c0565b6080850135608085015260a085013560a085015260c085013560c085015261187b60e086018661178f565b9085830360e08701526117c0565b9261010081019061178f565b916101008185039101526117c0565b90602061051a9281815201906117e1565b604051906118c460208361043d565b60008252565b3d156118f5573d906118db826104ad565b916118e9604051938461043d565b82523d6000602084013e565b606090565b5190811515820361034557565b81601f8201121561034557805161191d816104ad565b9261192b604051948561043d565b818452602082840101116103455761051a91602080850191016106d5565b602081830312610345578051906001600160401b0382116103455701610100818303126103455761197861047f565b91815183526020820151602084015260408201516040840152606082015160608401526080820151608084015260a082015160a08401526119bb60c083016118fa565b60c084015260e08201516001600160401b038111610345576119dd9201611907565b60e082015290565b805182101561178a5760209160051b010190565b600319810191908211610be757565b600019810191908211610be757565b91908203918211610be757565b611a2d826116f7565b9160009060005b818110611a42575050505090565b600080611a50838588611773565b604051611a8081611a7260208201946321e9dfa160e11b8652602483016118a4565b03601f19810183528261043d565b519082305af180611a8f6118ca565b91611b2a575b611a9e84611a08565b83149081611b21575b50611ab55750600101611a34565b805115611ac457602081519101fd5b60405162461bcd60e51b815260206004820152602f60248201527f73696d756c61746548616e646c654f70206661696c656420776974686f75742060448201526e30903932bb32b93a103932b0b9b7b760891b6064820152608490fd5b90501538611aa7565b611b5c611b406020845185010160208501611949565b95611b4a8161153b565b96611b55828b6119e5565b52886119e5565b50611a95565b94939291604092611b889260018060a01b031687526060602088015260608701916117c0565b930152565b6001600160a01b03909116815260406020820181905261051a929101906106f8565b6040513d6000823e3d90fd5b60405190611bca60208361043d565b6000808352366020840137565b90611be1826104ad565b611bee604051918261043d565b8281528092611bff601f19916104ad565b0190602036910137565b90815181101561178a570160200190565b91909160408184031261034557611c30816118fa565b9260208201516001600160401b0381116103455761051a9201611907565b15611c5557565b60405162461bcd60e51b81526020600482015260126024820152716661696c656420746f20776974686472617760701b6044820152606490fd5b6020810135611d43611ca46040840184611f64565b90816040519182372091611a72611cbe6060860186611f64565b90816040519182372060c086013560a08701356080880135611cec611ce660e08b018b611f64565b906137a4565b604080519a356001600160a01b031660208c01908152908b019790975260608a0198909852608089019390935260a088019290925260c087019190915260e086015261010085019390935292918290610120820190565b51902060408051602081019283523091810191909152466060820152611d6c8160808101611a72565b51902090565b60405190611d7f826103eb565b60006020838281520152565b60405190611d98826103cb565b81604051611da5816103cb565b60008152600060208201526000604082015260006060820152606060808201528152611dcf611d72565b6020820152611ddc611d72565b6040820152611de9611d72565b6060820152608060405191611dfd836103eb565b60008352611e09611d72565b60208401520152565b611e1b8261168c565b91611e29604051938461043d565b808352601f19611e388261168c565b0160005b818110611e8257505060005b818110611e555750505090565b80611e666112f16001938587611773565b611e7082876119e5565b52611e7b81866119e5565b5001611e48565b602090611e8d611d8b565b82828801015201611e3c565b908092918237016000815290565b60405190611eb482610406565b606060408360008152600060208201520152565b60405190611ed5826103cb565b6000608083604051611ee681610421565b83815283602082015283604082015283606082015283838201528360a08201528360c08201528360e0820152836101008201528361012082015281528260208201528260408201528260608201520152565b919081101561178a5760051b81013590605e1981360301821215610345570190565b3561051a8161051d565b903590601e198136030182121561034557018035906001600160401b0382116103455760200191813603831361034557565b6001600160a01b0391821681529116602082015260806040820181905290939291606091611b8891908601906106f8565b9694969591939295611fd7611ea7565b5060005b82811061228357505050611fef838061175d565b9361202f61201761201061200560208801611f5a565b966040810190611f64565b36916104c8565b95612020611ec8565b9061202a816129cd565b612ade565b5050506001600160a01b0384161561225857600083156121b057506001906120636120586118b5565b989291935b856114b0565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169881905b8461209c8885611a17565b10612185575a6120ab88611493565b116121655791869593918a95938c8b6120c5858d9c6114b0565b60011c9a8b996040519c8d938493630780cef560e11b855260048501936120eb94611f96565b03815a6000948591f198891561216057600090819a61213a575b50156121255750505061211784611a08565b95915b939092949591612091565b939650946121349197506114a2565b9461211a565b90612158929a503d8091833e612150818361043d565b810190611c1a565b989038612105565b611baf565b637162685f60e11b60005260048290526024879052604483905260646000fd5b975097505092505094506121a8915061219c61048f565b93845215156020840152565b604082015290565b92505a90858486896121d75a604051630780cef560e11b8152958694859460048601611f96565b0381837f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af190811561216057858092612231575b50506122276120639195935a90611a17565b949892919361205d565b612227965061206392509061224f913d8091833e612150818361043d565b95909591612215565b95505050505050612267611bbb565b61226f61048f565b906000825260006020830152604082015290565b60019061228e611ec8565b6122b961229c838787611f38565b916122af6122aa848061175d565b6129cd565b61202a838061175d565b505050602081016122d86122cc82611f5a565b6001600160a01b031690565b1561231f57600091826122f96122ee8294611f5a565b926040810190611f64565b919061230a60405180948193611e99565b03925af1506123176118ca565b505b01611fdb565b5050612319565b6040519061233560408361043d565b6002825261060f60f31b6020830152565b60015b6005811061239457507f2da466a7b24304f47e87fa2e1e5a81b9831ce54fec19055ce277ca2f39ba42c4602061237f3484612f48565b6040519081526001600160a01b0390931692a2565b600101612349565b156123a357565b60405162461bcd60e51b8152602060048201526011602482015270616c726561647920756e7374616b696e6760781b6044820152606490fd5b9065ffffffffffff8091169116019065ffffffffffff8211610be757565b1561240157565b60405162461bcd60e51b81526020600482015260146024820152734e6f207374616b6520746f20776974686472617760601b6044820152606490fd5b1561244457565b60405162461bcd60e51b815260206004820152601d60248201527f6d7573742063616c6c20756e6c6f636b5374616b6528292066697273740000006044820152606490fd5b1561249057565b60405162461bcd60e51b815260206004820152601b60248201527f5374616b65207769746864726177616c206973206e6f742064756500000000006044820152606490fd5b156124dc57565b60405162461bcd60e51b815260206004820152601860248201527f6661696c656420746f207769746864726177207374616b6500000000000000006044820152606490fd5b906014116103455790601490565b356bffffffffffffffffffffffff1981169291906014821061254f575050565b6bffffffffffffffffffffffff1960149290920360031b82901b16169150565b6040519061257c826103eb565b6003546001600160a01b03168252604051602083612599836103eb565b6004548352600554828401520152565b6125b1611d8b565b506125ba611ec8565b906125c4816129cd565b6125ce8282612ade565b509190926125dc8385612d70565b805160e001516125f9906001600160a01b0316612edc565b612edc565b81515190929061262990612615906001600160a01b0316612edc565b9161261e611d72565b506040810190611f64565b90601482106127035761264b612645612651936125f493612521565b9061252f565b60601c90565b9160018060a01b03861694608082015196606060408401519301519261267561045e565b988952602089015260408801526060870152608086015261269461256f565b93801515806126f8575b6126c6575b506126ac61045e565b948552602085015260408401526060830152608082015290565b9093506126d281612edc565b6126ec6126dd61049e565b6001600160a01b039093168352565b602082015292386126a3565b50600181141561269e565b50506126516000612edc565b61046d33612346565b9060009283809360208451940192f190565b3d610800811161274f575b604051906020818301016040528082526000602083013e90565b50610800612735565b6003111561276257565b634e487b7160e01b600052602160045260246000fd5b90949392946003811015612762576060926127a09183526080602084015260808301906106f8565b9460408201520152565b9093916000935a928651926127be84612f1e565b60e085015190916001600160a01b039091169081806128a657505084516001600160a01b03169050925b5a8603019360a06060820151910151019060808901918251860390818111612891575b5050840291604089019283519481861060001461286757505080612830600292612758565b0361284c57505061046d925080956128478161303a565b612f6f565b9150915061046d925a9003905101905185612847829761303a565b9061046d9750809a945061288092935080950390612f48565b5061288a81612758565b1590612fd5565b9195916064919003600a02040193388061280b565b949181516128b6575b50506127e8565b6128bf85612758565b60028503156128af57919098505a9160a0870151813b1561034557846000918783612906958f60405197889687958693637c627b2160e01b8552828d029160048601612778565b0393f190816129a0575b5061299957506020898101518a518051920151917ff62676f440ff169a3a9afdbf812e89e7f95975ee8e5c31214ffdef631c5f4792906001600160a01b031661295761272a565b6040516001600160a01b03909216948291612972918361154a565b0390a361298b5a870360808b01510180998b60026127aa565b50505b5a90039638806128af565b975061298e565b806109cf60006129af9361043d565b38612910565b90604061051a926000815281602082015201906106f8565b6040516135a560f21b602082019081523060601b6022830152600160f81b603683015260178252612a56929190612a0560378361043d565b60018060a01b0391519020166bffffffffffffffffffffffff60a01b6006541617600655612a366040820182611f64565b91612a4e612a4382611f5a565b9160e0810190611f64565b93909261307c565b8051612a5f5750565b604051631101335b60e11b815290819061168890600483016129b5565b15612a8357565b60405162461bcd60e51b815260206004820152601860248201527f41413934206761732076616c756573206f766572666c6f7700000000000000006044820152606490fd5b90607382029180830460731490151715610be757565b90916000915a93805191612af28382613187565b612afb81611c8f565b6020830152604083015195612b476effffffffffffffffffffffffffffff8860c08701511760608701511760808701511760a08701511761010087015117610120870151171115612a7c565b612b7284610100604082015160608301510160808301510160a08301510160c0830151019101510290565b612b808882868660006132cb565b8551909890612ba1906115c3906001600160a01b0316602089015190613483565b612c82575a830311612c33576060905a60e096909601516001600160a01b0316612c00575b612bf49360a061051a979487946080946040612bf99a015260608601525a9003910135019101525a90611a17565b612ac8565b6064900490565b965050928260808360a061051a97612c218b612bf999612bf499600061352e565b9b909598509350949750509350612bc6565b60408051631101335b60e11b8152600060048201526024810191909152601e60448201527f41413236206f76657220766572696669636174696f6e4761734c696d697400006064820152608490fd5b60408051631101335b60e11b8152600060048201526024810191909152601a60448201527f4141323520696e76616c6964206163636f756e74206e6f6e63650000000000006064820152608490fd5b905a90606081015190612ce76060850185611f64565b600060038211612d68575b6001600160e01b031916638dd7712f60e01b03612d57575050612d3e612d526106d1956020840151604051938492638dd7712f60e01b60208501526040602485015260648401906117e1565b90604483015203601f19810183528261043d565b611561565b6106d1955090612d529136916104c8565b508135612cf2565b612d79906136bf565b906001600160a01b0316612e9657612e4757612d94906136bf565b906001600160a01b0316612e0157612da857565b60408051631101335b60e11b8152600060048201526024810191909152602160448201527f41413332207061796d61737465722065787069726564206f72206e6f742064756064820152606560f81b608482015260a490fd5b60408051631101335b60e11b8152600060048201526024810191909152601460448201527320a0999a1039b4b3b730ba3ab9329032b93937b960611b6064820152608490fd5b60408051631101335b60e11b8152600060048201526024810191909152601760448201527f414132322065787069726564206f72206e6f74206475650000000000000000006064820152608490fd5b60408051631101335b60e11b8152600060048201526024810191909152601460448201527320a0991a1039b4b3b730ba3ab9329032b93937b960611b6064820152608490fd5b90612ee5611d72565b9160018060a01b0316600052600060205263ffffffff6001604060002001546001600160701b038160081c16845260781c166020830152565b610120610100820151910151808214612f4457480180821015612f3f575090565b905090565b5090565b60018060a01b0316600052600060205260406000208054918201809211610be75781905590565b9190917f49628fd1471006c1482da88028e9ce4dbb080b815c9b0344d39e5a8e6ec1419f6080602083015192519460018060a01b0386511694602060018060a01b0360e089015116970151916040519283526000602084015260408301526060820152a4565b9060807f49628fd1471006c1482da88028e9ce4dbb080b815c9b0344d39e5a8e6ec1419f91602084015193519560018060a01b0387511695602060018060a01b0360e08a015116980151926040519384521515602084015260408301526060820152a4565b60208101519051907f67b4fa9642f42120bf031f3051d1824b0fe25627945b27b8a6a65d5761d5482e60208060018060a01b03855116940151604051908152a3565b50929192159081613131575b506130f45760148110156130a1575b505061051a6118b5565b601411610345573560601c3b156130b9573880613097565b6040516130c760408261043d565b601b81527f41413330207061796d6173746572206e6f74206465706c6f7965640000000000602082015290565b505060405161310460408261043d565b601981527f41413230206163636f756e74206e6f74206465706c6f79656400000000000000602082015290565b90503b1538613088565b1561314257565b60405162461bcd60e51b815260206004820152601d60248201527f4141393320696e76616c6964207061796d6173746572416e64446174610000006044820152606490fd5b61320c906131a461319782611f5a565b6001600160a01b03168452565b602081013560208401526131c86080820135906001600160801b038260801c921690565b6060850152604084015260a081013560c08401526131f660c0820135906001600160801b038260801c921690565b61010085015261012084015260e0810190611f64565b908115613248576132308260e09261322b603461046d9796101561313b565b6137af565b60a085015260808401526001600160a01b0316910152565b505060a081600060e0819401528260808201520152565b90816020910312610345575190565b613286604092959493956060835260608301906117e1565b9460208201520152565b60a09061051a9392815260606020820152600d60608201526c10504c8cc81c995d995c9d1959609a1b608082015281604082015201906106f8565b949291939060206133519186519361331760e06132ee875160018060a01b031690565b966133098b8d6133016040890189611f64565b92909161380d565b01516001600160a01b031690565b6001600160a01b031615976000929089613445575b8401516040516306608bdf60e21b81529586948593600093859392916004850161326e565b03926001600160a01b03881690f160009181613414575b50613393578561337661272a565b6040516365c8fd4d60e01b81529182916116889160048401613290565b94929361339f57505050565b6001600160a01b03166000908152602081905260409020918254908183116133c75750039055565b60408051631101335b60e11b815260048101929092526024820152601760448201527f41413231206469646e2774207061792070726566756e640000000000000000006064820152608490fd5b61343791925060203d60201161343e575b61342f818361043d565b81019061325f565b9038613368565b503d613425565b6001600160a01b038716600090815260208190526040902090935054878111156134785750600084815b9491505061332c565b84600091890361346f565b6001600160a01b0316600090815260016020908152604080832084821c845290915290208054916001600160401b03916134bc8461153b565b9055161490565b91906040838203126103455782516001600160401b038111610345576020916134ed918501611907565b92015190565b60a09061051a9392815260606020820152600d60608201526c10504cccc81c995d995c9d1959609a1b608082015281604082015201906106f8565b929390915a815160e08101516001600160a01b031660008181526020819052604090209295909290919080548981106136705760206080600096948c96946135999c9d8995039055015196015191604051998a95869485936314add44b60e21b85526004850161326e565b03926001600160a01b031686f19384600091600096613649575b506135de57856135c161272a565b6040516365c8fd4d60e01b815291829161168891600484016134f3565b9491925a9003116135ec5750565b60408051631101335b60e11b815260048101929092526024820152602760448201527f41413336206f766572207061796d6173746572566572696669636174696f6e47606482015266185cd31a5b5a5d60ca1b608482015260a490fd5b90955061366991503d806000833e613661818361043d565b8101906134c3565b94386135b3565b60408051631101335b60e11b8152600481018b90526024810191909152601e60448201527f41413331207061796d6173746572206465706f73697420746f6f206c6f7700006064820152608490fd5b801561379b576000604080516136d481610406565b828152826020820152015265ffffffffffff8160a01c16801561378e575b613770906137576137096137146137098660d01c90565b65ffffffffffff1690565b9261372f61372061048f565b6001600160a01b039097168752565b6137456020870194859065ffffffffffff169052565b65ffffffffffff166040860181905290565b4211908115613773575b5091516001600160a01b031690565b91565b51613786915065ffffffffffff16613709565b421038613761565b5065ffffffffffff6136f2565b50600090600090565b816040519182372090565b9091826014116103455781359183602411610345576014810135936034116103455760609290921c92608090811c9260240135901c90565b90816020910312610345575161051a8161051d565b91602061051a9381815201916117c0565b9290918161381c575b50505050565b8251516001600160a01b031693843b613a2a5760065460009060209061384a906001600160a01b03166122cc565b60408751015160405180948193632b870d1b60e11b8352826138708b8b600484016137fc565b0393f1908115612160576000916139fb575b506001600160a01b0381169586156139ac576001600160a01b03169586900361395d573b15613910575061264b6126457fd51a9c61267aa6196961883ecf5ff2da6619c37dac0fa92122513fb32c032d2d936138dd93612521565b602083810151935160e00151604080516001600160a01b039485168152939091169183019190915290a338808080613816565b60408051631101335b60e11b815260048101929092526024820152602060448201527f4141313520696e6974436f6465206d757374206372656174652073656e6465726064820152608490fd5b60408051631101335b60e11b8152600481018490526024810191909152602060448201527f4141313420696e6974436f6465206d7573742072657475726e2073656e6465726064820152608490fd5b60408051631101335b60e11b8152600481018590526024810191909152601b60448201527f4141313320696e6974436f6465206661696c6564206f72204f4f4700000000006064820152608490fd5b613a1d915060203d602011613a23575b613a15818361043d565b8101906137e7565b38613882565b503d613a0b565b60408051631101335b60e11b815260048101929092526024820152601f60448201527f414131302073656e64657220616c726561647920636f6e7374727563746564006064820152608490fdfea2646970667358221220af63887b732ddd2c530515d4b00dd3d2fcb014ee67b90ea50bdd87f39115ef4c64736f6c634300081a00336080806040523460155761016d908161001b8239f35b600080fdfe6080600436101561000f57600080fd5b60003560e01c63570e1a361461002457600080fd5b346101325760203660031901126101325760043567ffffffffffffffff8111610132573660238201121561013257806004013567ffffffffffffffff8111610132573660248284010111610132576000928160141161012e5760131982019167ffffffffffffffff831161011a57600b8101601f19908116603f0116820167ffffffffffffffff8111838210176101065760246020959387600c819795829560405286845289840196603889018837830101525193013560601c5af1905190156100fe575b6040516001600160a01b039091168152602090f35b5060006100e9565b634e487b7160e01b86526041600452602486fd5b634e487b7160e01b85526041600452602485fd5b8380fd5b600080fdfea26469706673582212208d3d15f1a1651d00f2ed3b618a50717a7de16a758bd696cf961337d90cc7bf3764736f6c634300081a0033" + "0x000000000000000000000000000000000000000000000000000000000000000060808060405234608257613b828181016001600160401b03811183821017606c5782916103ff833903906000f08015606057600080546001600160a01b0319166001600160a01b039290921691909117905560405161037790816100888239f35b6040513d6000823e3d90fd5b634e487b7160e01b600052604160045260246000fd5b600080fdfe6080604052600436101561001257600080fd5b60003560e01c63c18f52261461002757600080fd5b34610281576040366003190112610281576004356001600160a01b038116908190036102815760243567ffffffffffffffff81116102815736602382011215610281578060040135610078816102be565b91610086604051938461029c565b8183526024602084019260051b820101903682116102815760248101925b82841061020957845185876100b8836102be565b926100c6604051948561029c565b8084526100d5601f19916102be565b0160005b8181106101f857505060005b825181101561019057600190606060008061013b858060a01b0382541661014961010f878b610317565b51604051938491602083019463428557b160e11b865260248401526040604484015260648301906102d6565b03601f19810184528361029c565b82885a935193f115610172575b6101608287610317565b5261016b8186610317565b50016100e5565b503d604051906020818301016040528082526000602083013e610156565b836040518091602082016020835281518091526040830190602060408260051b8601019301916000905b8282106101c957505050500390f35b919360019193955060206101e88192603f198a820301865288516102d6565b96019201920185949391926101ba565b8060606020809388010152016100d9565b833567ffffffffffffffff8111610281578201366043820112156102815760248101359167ffffffffffffffff831161028657604051610253601f8501601f19166020018261029c565b83815236604484860101116102815760006020858196604483970183860137830101528152019301926100a4565b600080fd5b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff82111761028657604052565b67ffffffffffffffff81116102865760051b60200190565b919082519283825260005b848110610302575050826000602080949584010152601f8019910116010190565b806020809284010151828286010152016102e1565b805182101561032b5760209160051b010190565b634e487b7160e01b600052603260045260246000fdfea26469706673582212201244199039b2b0a6d5a53b57f2e9cb9758351b7b37d051717a76d47613efe56164736f6c634300081a003360c080604052346100cc5760016002556101888181016001600160401b038111838210176100b65782916139fa833903906000f080156100aa576080523060a0526100486100d1565b600081526020810190600082528060206100606100d1565b600081520152600380546001600160a01b0319169055516004555160055560405161390990816100f1823960805181505060a0518181816108ef01528181611d3c0152611eb30152f35b6040513d6000823e3d90fd5b634e487b7160e01b600052604160045260246000fd5b600080fd5b60408051919082016001600160401b038111838210176100b65760405256fe60806040526004361015610023575b361561001957600080fd5b610021612477565b005b60003560e01c80630396cb60146101835780630bd28e3b1461017e5780630da82661146101795780630dbfc6bd146101745780630f019dea1461016f5780631b2e01b81461016a578063205c28781461016557806322cdde4c14610160578063263934db1461015b57806330ec25d11461015657806335567e1a14610151578063444034731461014c5780635287ce12146101475780635787f48b146101425780635895273b1461013d57806370a0823114610138578063b760faf914610133578063bb9fe6bf1461012e578063c23a5cea14610129578063c3bce00914610124578063fc7e286d1461011f5763fe2171cb0361000e576112fc565b611271565b611244565b611142565b611040565b611015565b610fd8565b610fa3565b610f1e565b610de0565b610d71565b610d08565b610c8a565b610b7c565b610b5c565b610a3e565b6109db565b61083d565b610779565b610554565b610360565b60203660031901126103455760043563ffffffff811690818103610345576103407fa5ae833d0bb1dcd632d98a8b70973e8516812898e19bf27b70071ebc8dc52c01916103226102436102336101eb3360018060a01b03166000526000602052604060002090565b966101f7811515611351565b61022460018901549161021d6102148463ffffffff9060781c1690565b63ffffffff1690565b111561139d565b60081c6001600160701b031690565b6001600160701b0334911661141c565b9461024f861515611429565b6102626001600160701b0387111561146a565b5461026b61045e565b908152600160208201526001600160701b038616604082015263ffffffff8316606082015260006080820181905233815260208190526040902081518155602082015160019091018054604084015160608501516080909501516001600160c81b031990921660ff941515949094169390931760089390931b6effffffffffffffffffffffffffff00169290921760789390931b63ffffffff60781b169290921760989190911b65ffffffffffff60981b16179055565b6040805194855263ffffffff90911660208501523393918291820190565b0390a2005b600080fd5b602435906001600160c01b038216820361034557565b34610345576020366003190112610345576004356001600160c01b0381168103610345573360009081526001602090815260408083206001600160c01b039094168352929052206103b181546114a7565b9055005b634e487b7160e01b600052604160045260246000fd5b60a081019081106001600160401b038211176103e657604052565b6103b5565b604081019081106001600160401b038211176103e657604052565b606081019081106001600160401b038211176103e657604052565b61014081019081106001600160401b038211176103e657604052565b90601f801991011681019081106001600160401b038211176103e657604052565b6040519061046d60a08361043d565b565b6040519061046d6101408361043d565b6040519061046d60608361043d565b6040519061046d6101008361043d565b6040519061046d60408361043d565b6001600160401b0381116103e657601f01601f191660200190565b9291926104d4826104ad565b916104e2604051938461043d565b829481845281830111610345578281602093846000960137010152565b9080601f830112156103455781602061051a933591016104c8565b90565b6001600160a01b0381160361034557565b6024359061046d8261051d565b610104359061046d8261051d565b359061046d8261051d565b3461034557610220366003190112610345576004356001600160401b038111610345576105859036906004016104ff565b3660231901906101c0821261034557610140604051926105a4846103cb565b12610345576105b161046f565b6105b961052e565b815260443560208201526064356040820152608435606082015260a435608082015260c43560a082015260e43560c08201526105f361053b565b60e0820152610124356101008201526101443561012082015282526101643560208301526101843560408301526101a43560608301526101c43560808301526101e435916001600160401b038311610345576106566106619336906004016104ff565b9061020435926114cd565b60408051928352602083019190915290f35b0390f35b9181601f84011215610345578235916001600160401b038311610345576020808501948460051b01011161034557565b602060031982011261034557600435906001600160401b038211610345576106d191600401610677565b9091565b60005b8381106106e85750506000910152565b81810151838201526020016106d8565b90602091610711815180928185528580860191016106d5565b601f01601f1916010190565b9061010060e061051a93805184526020810151602085015260408101516040850152606081015160608501526080810151608085015260a081015160a085015260c0810151151560c08501520151918160e082015201906106f8565b346103455761079061078a366106a7565b9061170f565b6040518091602082016020835281518091526040830190602060408260051b8601019301916000905b8282106107c857505050500390f35b919360019193955060206107e78192603f198a8203018652885161071d565b96019201920185949391926107b9565b9181601f84011215610345578235916001600160401b038311610345576020838186019501011161034557565b60409061051a93921515815281602082015201906106f8565b346103455760803660031901126103455760043561085a8161051d565b6024356108668161051d565b6044356001600160401b038111610345576108859036906004016107f7565b926108c0606435936108b2600095606097604051968794634440347360e01b602087015260248601611777565b03601f19810184528361043d565b6001600160a01b0316803b156103455760405163428557b160e11b8152916000918391829084908290610920907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316600484016117a2565b03925af190816109c0575b506109bb57505061093a6117e5565b61094c6109478251611815565b61185c565b9060045b815181101561099557806109776109696001938561188e565b516001600160f81b03191690565b61098e61098383611815565b9160001a918661188e565b5301610950565b50506109aa90602080825183010191016118e1565b905b61067360405192839283610824565b6109ac565b806109cf60006109d59361043d565b80611035565b3861092b565b34610345576040366003190112610345576020610a356004356109fd8161051d565b610a0561034a565b6001600160a01b0390911660009081526001845260408082206001600160c01b0390931682526020929092522090565b54604051908152f35b3461034557604036600319011261034557600435610a5b8161051d565b602435336000526000602052604060002091825492838311610ae3576000808481948294610a8c610021988a611833565b9055604080516001600160a01b03831681526020810184905233917fd1c19fbcd4551a5edfb66d43d2e337c04837afda3482b42bdf569a8fccdae5fb91a26001600160a01b03165af1610add6117e5565b50611917565b60405162461bcd60e51b815260206004820152601960248201527f576974686472617720616d6f756e7420746f6f206c61726765000000000000006044820152606490fd5b602060031982011261034557600435906001600160401b038211610345576101209082900360031901126103455760040190565b34610345576020610b74610b6f36610b28565b611958565b604051908152f35b3461034557610673610bbd610bb1610bb7610b96366106a7565b809391610ba161160f565b50610bab82611663565b5061170f565b91611824565b906116fb565b5160405191829160208352602083019061071d565b9061051a9060e06080610c24818651610140865280516101408701526020810151610160870152604081015161018087015260608101516101a0870152015160a06101c08601526101e08501906106f8565b60208087015180518683015201516040850152946040810151805160608601526020015160808501526060810151805160a08601526020015160c0850152015191019080516001600160a01b031682526020908101518051828401520151604090910152565b3461034557610ca1610c9b366106a7565b90611ae9565b6040518091602082016020835281518091526040830190602060408260051b8601019301916000905b828210610cd957505050500390f35b91936001919395506020610cf88192603f198a82030186528851610bd2565b9601920192018594939192610cca565b34610345576040366003190112610345576020600435610d278161051d565b610d2f61034a565b6001600160a01b0390911660009081526001835260408082206001600160c01b03841683526020529020546040805192901b67ffffffffffffffff1916178152f35b3461034557606036600319011261034557600435610d8e8161051d565b6024356001600160401b0381116103455760009182610db2819336906004016107f7565b9190926044359383604051948592833781018381520393f1610dd26117e5565b9015610dda57005b60208101fd5b3461034557602036600319011261034557600435610dfd8161051d565b60006080604051610e0d816103cb565b828152826020820152826040820152826060820152015260018060a01b031660005260006020526106736040600020610e9c65ffffffffffff600160405193610e55856103cb565b80548552015460ff8116151560208501526001600160701b038160081c16604085015263ffffffff8160781c16606085015260981c16608083019065ffffffffffff169052565b60405191829182919091608065ffffffffffff8160a0840195805185526020810151151560208601526001600160701b03604082015116604086015263ffffffff6060820151166060860152015116910152565b6080604061051a936020845280516020850152602081015115158285015201519160608082015201906106f8565b346103455760c0366003190112610345576004356001600160401b03811161034557610f4e903690600401610677565b906024356001600160401b03811161034557606060031982360301126103455761067392610f9792604435610f828161051d565b606435916084359360a4359560040191611c9e565b60405191829182610ef0565b3461034557610673610fc4610fb736610b28565b610fbf61160f565b611ffd565b60405191829160208352602083019061071d565b3461034557602036600319011261034557600435610ff58161051d565b60018060a01b031660005260006020526020604060002054604051908152f35b6020366003190112610345576100216004356110308161051d565b6120ae565b600091031261034557565b34610345576000366003190112610345573360005260006020526001604060002001805463ffffffff8160781c1615611110576110ac61109e6102148361109261108d6110d39660ff1690565b612104565b60781c63ffffffff1690565b65ffffffffffff4216612144565b825460ff65ffffffffffff60981b01191665ffffffffffff60981b609883901b1617909255565b60405165ffffffffffff909116815233907ffa9b3c14cc825c412c9ed81b3ba365a5b459439403f18829e572ed53a4180f0a908060208101610340565b60405162461bcd60e51b815260206004820152600a6024820152691b9bdd081cdd185ad95960b21b6044820152606490fd5b346103455760203660031901126103455761002160008080806004356111678161051d565b336000908152602081905260409020600101906111ef8254926111de65ffffffffffff6111ca6111b06111a4886001600160701b039060081c1690565b6001600160701b031690565b966111bc881515612162565b60981c65ffffffffffff1690565b166111d68115156121a5565b4210156121f1565b8054610100600160c81b0319169055565b604080516001600160a01b03831681526020810184905233917fb7c918e0e249f999e965cafeb6c664271b3f4317d296461500e71da39f0cbda391a26001600160a01b03165af161123e6117e5565b5061223d565b346103455761067361125d61125836610b28565b612311565b604051918291602083526020830190610bd2565b346103455760203660031901126103455760043561128e8161051d565b6001600160a01b031660009081526020818152604091829020805460019190910154835191825260ff8116151592820192909252600882901c6001600160701b031692810192909252607881901c63ffffffff16606083015260981c65ffffffffffff16608082015260a090f35b346103455761131e61130d366106a7565b809291611318611a62565b50611ae9565b600019820191821161134c5761067391611337916116fb565b51604051918291602083526020830190610bd2565b6113e9565b1561135857565b60405162461bcd60e51b815260206004820152601a60248201527f6d757374207370656369667920756e7374616b652064656c61790000000000006044820152606490fd5b156113a457565b60405162461bcd60e51b815260206004820152601c60248201527f63616e6e6f7420646563726561736520756e7374616b652074696d65000000006044820152606490fd5b634e487b7160e01b600052601160045260246000fd5b90611388820180921161134c57565b906001820180921161134c57565b9190820180921161134c57565b1561143057565b60405162461bcd60e51b81526020600482015260126024820152711b9bc81cdd185ad9481cdc1958da599a595960721b6044820152606490fd5b1561147157565b60405162461bcd60e51b815260206004820152600e60248201526d7374616b65206f766572666c6f7760901b6044820152606490fd5b600019811461134c5760010190565b60409061051a9392815281602082015201906106f8565b91908051936060850151946114e5603f5a0260061c90565b61271060a0830151880101116115b3576106d1956000958051611515575b5050505a900360808201510192612512565b82516115339261152f9290916001600160a01b0316612480565b1590565b61153f575b8080611503565b90935061154a612492565b805161155c575b505060019238611538565b602083810151835193909101516040516001600160a01b039094169391927f1c4fada7374c0a9ee8841fc38afe82932dc0f8e69012e927f061a8bae611a201929182916115a991836114b6565b0390a33880611551565b60408051631101335b60e11b8152600060048201526024810191909152600f60448201526e41413935206f7574206f662067617360881b6064820152608490fd5b0390fd5b6001600160401b0381116103e65760051b60200190565b6040519061010082018281106001600160401b038211176103e657604052606060e08360008152600060208201526000604082015260008382015260006080820152600060a0820152600060c08201520152565b9061166d826115f8565b61167a604051918261043d565b828152809261168b601f19916115f8565b019060005b82811061169c57505050565b6020906116a761160f565b82828501015201611690565b634e487b7160e01b600052603260045260246000fd5b90359061011e1981360301821215610345570190565b908210156116f65761051a9160051b8101906116c9565b6116b3565b80518210156116f65760209160051b010190565b61171882611663565b9160005b8181106117295750505090565b8061173a610fb760019385876116df565b61174482876116fb565b5261174f81866116fb565b500161171c565b908060209392818452848401376000828201840152601f01601f1916010190565b9493929160409261179d9260018060a01b03168752606060208801526060870191611756565b930152565b6001600160a01b03909116815260406020820181905261051a929101906106f8565b6040513d6000823e3d90fd5b604051906117df60208361043d565b60008252565b3d15611810573d906117f6826104ad565b91611804604051938461043d565b82523d6000602084013e565b606090565b60031981019190821161134c57565b60001981019190821161134c57565b9190820391821161134c57565b6040519061184f60208361043d565b6000808352366020840137565b90611866826104ad565b611873604051918261043d565b8281528092611884601f19916104ad565b0190602036910137565b9081518110156116f6570160200190565b81601f820112156103455780516118b5816104ad565b926118c3604051948561043d565b818452602082840101116103455761051a91602080850191016106d5565b9190916040818403126103455780518015158103610345579260208201516001600160401b0381116103455761051a920161189f565b1561191e57565b60405162461bcd60e51b81526020600482015260126024820152716661696c656420746f20776974686472617760701b6044820152606490fd5b6020810135611a1a61196d6040840184611c3b565b90816040519182372091611a0c6119876060860186611c3b565b90816040519182372060c086013560a087013560808801356119b56119af60e08b018b611c3b565b90613600565b604080519a356001600160a01b031660208c01908152908b019790975260608a0198909852608089019390935260a088019290925260c087019190915260e086015261010085019390935292918290610120820190565b03601f19810183528261043d565b51902060408051602081019283523091810191909152466060820152611a438160808101611a0c565b51902090565b60405190611a56826103eb565b60006020838281520152565b60405190611a6f826103cb565b81604051611a7c816103cb565b60008152600060208201526000604082015260006060820152606060808201528152611aa6611a49565b6020820152611ab3611a49565b6040820152611ac0611a49565b6060820152608060405191611ad4836103eb565b60008352611ae0611a49565b60208401520152565b611af2826115f8565b91611b00604051938461043d565b808352601f19611b0f826115f8565b0160005b818110611b5957505060005b818110611b2c5750505090565b80611b3d61125860019385876116df565b611b4782876116fb565b52611b5281866116fb565b5001611b1f565b602090611b64611a62565b82828801015201611b13565b908092918237016000815290565b60405190611b8b82610406565b606060408360008152600060208201520152565b60405190611bac826103cb565b6000608083604051611bbd81610421565b83815283602082015283604082015283606082015283838201528360a08201528360c08201528360e0820152836101008201528361012082015281528260208201528260408201528260608201520152565b91908110156116f65760051b81013590605e1981360301821215610345570190565b3561051a8161051d565b903590601e198136030182121561034557018035906001600160401b0382116103455760200191813603831361034557565b6001600160a01b039182168152911660208201526080604082018190529093929160609161179d91908601906106f8565b9694969591939295611cae611b7e565b5060005b828110611f5a57505050611cc683806116c9565b93611d06611cee611ce7611cdc60208801611c31565b966040810190611c3b565b36916104c8565b95611cf7611b9f565b90611d0181612735565b612846565b5050506001600160a01b03841615611f2f5760008315611e875750600190611d3a611d2f6117d0565b989291935b8561141c565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169881905b84611d738885611833565b10611e5c575a611d82886113ff565b11611e3c5791869593918a95938c8b611d9c858d9c61141c565b60011c9a8b996040519c8d938493630780cef560e11b85526004850193611dc294611c6d565b03815a6000948591f1988915611e3757600090819a611e11575b5015611dfc57505050611dee84611824565b95915b939092949591611d68565b93965094611e0b91975061140e565b94611df1565b90611e2f929a503d8091833e611e27818361043d565b8101906118e1565b989038611ddc565b6117c4565b637162685f60e11b60005260048290526024879052604483905260646000fd5b97509750509250509450611e7f9150611e7361047f565b93845215156020840152565b604082015290565b92505a9085848689611eae5a604051630780cef560e11b8152958694859460048601611c6d565b0381837f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af1908115611e3757858092611f08575b5050611efe611d3a9195935a90611833565b9498929193611d34565b611efe9650611d3a925090611f26913d8091833e611e27818361043d565b95909591611eec565b95505050505050611f3e611840565b611f4661047f565b906000825260006020830152604082015290565b600190611f65611b9f565b611f90611f73838787611c0f565b91611f86611f8184806116c9565b612735565b611d0183806116c9565b50505060208101611faf611fa382611c31565b6001600160a01b031690565b15611ff65760009182611fd0611fc58294611c31565b926040810190611c3b565b9190611fe160405180948193611b70565b03925af150611fee6117e5565b505b01611cb2565b5050611ff0565b50600280541461207d57600280556080612037612018611b9f565b9261202281612735565b8361202d8183612846565b9491929093612b2d565b94909501519461204561048e565b958652602086015260408501526060840152608083015260a0820152600060c082015261207061208e565b60e0820152906001600255565b633ee5aeb560e01b60005260046000fd5b6040519061209d60408361043d565b6002825261060f60f31b6020830152565b60015b600581106120fc57507f2da466a7b24304f47e87fa2e1e5a81b9831ce54fec19055ce277ca2f39ba42c460206120e73484612da4565b6040519081526001600160a01b0390931692a2565b6001016120b1565b1561210b57565b60405162461bcd60e51b8152602060048201526011602482015270616c726561647920756e7374616b696e6760781b6044820152606490fd5b9065ffffffffffff8091169116019065ffffffffffff821161134c57565b1561216957565b60405162461bcd60e51b81526020600482015260146024820152734e6f207374616b6520746f20776974686472617760601b6044820152606490fd5b156121ac57565b60405162461bcd60e51b815260206004820152601d60248201527f6d7573742063616c6c20756e6c6f636b5374616b6528292066697273740000006044820152606490fd5b156121f857565b60405162461bcd60e51b815260206004820152601b60248201527f5374616b65207769746864726177616c206973206e6f742064756500000000006044820152606490fd5b1561224457565b60405162461bcd60e51b815260206004820152601860248201527f6661696c656420746f207769746864726177207374616b6500000000000000006044820152606490fd5b906014116103455790601490565b356bffffffffffffffffffffffff198116929190601482106122b7575050565b6bffffffffffffffffffffffff1960149290920360031b82901b16169150565b604051906122e4826103eb565b6003546001600160a01b03168252604051602083612301836103eb565b6004548352600554828401520152565b612319611a62565b50612322611b9f565b9061232c81612735565b6123368282612846565b509190926123448385612bcc565b805160e00151612361906001600160a01b0316612d38565b612d38565b8151519092906123919061237d906001600160a01b0316612d38565b91612386611a49565b506040810190611c3b565b906014821061246b576123b36123ad6123b99361235c93612289565b90612297565b60601c90565b9160018060a01b0386169460808201519660606040840151930151926123dd61045e565b98895260208901526040880152606087015260808601526123fc6122d7565b9380151580612460575b61242e575b5061241461045e565b948552602085015260408401526060830152608082015290565b90935061243a81612d38565b61245461244561049e565b6001600160a01b039093168352565b6020820152923861240b565b506001811415612406565b50506123b96000612d38565b61046d336120ae565b9060009283809360208451940192f190565b3d61080081116124b7575b604051906020818301016040528082526000602083013e90565b5061080061249d565b600311156124ca57565b634e487b7160e01b600052602160045260246000fd5b909493929460038110156124ca576060926125089183526080602084015260808301906106f8565b9460408201520152565b9093916000935a9286519261252684612d7a565b60e085015190916001600160a01b0390911690818061260e57505084516001600160a01b03169050925b5a8603019360a060608201519101510190608089019182518603908181116125f9575b505084029160408901928351948186106000146125cf575050806125986002926124c0565b036125b457505061046d925080956125af81612e96565b612dcb565b9150915061046d925a90039051019051856125af8297612e96565b9061046d9750809a94506125e892935080950390612da4565b506125f2816124c0565b1590612e31565b9195916064919003600a020401933880612573565b9491815161261e575b5050612550565b612627856124c0565b600285031561261757919098505a9160a0870151813b156103455784600091878361266e958f60405197889687958693637c627b2160e01b8552828d0291600486016124e0565b0393f19081612708575b5061270157506020898101518a518051920151917ff62676f440ff169a3a9afdbf812e89e7f95975ee8e5c31214ffdef631c5f4792906001600160a01b03166126bf612492565b6040516001600160a01b039092169482916126da91836114b6565b0390a36126f35a870360808b01510180998b6002612512565b50505b5a9003963880612617565b97506126f6565b806109cf60006127179361043d565b38612678565b90604061051a926000815281602082015201906106f8565b6040516135a560f21b602082019081523060601b6022830152600160f81b6036830152601782526127be92919061276d60378361043d565b60018060a01b0391519020166bffffffffffffffffffffffff60a01b600654161760065561279e6040820182611c3b565b916127b66127ab82611c31565b9160e0810190611c3b565b939092612ed8565b80516127c75750565b604051631101335b60e11b81529081906115f4906004830161271d565b156127eb57565b60405162461bcd60e51b815260206004820152601860248201527f41413934206761732076616c756573206f766572666c6f7700000000000000006044820152606490fd5b9060738202918083046073149015171561134c57565b90916000915a9380519161285a8382612fe3565b61286381611958565b60208301526040830151956128af6effffffffffffffffffffffffffffff8860c08701511760608701511760808701511760a087015117610100870151176101208701511711156127e4565b6128da84610100604082015160608301510160808301510160a08301510160c0830151019101510290565b6128e8888286866000613127565b85519098906129099061152f906001600160a01b03166020890151906132df565b6129ea575a83031161299b576060905a60e096909601516001600160a01b0316612968575b61295c9360a061051a9794879460809460406129619a015260608601525a9003910135019101525a90611833565b612830565b6064900490565b965050928260808360a061051a976129898b6129619961295c99600061338a565b9b90959850935094975050935061292e565b60408051631101335b60e11b8152600060048201526024810191909152601e60448201527f41413236206f76657220766572696669636174696f6e4761734c696d697400006064820152608490fd5b60408051631101335b60e11b8152600060048201526024810191909152601a60448201527f4141323520696e76616c6964206163636f756e74206e6f6e63650000000000006064820152608490fd5b9035601e19823603018112156103455701602081359101916001600160401b03821161034557813603831361034557565b61051a91612a8881612a7b84610549565b6001600160a01b03169052565b60208201356020820152612b1e612b12612ad9612abe612aab6040870187612a39565b6101206040880152610120870191611756565b612acb6060870187612a39565b908683036060880152611756565b6080850135608085015260a085013560a085015260c085013560c0850152612b0460e0860186612a39565b9085830360e0870152611756565b92610100810190612a39565b91610100818503910152611756565b905a90606081015190612b436060850185611c3b565b600060038211612bc4575b6001600160e01b031916638dd7712f60e01b03612bb3575050612b9a612bae6106d1956020840151604051938492638dd7712f60e01b6020850152604060248501526064840190612a6a565b90604483015203601f19810183528261043d565b6114cd565b6106d1955090612bae9136916104c8565b508135612b4e565b612bd59061351b565b906001600160a01b0316612cf257612ca357612bf09061351b565b906001600160a01b0316612c5d57612c0457565b60408051631101335b60e11b8152600060048201526024810191909152602160448201527f41413332207061796d61737465722065787069726564206f72206e6f742064756064820152606560f81b608482015260a490fd5b60408051631101335b60e11b8152600060048201526024810191909152601460448201527320a0999a1039b4b3b730ba3ab9329032b93937b960611b6064820152608490fd5b60408051631101335b60e11b8152600060048201526024810191909152601760448201527f414132322065787069726564206f72206e6f74206475650000000000000000006064820152608490fd5b60408051631101335b60e11b8152600060048201526024810191909152601460448201527320a0991a1039b4b3b730ba3ab9329032b93937b960611b6064820152608490fd5b90612d41611a49565b9160018060a01b0316600052600060205263ffffffff6001604060002001546001600160701b038160081c16845260781c166020830152565b610120610100820151910151808214612da057480180821015612d9b575090565b905090565b5090565b60018060a01b031660005260006020526040600020805491820180921161134c5781905590565b9190917f49628fd1471006c1482da88028e9ce4dbb080b815c9b0344d39e5a8e6ec1419f6080602083015192519460018060a01b0386511694602060018060a01b0360e089015116970151916040519283526000602084015260408301526060820152a4565b9060807f49628fd1471006c1482da88028e9ce4dbb080b815c9b0344d39e5a8e6ec1419f91602084015193519560018060a01b0387511695602060018060a01b0360e08a015116980151926040519384521515602084015260408301526060820152a4565b60208101519051907f67b4fa9642f42120bf031f3051d1824b0fe25627945b27b8a6a65d5761d5482e60208060018060a01b03855116940151604051908152a3565b50929192159081612f8d575b50612f50576014811015612efd575b505061051a6117d0565b601411610345573560601c3b15612f15573880612ef3565b604051612f2360408261043d565b601b81527f41413330207061796d6173746572206e6f74206465706c6f7965640000000000602082015290565b5050604051612f6060408261043d565b601981527f41413230206163636f756e74206e6f74206465706c6f79656400000000000000602082015290565b90503b1538612ee4565b15612f9e57565b60405162461bcd60e51b815260206004820152601d60248201527f4141393320696e76616c6964207061796d6173746572416e64446174610000006044820152606490fd5b61306890613000612ff382611c31565b6001600160a01b03168452565b602081013560208401526130246080820135906001600160801b038260801c921690565b6060850152604084015260a081013560c084015261305260c0820135906001600160801b038260801c921690565b61010085015261012084015260e0810190611c3b565b9081156130a45761308c8260e092613087603461046d97961015612f97565b61360b565b60a085015260808401526001600160a01b0316910152565b505060a081600060e0819401528260808201520152565b90816020910312610345575190565b6130e260409295949395606083526060830190612a6a565b9460208201520152565b60a09061051a9392815260606020820152600d60608201526c10504c8cc81c995d995c9d1959609a1b608082015281604082015201906106f8565b949291939060206131ad9186519361317360e061314a875160018060a01b031690565b966131658b8d61315d6040890189611c3b565b929091613669565b01516001600160a01b031690565b6001600160a01b0316159760009290896132a1575b8401516040516306608bdf60e21b8152958694859360009385939291600485016130ca565b03926001600160a01b03881690f160009181613270575b506131ef57856131d2612492565b6040516365c8fd4d60e01b81529182916115f491600484016130ec565b9492936131fb57505050565b6001600160a01b03166000908152602081905260409020918254908183116132235750039055565b60408051631101335b60e11b815260048101929092526024820152601760448201527f41413231206469646e2774207061792070726566756e640000000000000000006064820152608490fd5b61329391925060203d60201161329a575b61328b818361043d565b8101906130bb565b90386131c4565b503d613281565b6001600160a01b038716600090815260208190526040902090935054878111156132d45750600084815b94915050613188565b8460009189036132cb565b6001600160a01b0316600090815260016020908152604080832084821c845290915290208054916001600160401b0391613318846114a7565b9055161490565b91906040838203126103455782516001600160401b0381116103455760209161334991850161189f565b92015190565b60a09061051a9392815260606020820152600d60608201526c10504cccc81c995d995c9d1959609a1b608082015281604082015201906106f8565b929390915a815160e08101516001600160a01b031660008181526020819052604090209295909290919080548981106134cc5760206080600096948c96946133f59c9d8995039055015196015191604051998a95869485936314add44b60e21b8552600485016130ca565b03926001600160a01b031686f193846000916000966134a5575b5061343a578561341d612492565b6040516365c8fd4d60e01b81529182916115f4916004840161334f565b9491925a9003116134485750565b60408051631101335b60e11b815260048101929092526024820152602760448201527f41413336206f766572207061796d6173746572566572696669636174696f6e47606482015266185cd31a5b5a5d60ca1b608482015260a490fd5b9095506134c591503d806000833e6134bd818361043d565b81019061331f565b943861340f565b60408051631101335b60e11b8152600481018b90526024810191909152601e60448201527f41413331207061796d6173746572206465706f73697420746f6f206c6f7700006064820152608490fd5b80156135f75760006040805161353081610406565b828152826020820152015265ffffffffffff8160a01c1680156135ea575b6135cc906135b36135656135706135658660d01c90565b65ffffffffffff1690565b9261358b61357c61047f565b6001600160a01b039097168752565b6135a16020870194859065ffffffffffff169052565b65ffffffffffff166040860181905290565b42119081156135cf575b5091516001600160a01b031690565b91565b516135e2915065ffffffffffff16613565565b4210386135bd565b5065ffffffffffff61354e565b50600090600090565b816040519182372090565b9091826014116103455781359183602411610345576014810135936034116103455760609290921c92608090811c9260240135901c90565b90816020910312610345575161051a8161051d565b91602061051a938181520191611756565b92909181613678575b50505050565b8251516001600160a01b031693843b613886576006546000906020906136a6906001600160a01b0316611fa3565b60408751015160405180948193632b870d1b60e11b8352826136cc8b8b60048401613658565b0393f1908115611e3757600091613857575b506001600160a01b038116958615613808576001600160a01b0316958690036137b9573b1561376c57506123b36123ad7fd51a9c61267aa6196961883ecf5ff2da6619c37dac0fa92122513fb32c032d2d9361373993612289565b602083810151935160e00151604080516001600160a01b039485168152939091169183019190915290a338808080613672565b60408051631101335b60e11b815260048101929092526024820152602060448201527f4141313520696e6974436f6465206d757374206372656174652073656e6465726064820152608490fd5b60408051631101335b60e11b8152600481018490526024810191909152602060448201527f4141313420696e6974436f6465206d7573742072657475726e2073656e6465726064820152608490fd5b60408051631101335b60e11b8152600481018590526024810191909152601b60448201527f4141313320696e6974436f6465206661696c6564206f72204f4f4700000000006064820152608490fd5b613879915060203d60201161387f575b613871818361043d565b810190613643565b386136de565b503d613867565b60408051631101335b60e11b815260048101929092526024820152601f60448201527f414131302073656e64657220616c726561647920636f6e7374727563746564006064820152608490fdfea2646970667358221220410dc6bd44472a2709fd674311474a749918a8c3dd38c8e316e19d5ae2faaadf64736f6c634300081a00336080806040523460155761016d908161001b8239f35b600080fdfe6080600436101561000f57600080fd5b60003560e01c63570e1a361461002457600080fd5b346101325760203660031901126101325760043567ffffffffffffffff8111610132573660238201121561013257806004013567ffffffffffffffff8111610132573660248284010111610132576000928160141161012e5760131982019167ffffffffffffffff831161011a57600b8101601f19908116603f0116820167ffffffffffffffff8111838210176101065760246020959387600c819795829560405286845289840196603889018837830101525193013560601c5af1905190156100fe575b6040516001600160a01b039091168152602090f35b5060006100e9565b634e487b7160e01b86526041600452602486fd5b634e487b7160e01b85526041600452602485fd5b8380fd5b600080fdfea26469706673582212208d3d15f1a1651d00f2ed3b618a50717a7de16a758bd696cf961337d90cc7bf3764736f6c634300081a0033" /* ========= V06 CORE ========= */ diff --git a/test/e2e/deploy-contracts/index.ts b/test/e2e/deploy-contracts/index.ts index 3b8fdeed..94fb7227 100644 --- a/test/e2e/deploy-contracts/index.ts +++ b/test/e2e/deploy-contracts/index.ts @@ -223,7 +223,7 @@ const main = async () => { "0x4e59b44847b379578588920ca78fbf26c0b4956c", "0x0000000071727De22E5E9d8BAf0edAc6f37da032", "0x91E60e0613810449d098b0b5Ec8b51A0FE8c8985", - "0xe1eFD6f041c128B23527b7398c29a94C98554763", // 0.7 Simulations Contract + "0xAE6035bEE0802C969265C8A3193CE8878c99A66A", // 0.7 Simulations Contract BUNDLE_BULKER_ADDRESS, PER_OP_INFLATOR_ADDRESS, SIMPLE_INFLATOR_ADDRESS