{"abi":[{"type":"constructor","inputs":[{"name":"params","type":"tuple","internalType":"struct RouterParameters","components":[{"name":"permit2","type":"address","internalType":"address"},{"name":"weth9","type":"address","internalType":"address"},{"name":"v2Factory","type":"address","internalType":"address"},{"name":"v3Factory","type":"address","internalType":"address"},{"name":"pairInitCodeHash","type":"bytes32","internalType":"bytes32"},{"name":"poolInitCodeHash","type":"bytes32","internalType":"bytes32"},{"name":"v4PoolManager","type":"address","internalType":"address"},{"name":"v3NFTPositionManager","type":"address","internalType":"address"},{"name":"v4PositionManager","type":"address","internalType":"address"}]}],"stateMutability":"nonpayable"},{"type":"receive","stateMutability":"payable"},{"type":"function","name":"V3_POSITION_MANAGER","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract INonfungiblePositionManager"}],"stateMutability":"view"},{"type":"function","name":"V4_POSITION_MANAGER","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IPositionManager"}],"stateMutability":"view"},{"type":"function","name":"execute","inputs":[{"name":"commands","type":"bytes","internalType":"bytes"},{"name":"inputs","type":"bytes[]","internalType":"bytes[]"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"execute","inputs":[{"name":"commands","type":"bytes","internalType":"bytes"},{"name":"inputs","type":"bytes[]","internalType":"bytes[]"},{"name":"deadline","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"msgSender","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"poolManager","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IPoolManager"}],"stateMutability":"view"},{"type":"function","name":"uniswapV3SwapCallback","inputs":[{"name":"amount0Delta","type":"int256","internalType":"int256"},{"name":"amount1Delta","type":"int256","internalType":"int256"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unlockCallback","inputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"nonpayable"},{"type":"error","name":"BalanceTooLow","inputs":[]},{"type":"error","name":"ContractLocked","inputs":[]},{"type":"error","name":"DeltaNotNegative","inputs":[{"name":"currency","type":"address","internalType":"Currency"}]},{"type":"error","name":"DeltaNotPositive","inputs":[{"name":"currency","type":"address","internalType":"Currency"}]},{"type":"error","name":"ETHNotAccepted","inputs":[]},{"type":"error","name":"ExecutionFailed","inputs":[{"name":"commandIndex","type":"uint256","internalType":"uint256"},{"name":"message","type":"bytes","internalType":"bytes"}]},{"type":"error","name":"FromAddressIsNotOwner","inputs":[]},{"type":"error","name":"InputLengthMismatch","inputs":[]},{"type":"error","name":"InsufficientBalance","inputs":[]},{"type":"error","name":"InsufficientETH","inputs":[]},{"type":"error","name":"InsufficientToken","inputs":[]},{"type":"error","name":"InvalidAction","inputs":[{"name":"action","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"InvalidBips","inputs":[]},{"type":"error","name":"InvalidCommandType","inputs":[{"name":"commandType","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"InvalidEthSender","inputs":[]},{"type":"error","name":"InvalidPath","inputs":[]},{"type":"error","name":"InvalidReserves","inputs":[]},{"type":"error","name":"LengthMismatch","inputs":[]},{"type":"error","name":"NotAuthorizedForToken","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"NotPoolManager","inputs":[]},{"type":"error","name":"OnlyMintAllowed","inputs":[]},{"type":"error","name":"SliceOutOfBounds","inputs":[]},{"type":"error","name":"TransactionDeadlinePassed","inputs":[]},{"type":"error","name":"UnsafeCast","inputs":[]},{"type":"error","name":"UnsupportedAction","inputs":[{"name":"action","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"V2InvalidPath","inputs":[]},{"type":"error","name":"V2TooLittleReceived","inputs":[]},{"type":"error","name":"V2TooMuchRequested","inputs":[]},{"type":"error","name":"V3InvalidAmountOut","inputs":[]},{"type":"error","name":"V3InvalidCaller","inputs":[]},{"type":"error","name":"V3InvalidSwap","inputs":[]},{"type":"error","name":"V3TooLittleReceived","inputs":[]},{"type":"error","name":"V3TooMuchRequested","inputs":[]},{"type":"error","name":"V4TooLittleReceived","inputs":[{"name":"minAmountOutReceived","type":"uint256","internalType":"uint256"},{"name":"amountReceived","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"V4TooMuchRequested","inputs":[{"name":"maxAmountInRequested","type":"uint256","internalType":"uint256"},{"name":"amountRequested","type":"uint256","internalType":"uint256"}]}],"bytecode":{"object":"0x6101a0604052346102d657604051601f614f6238819003918201601f19168301916001600160401b038311848410176102c257808492610120946040528339810103126102d6576040519061012082016001600160401b038111838210176102c25760405261006d816102f9565b825261007b602082016102f9565b6020830190815261008e604083016102f9565b604084019081526100a1606084016102f9565b93606081019485526080840151946080820195865260a08501519560a083019687526100cf60c087016102f9565b9660c084019788526100f66101006100e960e08a016102f9565b988960e0880152016102f9565b97886101008601526101066102da565b6001600160a01b03988916815298881660208a0190815290519451965190989796871696908116959416936101396102da565b968752602087019586525192519151905160405190936001600160a01b0393841693169060808101906001600160401b038211818310176102c257604091825282815260208101948552808201938452606001948552608091909152905160a05290516001600160a01b0390811660c052915160e052610100929092529151821661012052915181166101405291518216610160529151166101805251614c54908161030e82396080518181816115d90152818161182701526137e4015260a0518181816115b80152818161184901526137c3015260c05181612ee6015260e05181612f39015261010051818181609e01528181610449015281816105b1015281816123240152818161288d0152818161431b015281816143ac015281816144b4015281816146350152614a45015261012051818181602f01528181611cb40152611e270152610140518181816112450152818161206201526133610152610160518181816106e301528181612458015261255101526101805181818161052701526129860152f35b634e487b7160e01b5f52604160045260245ffd5b5f80fd5b60408051919082016001600160401b038111838210176102c257604052565b51906001600160a01b03821682036102d65756fe60c060405260043610156100c6575b3615610018575f80fd5b73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001633141580610086575b61005e57005b7f38bbd576000000000000000000000000000000000000000000000000000000005f5260045ffd5b5073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016331415610058565b5f3560e01c806324856bc3146108685780633593564c14610707578063817122dc1461069957806391dd73461461054b578063d0c9f6cb146104dd578063d737d0c71461046d578063dc4c90d3146103ff5763fa461e330361000e57346102e05760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e05760243560043560443567ffffffffffffffff81116102e057610177903690600401610942565b5f8313918215806103f5575b6103cd578181016040828203126102e057813567ffffffffffffffff81116102e057820181601f820112156102e05780356101bd81612c69565b926101cb6040519485612c28565b818452602082840101116102e0575f928160208094018483013701015260208101359173ffffffffffffffffffffffffffffffffffffffff83168093036102e05761021591612e12565b90601790602b83106103a5578035968760601c9561024362ffffff8585013560601c9a60481c168a89612e65565b73ffffffffffffffffffffffffffffffffffffffff3391160361037d571561037357508685105b156102805750505061027e93503391612f86565b005b91935091939482602b0180602b116103465784106102e457508282116102e05781019103907f80000000000000000000000000000000000000000000000000000000000000008410156102e05761027e936102db3391612ca3565b613018565b5f80fd5b925050507faf28d9864a81dfdf71cab65f4e5d79a0cf9b083905fb8971425e6cb581b3f6929291925c821161031e5761027e923391612f86565b7f739dbe52000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b955084871061026a565b7f32b13d91000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f3b99b53d000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f316cf0eb000000000000000000000000000000000000000000000000000000005f5260045ffd5b505f851315610183565b346102e0575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e057602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b346102e0575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e05760207f0e87e1788ebd9ed6a7e63c70a374cd3283e41cad601d21fbe27863899ed4a7085c73ffffffffffffffffffffffffffffffffffffffff60405191168152f35b346102e0575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e057602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b346102e05760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e05760043567ffffffffffffffff81116102e05761059a903690600401610942565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163303610671576105e091613404565b90818303610649575f5b83811061061d57610619604051610602602082612c28565b5f81526040519182916020835260208301906109a1565b0390f35b8061064361062e60019387896109e4565b3560f81c61063d838787610a6e565b91613ac3565b016105ea565b7faaad13f7000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fae18210a000000000000000000000000000000000000000000000000000000005f5260045ffd5b346102e0575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e057602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b60607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e05760043567ffffffffffffffff81116102e057610751903690600401610942565b60243567ffffffffffffffff81116102e057610771903690600401610970565b916044354211610840573330146108375773ffffffffffffffffffffffffffffffffffffffff7f0e87e1788ebd9ed6a7e63c70a374cd3283e41cad601d21fbe27863899ed4a7085c1661080f576107ea93337f0e87e1788ebd9ed6a7e63c70a374cd3283e41cad601d21fbe27863899ed4a7085d610a89565b5f7f0e87e1788ebd9ed6a7e63c70a374cd3283e41cad601d21fbe27863899ed4a7085d005b7f6f5ffb7e000000000000000000000000000000000000000000000000000000005f5260045ffd5b61027e93610a89565b7f5bf6f916000000000000000000000000000000000000000000000000000000005f5260045ffd5b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e05760043567ffffffffffffffff81116102e0576108b2903690600401610942565b60243567ffffffffffffffff81116102e0576108d2903690600401610970565b913330146108375773ffffffffffffffffffffffffffffffffffffffff7f0e87e1788ebd9ed6a7e63c70a374cd3283e41cad601d21fbe27863899ed4a7085c1661080f576107ea93337f0e87e1788ebd9ed6a7e63c70a374cd3283e41cad601d21fbe27863899ed4a7085d610a89565b9181601f840112156102e05782359167ffffffffffffffff83116102e057602083818601950101116102e057565b9181601f840112156102e05782359167ffffffffffffffff83116102e0576020808501948460051b0101116102e057565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b908210156109f0570190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156102e0570180359067ffffffffffffffff82116102e0576020019181360383136102e057565b908210156109f057610a859160051b810190610a1d565b9091565b9290808203612bb7579291905f915b848310610aa6575050505050565b9091929394610ab68487876109e4565b3592610ac3858285610a6e565b979092606097603f8760f81c1695600196602181105f14612a1c5760108110156122b15760088110156115245780610eeb5750610b0560208701359b87612e3a565b9590608088013515610ee4577f0e87e1788ebd9ed6a7e63c70a374cd3283e41cad601d21fbe27863899ed4a7085c9c5b610b3f89356131e2565b9d9188816080527f80000000000000000000000000000000000000000000000000000000000000008314610e58575b50505b604260a052602b7f80000000000000000000000000000000000000000000000000000000000000008210156102e05760a0518f908a10610e52575030915b8982116102e05760409173ffffffffffffffffffffffffffffffffffffffff5f6080513595610cb2610c2b610c5d85610c018b60601c6017608051013560601c62ffffff8183109e60481c1691612e65565b16968a8614610e37576401000276a49b5b878b519485938d60208601526060850190608051612ccf565b91168b830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282612c28565b8488519a8b98899788967f128acb080000000000000000000000000000000000000000000000000000000088521660048701528b6024870152604486015216606484015260a0608484015260a48301906109a1565b03925af1908115610e2c575f905f92610df0575b610cd6935015610de95750612ca3565b60a0519096908110610d1d573090806017116102e0576080805160170190527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe90196610b71565b50979396929a50979490989360409091013511610dc1575b159081610d96575b50610d4f575060010191909392610a98565b90610d926040519283927f2c4029e900000000000000000000000000000000000000000000000000000000845260048401526040602484015260448301906109a1565b0390fd5b7f8000000000000000000000000000000000000000000000000000000000000000915016155f610d3d565b7f39d35496000000000000000000000000000000000000000000000000000000005f5260045ffd5b9050612ca3565b9150506040823d8211610e24575b81610e0b60409383612c28565b810103126102e057816020610cd6935191015191610cc6565b3d9150610dfe565b6040513d5f823e3d90fd5b73fffd8963efd1fc6a506488495d951d5263988d259b610c12565b91610baf565b6014919250106103a5576020602491604051928380927f70a082310000000000000000000000000000000000000000000000000000000082523060048301523560601c5afa908115610e2c575f91610eb3575b505f80610b6e565b90506020813d8211610edc575b81610ecd60209383612c28565b810103126102e057515f610eab565b3d9150610ec0565b309c610b35565b6001819c929a97939b96999598949c145f14611024575090610f1260208201359282612e3a565b60808301351561101d577f0e87e1788ebd9ed6a7e63c70a374cd3283e41cad601d21fbe27863899ed4a7085c915b6040610f4c85356131e2565b9401357faf28d9864a81dfdf71cab65f4e5d79a0cf9b083905fb8971425e6cb581b3f6925d7f80000000000000000000000000000000000000000000000000000000000000008510156102e057610fa6936102db86612ca3565b9091901561100e5750610fb890612ca3565b03610fe6575f7faf28d9864a81dfdf71cab65f4e5d79a0cf9b083905fb8971425e6cb581b3f6925d5b610d35565b7fd4e0248e000000000000000000000000000000000000000000000000000000005f5260045ffd5b6110189150612ca3565b610fb8565b3091610f40565b6002810361106e5750610fe191604081013591507f0e87e1788ebd9ed6a7e63c70a374cd3283e41cad601d21fbe27863899ed4a7085c61106760208301356131e2565b9135613348565b93949193909290600381036112a1575050508135820163ffffffff60208401351683019163ffffffff83351693602080850194860101910110611294577f0e87e1788ebd9ed6a7e63c70a374cd3283e41cad601d21fbe27863899ed4a7085c926040519273ffffffffffffffffffffffffffffffffffffffff60208501957f2a2d80d10000000000000000000000000000000000000000000000000000000087521660248501526060604485015260e484019280357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1823603018112156102e05781016020813591019467ffffffffffffffff82116102e0578160071b360386136102e05781906060608489015252610104860194905f905b80821061127657505050936111ff5f9694829461122b9460408973ffffffffffffffffffffffffffffffffffffffff6111c360208e9d01612d3c565b1660a4880152013560c48601527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc858403016064860152612ccf565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282612c28565b51908273ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165af190611270612d0d565b91610d35565b909195608080826112896001948b612d9d565b019701920190611187565b633b99b53d5f526004601cfd5b91949390925090600481036113fa57506112be60208201356131e2565b9073ffffffffffffffffffffffffffffffffffffffff8060408301351691351680155f1461133457504790811061130c57806112fc575b5050610d35565b611305916134c8565b5f806112f5565b7f6a12f104000000000000000000000000000000000000000000000000000000005f5260045ffd5b91604051917f70a08231000000000000000000000000000000000000000000000000000000008352306004840152602083602481875afa928315610e2c575f936113c7575b50821061139f578161138e575b505050610d35565b61139792613a14565b5f8080611386565b7f675cae38000000000000000000000000000000000000000000000000000000005f5260045ffd5b9092506020813d82116113f2575b816113e260209383612c28565b810103126102e05751915f611379565b3d91506113d5565b600581036114215750806040610fe19201359061141a60208201356131e2565b903561326c565b600681036114f9575060408101359073ffffffffffffffffffffffffffffffffffffffff61145260208301356131e2565b9135168061146e5750611468610fe192476139d2565b906134c8565b906040517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152602081602481865afa908115610e2c575f916114c6575b50610fe1936114c0916139d2565b91613a14565b90506020813d82116114f1575b816114e060209383612c28565b810103126102e05751610fe16114b2565b3d91506114d3565b7fd76a1e9e000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b6008819c929a97939b96999598949c145f146117d9575061154a6020830135918361319d565b906080840135156117d2577f0e87e1788ebd9ed6a7e63c70a374cd3283e41cad601d21fbe27863899ed4a7085c915b61158385356131e2565b9282156109f057611593826131c1565b83600110156109f0576115b56115fd916115af602086016131c1565b906141ee565b907f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000614226565b9485816117b8575b5050507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82018281116103465761165a61165573ffffffffffffffffffffffffffffffffffffffff92858561324f565b6131c1565b1693604051927f70a0823100000000000000000000000000000000000000000000000000000000845273ffffffffffffffffffffffffffffffffffffffff8516928360048601526020856024818a5afa948515610e2c575f9561177b575b50946116c8929160209596613586565b6024604051809581937f70a0823100000000000000000000000000000000000000000000000000000000835260048301525afa918215610e2c575f92611747575b506040611719929301359261325f565b1015610d35577f849eaf98000000000000000000000000000000000000000000000000000000005f5260045ffd5b91506020823d8211611773575b8161176160209383612c28565b810103126102e0579051906040611709565b3d9150611754565b92919450946020833d82116117b0575b8161179860209383612c28565b810103126102e05791519194919390916116c86116b8565b3d915061178b565b6117ca926117c5856131c1565b612f86565b5f8085611605565b3091611579565b60098103611b4357506117ec908261319d565b608083013515611b3c577f0e87e1788ebd9ed6a7e63c70a374cd3283e41cad601d21fbe27863899ed4a7085c915b61182484356131e2565b917f0000000000000000000000000000000000000000000000000000000000000000937f0000000000000000000000000000000000000000000000000000000000000000955f9560028510611b14576020820135977fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8601868111610346579190825b6118fd575050506040013586116118d55782156109f057610fe195856118d0926117c5856131c1565b613586565b7f8ab0bc16000000000000000000000000000000000000000000000000000000005f5260045ffd5b90919897507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8901978989116103465761193e6116556119609a898961324f565b61195561194f6116558d8b8b61324f565b826141ee565b8185879d939d614226565b90604051907f0902f1ac00000000000000000000000000000000000000000000000000000000825260608260048173ffffffffffffffffffffffffffffffffffffffff87165afa918215610e2c575f905f93611ab7575b5073ffffffffffffffffffffffffffffffffffffffff6dffffffffffffffffffffffffffff8082931694169d169116145f14611ab15799905b9980158015611aa9575b611a815782611a0891613988565b916103e88302928084046103e8149015171561034657611a279161325f565b6103e58102908082046103e5149015171561034657611a459161399b565b6001810180911161034657988015610346577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019190826118a7565b7f7b9c8916000000000000000000000000000000000000000000000000000000005f5260045ffd5b5081156119fa565b906119f0565b6dffffffffffffffffffffffffffff80945073ffffffffffffffffffffffffffffffffffffffff9250611b01839260603d8111611b0d575b611af98183612c28565b810190613550565b509590935050506119b7565b503d611aef565b7f20db8267000000000000000000000000000000000000000000000000000000005f5260045ffd5b309161181a565b93949193909290600a8103611c445750505063ffffffff60c08301351682019063ffffffff82351690836020808501948401019101106112945760a061122b5f946111ff86957f0e87e1788ebd9ed6a7e63c70a374cd3283e41cad601d21fbe27863899ed4a7085c9560405195869473ffffffffffffffffffffffffffffffffffffffff60208701997f2b67b570000000000000000000000000000000000000000000000000000000008b52166024870152611c026044870182612d9d565b73ffffffffffffffffffffffffffffffffffffffff611c2360808301612d3c565b1660c4870152013560e4850152610100610104850152610124840191612ccf565b91949390929091600b8103611dfb575050611c64602082013591356131e2565b90807f80000000000000000000000000000000000000000000000000000000000000008103611dcc575050475b80611c9d575050610d35565b73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001691823b156102e057604051907fd0e30db00000000000000000000000000000000000000000000000000000000082525f8260048186885af1918215610e2c5773ffffffffffffffffffffffffffffffffffffffff92611dbc575b501690308203611d3f575b506112f5565b60446020925f60405195869485937fa9059cbb000000000000000000000000000000000000000000000000000000008552600485015260248401525af18015610e2c57611d8e575b8080611d39565b611dae9060203d8111611db5575b611da68183612c28565b810190613237565b505f611d87565b503d611d9c565b5f611dc691612c28565b5f611d2e565b471015611c91577f6a12f104000000000000000000000000000000000000000000000000000000005f5260045ffd5b600c8103611f65575050611e0f81356131e2565b9073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016604051917f70a08231000000000000000000000000000000000000000000000000000000008352306004840152602083602481855afa928315610e2c575f93611f31575b5060200135821061130c5781611ea357505050610d35565b803b156102e0575f80916024604051809481937f2e1a7d4d0000000000000000000000000000000000000000000000000000000083528760048401525af18015610e2c57611f21575b503073ffffffffffffffffffffffffffffffffffffffff831603611f11575b80611386565b611f1a916134c8565b5f80611f0b565b5f611f2b91612c28565b5f611eec565b9092506020813d8211611f5d575b81611f4c60209383612c28565b810103126102e05751916020611e8b565b3d9150611f3f565b600d819c939c9b929597989b99949699145f146121ac57508a358b0198893594611f976020808d019e8d030187612f79565b116103a55773ffffffffffffffffffffffffffffffffffffffff7f0e87e1788ebd9ed6a7e63c70a374cd3283e41cad601d21fbe27863899ed4a7085c169a935f5b8681101561203d578c73ffffffffffffffffffffffffffffffffffffffff61200760208f8560071b01016131c1565b160361201557600101611fd8565b7fe7002877000000000000000000000000000000000000000000000000000000005f5260045ffd5b50989593979694929b919a50985073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690813b156102e0576040517f0d58b1db000000000000000000000000000000000000000000000000000000008152602060048201526024810184905292839160448301915f905b8082106120fe5750505091815f81819503925af18015610e2c576120ee575b50610d35565b5f6120f891612c28565b5f6120e8565b9193509160808060019273ffffffffffffffffffffffffffffffffffffffff61212688612d3c565b16815273ffffffffffffffffffffffffffffffffffffffff61214a60208901612d3c565b16602082015273ffffffffffffffffffffffffffffffffffffffff61217160408901612d3c565b16604082015273ffffffffffffffffffffffffffffffffffffffff61219860608901612d3c565b1660608201520194019201859392916120c9565b80929b93989550600e919a97969450145f146114f95750604051907f70a0823100000000000000000000000000000000000000000000000000000000825273ffffffffffffffffffffffffffffffffffffffff813516600483015260208260248173ffffffffffffffffffffffffffffffffffffffff84860135165afa918215610e2c575f9261227d575b5060400135111580610fe15791506040517fa328167200000000000000000000000000000000000000000000000000000000602082015260048152611270602482612c28565b9091506020813d82116122a9575b8161229860209383612c28565b810103126102e05751906040612237565b3d915061228b565b6010819c929a97939b96999598949c145f146123cc575061230a915f9160405193849283927f48c89491000000000000000000000000000000000000000000000000000000008452602060048501526024840191612ccf565b03818373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165af18015610e2c576123565750610d35565b3d805f833e6123658183612c28565b8101906020818303126102e05780519067ffffffffffffffff82116102e0570181601f820112156102e057805161239b81612c69565b926123a96040519485612c28565b818452602082840101116102e0575f928160208094018483015e0101525f6120e8565b80929495506011919350145f146124ae5750907fffffffff000000000000000000000000000000000000000000000000000000008135167f7ac2ff7b0000000000000000000000000000000000000000000000000000000081036124835750815f929183926040519283928337810183815203908273ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165af190611270612d0d565b7ff801e525000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b601281036127ad57507f0e87e1788ebd9ed6a7e63c70a374cd3283e41cad601d21fbe27863899ed4a7085c917fffffffff000000000000000000000000000000000000000000000000000000008135167f0c49ccbe0000000000000000000000000000000000000000000000000000000081148015612784575b801561275b575b156124835750600481013573ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016936040517f6352211e000000000000000000000000000000000000000000000000000000008152826004820152602081602481895afa908115610e2c5773ffffffffffffffffffffffffffffffffffffffff9182915f9161273d575b50169116908082149182156126a9575b8215612638575b50501561260d575091815f809481946040519384928337810182815203925af190611270612d0d565b7fbb25d4c5000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b909150604051917fe985e9c500000000000000000000000000000000000000000000000000000000835260048301526024820152602081604481885afa908115610e2c575f9161268b575b505f806125e4565b6126a3915060203d8111611db557611da68183612c28565b5f612683565b91506040517f081812fc0000000000000000000000000000000000000000000000000000000081528360048201526020816024818a5afa908115610e2c57839173ffffffffffffffffffffffffffffffffffffffff915f9161270f575b501614916125dd565b612730915060203d8111612736575b6127288183612c28565b81019061349c565b5f612706565b503d61271e565b612755915060203d8111612736576127288183612c28565b5f6125cd565b507f42966c6800000000000000000000000000000000000000000000000000000000811461252f565b507ffc6f7865000000000000000000000000000000000000000000000000000000008114612528565b601381036128b85750505f809160405173ffffffffffffffffffffffffffffffffffffffff60a060208301937f6276cbbe0000000000000000000000000000000000000000000000000000000085528261280682612d3c565b1660248501528261281960208301612d3c565b16604485015262ffffff61282f60408301612d5d565b16606485015261284160608201612d6d565b60020b60848501528261285660808301612d3c565b1660a485015201351660c482015260c4815261287360e482612c28565b51908273ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165af190611270612d0d565b601481036114f957507fffffffff000000000000000000000000000000000000000000000000000000008235167fdd46508f0000000000000000000000000000000000000000000000000000000081036124835750806004116102e05761294d6129477ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc830160048501612e12565b90612e12565b5f5b8181106129b1575050505f91829147918160405192839283378101848152039173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165af190611270612d0d565b6129bc8183856109e4565b3560f81c8015908115612a11575b8115612a06575b506129de5760010161294f565b7f5d1d0f9f000000000000000000000000000000000000000000000000000000005f5260045ffd5b60039150145f6129d1565b6001811491506129ca565b9098959199506021819b939b989598979497145f146114f9575090612a4091613404565b612a836040959395519460208601967f24856bc3000000000000000000000000000000000000000000000000000000008852604060248801526064870191612ccf565b927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc858503016044860152818452602084019160208160051b86010194845f907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603015b848310612b3d5750505050505050509181612b2e5f94938594037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282612c28565b519082305af190611270612d0d565b90919293949596977fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08582030188528835828112156102e0578301906020823592019167ffffffffffffffff81116102e05780360383136102e057612ba760209283928b95612ccf565b9a01980196959493019190612ae9565b7fff633a38000000000000000000000000000000000000000000000000000000005f5260045ffd5b60a0810190811067ffffffffffffffff821117612bfb57604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117612bfb57604052565b67ffffffffffffffff8111612bfb57601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b7f80000000000000000000000000000000000000000000000000000000000000008114610346575f0390565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe093818652868601375f8582860101520116010190565b3d15612d37573d90612d1e82612c69565b91612d2c6040519384612c28565b82523d5f602084013e565b606090565b359073ffffffffffffffffffffffffffffffffffffffff821682036102e057565b359062ffffff821682036102e057565b35908160020b82036102e057565b908160209103126102e0575190565b359065ffffffffffff821682036102e057565b65ffffffffffff612e0c6060809373ffffffffffffffffffffffffffffffffffffffff612dc982612d3c565b16865273ffffffffffffffffffffffffffffffffffffffff612ded60208301612d3c565b16602087015283612e0060408301612d8a565b16604087015201612d8a565b16910152565b909163ffffffff82351682019263ffffffff8435169260208086019585010191011061129457565b909163ffffffff60608301351682019263ffffffff8435169260208086019585010191011061129457565b9073ffffffffffffffffffffffffffffffffffffffff9283821684841611612f71575b62ffffff90846040519381602086019616865216604084015216606082015260608152612eb6608082612c28565b5190206040517fff00000000000000000000000000000000000000000000000000000000000000602082019081527f000000000000000000000000000000000000000000000000000000000000000060601b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000016602183015260358201929092527f00000000000000000000000000000000000000000000000000000000000000006055820152612f6a81607581016111ff565b5190201690565b909190612e88565b9190820180921161034657565b9092919073ffffffffffffffffffffffffffffffffffffffff84163003612fb357612fb1935061326c565b565b919273ffffffffffffffffffffffffffffffffffffffff8411612ff05773ffffffffffffffffffffffffffffffffffffffff612fb1941692613348565b7fc4bd89a9000000000000000000000000000000000000000000000000000000005f5260045ffd5b939290602b82106103a5578235938460601c92601785013560601c9380851094859760481c62ffffff169061304c92612e65565b73ffffffffffffffffffffffffffffffffffffffff1692845f1460409673ffffffffffffffffffffffffffffffffffffffff80956130e15f9661313495613182576401000276a4925b846130af8e51978f94899560208701526060860191612ccf565b91168d830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101855284612c28565b89519b8c998a9889977f128acb080000000000000000000000000000000000000000000000000000000089521660048801526024870152604486015216606484015260a0608484015260a48301906109a1565b03925af18015610e2c575f925f9161314b57509192565b9250506040823d60401161317a575b8161316760409383612c28565b810103126102e057602082519201519192565b3d915061315a565b73fffd8963efd1fc6a506488495d951d5263988d2592613095565b9160608301358301916131ba602084359581860195030185612f79565b116103a557565b3573ffffffffffffffffffffffffffffffffffffffff811681036102e05790565b73ffffffffffffffffffffffffffffffffffffffff8116600181036132285750507f0e87e1788ebd9ed6a7e63c70a374cd3283e41cad601d21fbe27863899ed4a7085c90565b60020361323457503090565b90565b908160209103126102e0575180151581036102e05790565b91908110156109f05760051b0190565b9190820391821161034657565b90919073ffffffffffffffffffffffffffffffffffffffff16806132945750612fb1916134c8565b7f800000000000000000000000000000000000000000000000000000000000000082146132c6575b91612fb192613a14565b9050604051917f70a08231000000000000000000000000000000000000000000000000000000008352306004840152602083602481855afa8015610e2c575f90613314575b909250906132bc565b506020833d602011613340575b8161332e60209383612c28565b810103126102e057612fb1925161330b565b3d9150613321565b919273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001691823b156102e0575f73ffffffffffffffffffffffffffffffffffffffff9384829681608496816040519b8c9a8b997f36c78516000000000000000000000000000000000000000000000000000000008b521660048a01521660248801521660448601521660648401525af18015610e2c576133fa5750565b5f612fb191612c28565b604081351891606082019363ffffffff6040840135169363ffffffe0601f8601169060608201602086013518179084019260608401359463ffffffff861694641fffffffe0608082019760051b1680915f925b80841061346f57506080925001019101101761129457565b90916020809163ffffffe0601f60808089890101359b848d18179b88010135011601019301929190613457565b908160209103126102e0575173ffffffffffffffffffffffffffffffffffffffff811681036102e05790565b5f80809381935af1156134d757565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4554485f5452414e534645525f4641494c4544000000000000000000000000006044820152fd5b51906dffffffffffffffffffffffffffff821682036102e057565b908160609103126102e05761356481613535565b91604061357360208401613535565b92015163ffffffff811681036102e05790565b91600282106139605781156109f05761359e836131c1565b82600110156109f0576135ba906115af602086979596016131c1565b50927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8101937ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe8201955f906020937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08501965b8884106136415750505050505050505050565b61364f61165585848661324f565b9473ffffffffffffffffffffffffffffffffffffffff61367661165560018801868861324f565b921695604051917f0902f1ac0000000000000000000000000000000000000000000000000000000083526060836004818b5afa918215610e2c57895f945f9461390d575b5073ffffffffffffffffffffffffffffffffffffffff806dffffffffffffffffffffffffffff80602496979816971693169416841494855f146139075791935b604051938480927f70a082310000000000000000000000000000000000000000000000000000000082528d60048301525afa918215610e2c575f926138d8575b50808203928115928380156138d0575b611a8157826103e586029586046103e514911417156103465761376d9084613988565b916103e882029182046103e8141715610346576137939261378d91612f79565b9061399b565b90156138c9575f90915b8b8610156138c057906137be613808926115af61165560028a01888a61324f565b8193917f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000614226565b915b96604051906138198a83612c28565b5f82528b368b840137803b156102e057613894945f8094604051978895869485937f022c0d9f0000000000000000000000000000000000000000000000000000000085526004850152602484015273ffffffffffffffffffffffffffffffffffffffff891660448401526080606484015260848301906109a1565b03925af1918215610e2c576001926138b0575b5093019261362e565b5f6138ba91612c28565b5f6138a7565b5087905f61380a565b5f9161379d565b50811561374a565b9091508981813d8311613900575b6138f08183612c28565b810103126102e05751905f61373a565b503d6138e6565b936136fa565b6dffffffffffffffffffffffffffff9550602493945073ffffffffffffffffffffffffffffffffffffffff86613951829360603d8111611b0d57611af98183612c28565b509890989796505050506136ba565b7fae52ad0c000000000000000000000000000000000000000000000000000000005f5260045ffd5b8181029291811591840414171561034657565b81156139a5570490565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b61271082116139ec57612710916139e891613988565b0490565b7fdeaa01e6000000000000000000000000000000000000000000000000000000005f5260045ffd5b5f9182604492602095604051937fa9059cbb000000000000000000000000000000000000000000000000000000008552600485015260248401525af13d15601f3d1160015f511416171615613a6557565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f5452414e534645525f4641494c454400000000000000000000000000000000006044820152fd5b929190600b84101561401c5760078403613c3557613ae292935061474f565b6020810190613af1828261475d565b90505f92613afe836131c1565b90613b0b604085016146bc565b906fffffffffffffffffffffffffffffffff821615613c1c575b92915f915b838310613bab5750505050506060016fffffffffffffffffffffffffffffffff80613b54836146bc565b169216918210613b62575050565b613b7c6fffffffffffffffffffffffffffffffff916146bc565b7f8b063d73000000000000000000000000000000000000000000000000000000005f521660045260245260445ffd5b8496506fffffffffffffffffffffffffffffffff613c0091613be7613be086613bda613c059798999a8c61475d565b906147b1565b9586614ad8565b613bf46080880188610a1d565b949093165f0391614938565b614bff565b946001613c1287936131c1565b9194930191613b2a565b9050613c2f613c2a83614314565b6148f3565b90613b25565b60068403613d2c57613c489293506146ad565b613c5460c082016146bc565b6fffffffffffffffffffffffffffffffff811615613cdb575b613cbe613c0060e092613c9d6fffffffffffffffffffffffffffffffff613c9660a088016146d9565b9216612ca3565b90613cac610100870187610a1d565b929091613cb936896146e6565b614938565b91016fffffffffffffffffffffffffffffffff80613b54836146bc565b50613ce860a082016146d9565b15613d125760e0613cbe613c00613d09613c2a613d04866131c1565b614314565b92505050613c6d565b60e0613cbe613c00613d09613c2a613d04602087016131c1565b60098403613ecf57613d3f92935061474f565b6020810190613d4e828261475d565b5f939150613d5e604084016146bc565b613d67846131c1565b916fffffffffffffffffffffffffffffffff821615613ebb575b92919290815b613e0457505050506060016fffffffffffffffffffffffffffffffff80613dad836146bc565b169216918211613dbb575050565b613dd56fffffffffffffffffffffffffffffffff916146bc565b7f12bacdd3000000000000000000000000000000000000000000000000000000005f521660045260245260445ffd5b829395506fffffffffffffffffffffffffffffffff613e7b91613e61613e5a613e31613e8596978a61475d565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8901916147b1565b9889614ad8565b90613e6f60808b018b610a1d565b94909316911590614938565b600f0b5f036148f3565b937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff613eb186926131c1565b9392019081613d87565b9050613ec9613c2a8361462e565b90613d81565b60088414613f06575050505b7f5cda29d7000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b613f119293506146ad565b613f1d60c082016146bc565b6fffffffffffffffffffffffffffffffff811615613fa1575b613f84613c2a613f7c6fffffffffffffffffffffffffffffffff60e094613f5f60a088016146d9565b613f6d610100890189610a1d565b9390921690613cb9368a6146e6565b600f0b612ca3565b91016fffffffffffffffffffffffffffffffff80613dad836146bc565b50613fae60a082016146d9565b15613ff15760e0613f84613c2a613f7c6fffffffffffffffffffffffffffffffff613fe6613c2a613fe1602089016131c1565b61462e565b945050505050613f36565b60e0613f84613c2a613f7c6fffffffffffffffffffffffffffffffff613fe6613c2a613fe1886131c1565b92600c81036140a05750614030919261461b565b9061403a8161462e565b91808311614070575090612fb1917f0e87e1788ebd9ed6a7e63c70a374cd3283e41cad601d21fbe27863899ed4a7085c90614495565b90507f12bacdd3000000000000000000000000000000000000000000000000000000005f5260045260245260445ffd5b600f810361412357506140b3919261461b565b906140bd81614314565b918083106140f3575090612fb1917f0e87e1788ebd9ed6a7e63c70a374cd3283e41cad601d21fbe27863899ed4a7085c9061438d565b90507f8b063d73000000000000000000000000000000000000000000000000000000005f5260045260245260445ffd5b600b810361417c575061413a90612fb192936142fc565b156141715761416b827f0e87e1788ebd9ed6a7e63c70a374cd3283e41cad601d21fbe27863899ed4a7085c92614454565b91614495565b61416b823092614454565b600e81036141af57506141a36141996141a992612fb194956142fc565b92829492916131e2565b92614440565b9161438d565b92601084146141c057505050613edb565b612fb19293506141d66141df926141a9926142fc565b929193906131e2565b916141e984614314565b6139d2565b73ffffffffffffffffffffffffffffffffffffffff821673ffffffffffffffffffffffffffffffffffffffff8216105f14610a855791565b91612f6a9073ffffffffffffffffffffffffffffffffffffffff947fffffffffffffffffffffffffffffffffffffffff0000000000000000000000006040519181602084019460601b16845260601b1660348201526028815261428a604882612c28565b5190206111ff604051938492602084019687917fffffffffffffffffffffffffffffffffffffffff000000000000000000000000605594927fff00000000000000000000000000000000000000000000000000000000000000855260601b166001840152601583015260358201520190565b90606011611294578035916040602083013592013590565b61433f81307f00000000000000000000000000000000000000000000000000000000000000006147f1565b905f821261434b575090565b73ffffffffffffffffffffffffffffffffffffffff907f4c085bf1000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b9091801561443b5773ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016803b156102e0575f928360649273ffffffffffffffffffffffffffffffffffffffff948560405198899788967f0b0d9c0900000000000000000000000000000000000000000000000000000000885216600487015216602485015260448401525af18015610e2c576133fa5750565b505050565b9081614450576132349150614314565b5090565b907f8000000000000000000000000000000000000000000000000000000000000000820361448657613234915061488b565b8161445057613234915061462e565b5f9183156146155773ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001691823b156102e05773ffffffffffffffffffffffffffffffffffffffff604051917fa584119400000000000000000000000000000000000000000000000000000000835216908160048201525f8160248183885af18015610e2c57614600575b50806145b35750506020906004604051809581937f11da60b40000000000000000000000000000000000000000000000000000000083525af19081156145a7575061457c5750565b61459d9060203d6020116145a0575b6145958183612c28565b810190612d7b565b50565b503d61458b565b604051903d90823e3d90fd5b839483602094936145c393612f86565b6004604051809581937f11da60b40000000000000000000000000000000000000000000000000000000083525af19081156145a7575061457c5750565b61460d9194505f90612c28565b5f925f614534565b50505050565b9190604011611294576020823592013590565b61465981307f00000000000000000000000000000000000000000000000000000000000000006147f1565b905f821361466b575061323490612ca3565b73ffffffffffffffffffffffffffffffffffffffff907f3351b260000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b90610140116112945780350190565b356fffffffffffffffffffffffffffffffff811681036102e05790565b3580151581036102e05790565b91908260a09103126102e0576040516146fe81612bdf565b608061474a81839561470f81612d3c565b855261471d60208201612d3c565b602086015261472e60408201612d5d565b604086015261473f60608201612d6d565b606086015201612d3c565b910152565b9060a0116112945780350190565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156102e0570180359067ffffffffffffffff82116102e057602001918160051b360383136102e057565b91908110156109f05760051b810135907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61813603018212156102e0570190565b73ffffffffffffffffffffffffffffffffffffffff809381602094165f52168252602460405f2060405194859384927ff135baaa0000000000000000000000000000000000000000000000000000000084526004840152165afa908115610e2c575f9161485c575090565b90506020813d602011614883575b8161487760209383612c28565b810103126102e0575190565b3d915061486a565b73ffffffffffffffffffffffffffffffffffffffff16806148ab57504790565b6020602491604051928380927f70a082310000000000000000000000000000000000000000000000000000000082523060048301525afa908115610e2c575f9161485c575090565b906fffffffffffffffffffffffffffffffff821680920361491057565b7f93dafdf1000000000000000000000000000000000000000000000000000000005f5260045ffd5b9092908315614abd576401000276a4905b60405194606086019386851067ffffffffffffffff861117612bfb5773ffffffffffffffffffffffffffffffffffffffff9788608095614a2b946020986040521515998a8152888101908a82528360408201931683526040519c8d998a997ff3cd914c000000000000000000000000000000000000000000000000000000008b528281511660048c0152828d8201511660248c015262ffffff60408201511660448c0152606081015160020b60648c0152015116608489015251151560a48801525160c4870152511660e4850152610120610104850152610124840191612ccf565b03815f73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165af1928315610e2c575f93614a89575b505f1303614a8357600f0b90565b60801d90565b9092506020813d602011614ab5575b81614aa560209383612c28565b810103126102e05751915f614a75565b3d9150614a98565b73fffd8963efd1fc6a506488495d951d5263988d2590614949565b905f6080604051614ae881612bdf565b8281528260208201528260408201528260608201520152614b08826131c1565b73ffffffffffffffffffffffffffffffffffffffff82169173ffffffffffffffffffffffffffffffffffffffff82168084105f14614be0575073ffffffffffffffffffffffffffffffffffffffff905b1680921492602081013562ffffff81168091036102e0576040820135918260020b8093036102e057606001359273ffffffffffffffffffffffffffffffffffffffff84168094036102e05773ffffffffffffffffffffffffffffffffffffffff9060405195614bc687612bdf565b865216602085015260408401526060830152608082015291565b91505073ffffffffffffffffffffffffffffffffffffffff8291614b58565b5f81600f0b12614910576fffffffffffffffffffffffffffffffff169056fea26469706673582212203f74c3163bda9858f75423a8d5296171c656ad9395651c0c918a3dea5e04a03264736f6c634300081a0033","sourceMap":"671:2026:0:-:0;;;;;;;;;;;;;;;;;-1:-1:-1;;671:2026:0;;;;-1:-1:-1;;;;;671:2026:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;671:2026:0;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;671:2026:0;;;;;;;;;1078:73;;671:2026;;;;;;;;;1078:73;;671:2026;;;;;;;;;;;;;;:::i;:::-;;;;;1001:48;;671:2026;;;;;;;;;;;;;;-1:-1:-1;;;;;671:2026:0;;;;;;;;;;-1:-1:-1;;;;;671:2026:0;;;;;;;;;;;;;;;;817:103;;671:2026;;;817:103;;;671:2026;;;;817:103;671:2026;;;;717:37:14;;;;671:2026:0;;;764:56:14;671:2026:0;;-1:-1:-1;;;;;671:2026:0;;;;830:37:14;671:2026:0;;;877:56:14;671:2026:0;782:26:86;;;;671:2026:0;;;;;518:28:11;671:2026:0;;;;556:34:11;;671:2026:0;;;;855:75:9;;671:2026:0;;;940:64:9;;671:2026:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;556:34:11;671:2026:0;;;;;;;;;;;;;;;855:75:9;671:2026:0;;;;;;;;;;;;;;;940:64:9;671:2026:0;;;;;;;;;;;;;;;-1:-1:-1;671:2026:0;;;;;-1:-1:-1;671:2026:0;;-1:-1:-1;671:2026:0;;;;;;;;;;-1:-1:-1;;;;;671:2026:0;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;;;671:2026:0;;;;;;:::o","linkReferences":{}},"deployedBytecode":{"object":"0x60c060405260043610156100c6575b3615610018575f80fd5b73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001633141580610086575b61005e57005b7f38bbd576000000000000000000000000000000000000000000000000000000005f5260045ffd5b5073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016331415610058565b5f3560e01c806324856bc3146108685780633593564c14610707578063817122dc1461069957806391dd73461461054b578063d0c9f6cb146104dd578063d737d0c71461046d578063dc4c90d3146103ff5763fa461e330361000e57346102e05760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e05760243560043560443567ffffffffffffffff81116102e057610177903690600401610942565b5f8313918215806103f5575b6103cd578181016040828203126102e057813567ffffffffffffffff81116102e057820181601f820112156102e05780356101bd81612c69565b926101cb6040519485612c28565b818452602082840101116102e0575f928160208094018483013701015260208101359173ffffffffffffffffffffffffffffffffffffffff83168093036102e05761021591612e12565b90601790602b83106103a5578035968760601c9561024362ffffff8585013560601c9a60481c168a89612e65565b73ffffffffffffffffffffffffffffffffffffffff3391160361037d571561037357508685105b156102805750505061027e93503391612f86565b005b91935091939482602b0180602b116103465784106102e457508282116102e05781019103907f80000000000000000000000000000000000000000000000000000000000000008410156102e05761027e936102db3391612ca3565b613018565b5f80fd5b925050507faf28d9864a81dfdf71cab65f4e5d79a0cf9b083905fb8971425e6cb581b3f6929291925c821161031e5761027e923391612f86565b7f739dbe52000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b955084871061026a565b7f32b13d91000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f3b99b53d000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f316cf0eb000000000000000000000000000000000000000000000000000000005f5260045ffd5b505f851315610183565b346102e0575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e057602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b346102e0575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e05760207f0e87e1788ebd9ed6a7e63c70a374cd3283e41cad601d21fbe27863899ed4a7085c73ffffffffffffffffffffffffffffffffffffffff60405191168152f35b346102e0575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e057602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b346102e05760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e05760043567ffffffffffffffff81116102e05761059a903690600401610942565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163303610671576105e091613404565b90818303610649575f5b83811061061d57610619604051610602602082612c28565b5f81526040519182916020835260208301906109a1565b0390f35b8061064361062e60019387896109e4565b3560f81c61063d838787610a6e565b91613ac3565b016105ea565b7faaad13f7000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fae18210a000000000000000000000000000000000000000000000000000000005f5260045ffd5b346102e0575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e057602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b60607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e05760043567ffffffffffffffff81116102e057610751903690600401610942565b60243567ffffffffffffffff81116102e057610771903690600401610970565b916044354211610840573330146108375773ffffffffffffffffffffffffffffffffffffffff7f0e87e1788ebd9ed6a7e63c70a374cd3283e41cad601d21fbe27863899ed4a7085c1661080f576107ea93337f0e87e1788ebd9ed6a7e63c70a374cd3283e41cad601d21fbe27863899ed4a7085d610a89565b5f7f0e87e1788ebd9ed6a7e63c70a374cd3283e41cad601d21fbe27863899ed4a7085d005b7f6f5ffb7e000000000000000000000000000000000000000000000000000000005f5260045ffd5b61027e93610a89565b7f5bf6f916000000000000000000000000000000000000000000000000000000005f5260045ffd5b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e05760043567ffffffffffffffff81116102e0576108b2903690600401610942565b60243567ffffffffffffffff81116102e0576108d2903690600401610970565b913330146108375773ffffffffffffffffffffffffffffffffffffffff7f0e87e1788ebd9ed6a7e63c70a374cd3283e41cad601d21fbe27863899ed4a7085c1661080f576107ea93337f0e87e1788ebd9ed6a7e63c70a374cd3283e41cad601d21fbe27863899ed4a7085d610a89565b9181601f840112156102e05782359167ffffffffffffffff83116102e057602083818601950101116102e057565b9181601f840112156102e05782359167ffffffffffffffff83116102e0576020808501948460051b0101116102e057565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b908210156109f0570190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156102e0570180359067ffffffffffffffff82116102e0576020019181360383136102e057565b908210156109f057610a859160051b810190610a1d565b9091565b9290808203612bb7579291905f915b848310610aa6575050505050565b9091929394610ab68487876109e4565b3592610ac3858285610a6e565b979092606097603f8760f81c1695600196602181105f14612a1c5760108110156122b15760088110156115245780610eeb5750610b0560208701359b87612e3a565b9590608088013515610ee4577f0e87e1788ebd9ed6a7e63c70a374cd3283e41cad601d21fbe27863899ed4a7085c9c5b610b3f89356131e2565b9d9188816080527f80000000000000000000000000000000000000000000000000000000000000008314610e58575b50505b604260a052602b7f80000000000000000000000000000000000000000000000000000000000000008210156102e05760a0518f908a10610e52575030915b8982116102e05760409173ffffffffffffffffffffffffffffffffffffffff5f6080513595610cb2610c2b610c5d85610c018b60601c6017608051013560601c62ffffff8183109e60481c1691612e65565b16968a8614610e37576401000276a49b5b878b519485938d60208601526060850190608051612ccf565b91168b830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282612c28565b8488519a8b98899788967f128acb080000000000000000000000000000000000000000000000000000000088521660048701528b6024870152604486015216606484015260a0608484015260a48301906109a1565b03925af1908115610e2c575f905f92610df0575b610cd6935015610de95750612ca3565b60a0519096908110610d1d573090806017116102e0576080805160170190527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe90196610b71565b50979396929a50979490989360409091013511610dc1575b159081610d96575b50610d4f575060010191909392610a98565b90610d926040519283927f2c4029e900000000000000000000000000000000000000000000000000000000845260048401526040602484015260448301906109a1565b0390fd5b7f8000000000000000000000000000000000000000000000000000000000000000915016155f610d3d565b7f39d35496000000000000000000000000000000000000000000000000000000005f5260045ffd5b9050612ca3565b9150506040823d8211610e24575b81610e0b60409383612c28565b810103126102e057816020610cd6935191015191610cc6565b3d9150610dfe565b6040513d5f823e3d90fd5b73fffd8963efd1fc6a506488495d951d5263988d259b610c12565b91610baf565b6014919250106103a5576020602491604051928380927f70a082310000000000000000000000000000000000000000000000000000000082523060048301523560601c5afa908115610e2c575f91610eb3575b505f80610b6e565b90506020813d8211610edc575b81610ecd60209383612c28565b810103126102e057515f610eab565b3d9150610ec0565b309c610b35565b6001819c929a97939b96999598949c145f14611024575090610f1260208201359282612e3a565b60808301351561101d577f0e87e1788ebd9ed6a7e63c70a374cd3283e41cad601d21fbe27863899ed4a7085c915b6040610f4c85356131e2565b9401357faf28d9864a81dfdf71cab65f4e5d79a0cf9b083905fb8971425e6cb581b3f6925d7f80000000000000000000000000000000000000000000000000000000000000008510156102e057610fa6936102db86612ca3565b9091901561100e5750610fb890612ca3565b03610fe6575f7faf28d9864a81dfdf71cab65f4e5d79a0cf9b083905fb8971425e6cb581b3f6925d5b610d35565b7fd4e0248e000000000000000000000000000000000000000000000000000000005f5260045ffd5b6110189150612ca3565b610fb8565b3091610f40565b6002810361106e5750610fe191604081013591507f0e87e1788ebd9ed6a7e63c70a374cd3283e41cad601d21fbe27863899ed4a7085c61106760208301356131e2565b9135613348565b93949193909290600381036112a1575050508135820163ffffffff60208401351683019163ffffffff83351693602080850194860101910110611294577f0e87e1788ebd9ed6a7e63c70a374cd3283e41cad601d21fbe27863899ed4a7085c926040519273ffffffffffffffffffffffffffffffffffffffff60208501957f2a2d80d10000000000000000000000000000000000000000000000000000000087521660248501526060604485015260e484019280357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1823603018112156102e05781016020813591019467ffffffffffffffff82116102e0578160071b360386136102e05781906060608489015252610104860194905f905b80821061127657505050936111ff5f9694829461122b9460408973ffffffffffffffffffffffffffffffffffffffff6111c360208e9d01612d3c565b1660a4880152013560c48601527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc858403016064860152612ccf565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282612c28565b51908273ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165af190611270612d0d565b91610d35565b909195608080826112896001948b612d9d565b019701920190611187565b633b99b53d5f526004601cfd5b91949390925090600481036113fa57506112be60208201356131e2565b9073ffffffffffffffffffffffffffffffffffffffff8060408301351691351680155f1461133457504790811061130c57806112fc575b5050610d35565b611305916134c8565b5f806112f5565b7f6a12f104000000000000000000000000000000000000000000000000000000005f5260045ffd5b91604051917f70a08231000000000000000000000000000000000000000000000000000000008352306004840152602083602481875afa928315610e2c575f936113c7575b50821061139f578161138e575b505050610d35565b61139792613a14565b5f8080611386565b7f675cae38000000000000000000000000000000000000000000000000000000005f5260045ffd5b9092506020813d82116113f2575b816113e260209383612c28565b810103126102e05751915f611379565b3d91506113d5565b600581036114215750806040610fe19201359061141a60208201356131e2565b903561326c565b600681036114f9575060408101359073ffffffffffffffffffffffffffffffffffffffff61145260208301356131e2565b9135168061146e5750611468610fe192476139d2565b906134c8565b906040517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152602081602481865afa908115610e2c575f916114c6575b50610fe1936114c0916139d2565b91613a14565b90506020813d82116114f1575b816114e060209383612c28565b810103126102e05751610fe16114b2565b3d91506114d3565b7fd76a1e9e000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b6008819c929a97939b96999598949c145f146117d9575061154a6020830135918361319d565b906080840135156117d2577f0e87e1788ebd9ed6a7e63c70a374cd3283e41cad601d21fbe27863899ed4a7085c915b61158385356131e2565b9282156109f057611593826131c1565b83600110156109f0576115b56115fd916115af602086016131c1565b906141ee565b907f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000614226565b9485816117b8575b5050507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82018281116103465761165a61165573ffffffffffffffffffffffffffffffffffffffff92858561324f565b6131c1565b1693604051927f70a0823100000000000000000000000000000000000000000000000000000000845273ffffffffffffffffffffffffffffffffffffffff8516928360048601526020856024818a5afa948515610e2c575f9561177b575b50946116c8929160209596613586565b6024604051809581937f70a0823100000000000000000000000000000000000000000000000000000000835260048301525afa918215610e2c575f92611747575b506040611719929301359261325f565b1015610d35577f849eaf98000000000000000000000000000000000000000000000000000000005f5260045ffd5b91506020823d8211611773575b8161176160209383612c28565b810103126102e0579051906040611709565b3d9150611754565b92919450946020833d82116117b0575b8161179860209383612c28565b810103126102e05791519194919390916116c86116b8565b3d915061178b565b6117ca926117c5856131c1565b612f86565b5f8085611605565b3091611579565b60098103611b4357506117ec908261319d565b608083013515611b3c577f0e87e1788ebd9ed6a7e63c70a374cd3283e41cad601d21fbe27863899ed4a7085c915b61182484356131e2565b917f0000000000000000000000000000000000000000000000000000000000000000937f0000000000000000000000000000000000000000000000000000000000000000955f9560028510611b14576020820135977fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8601868111610346579190825b6118fd575050506040013586116118d55782156109f057610fe195856118d0926117c5856131c1565b613586565b7f8ab0bc16000000000000000000000000000000000000000000000000000000005f5260045ffd5b90919897507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8901978989116103465761193e6116556119609a898961324f565b61195561194f6116558d8b8b61324f565b826141ee565b8185879d939d614226565b90604051907f0902f1ac00000000000000000000000000000000000000000000000000000000825260608260048173ffffffffffffffffffffffffffffffffffffffff87165afa918215610e2c575f905f93611ab7575b5073ffffffffffffffffffffffffffffffffffffffff6dffffffffffffffffffffffffffff8082931694169d169116145f14611ab15799905b9980158015611aa9575b611a815782611a0891613988565b916103e88302928084046103e8149015171561034657611a279161325f565b6103e58102908082046103e5149015171561034657611a459161399b565b6001810180911161034657988015610346577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019190826118a7565b7f7b9c8916000000000000000000000000000000000000000000000000000000005f5260045ffd5b5081156119fa565b906119f0565b6dffffffffffffffffffffffffffff80945073ffffffffffffffffffffffffffffffffffffffff9250611b01839260603d8111611b0d575b611af98183612c28565b810190613550565b509590935050506119b7565b503d611aef565b7f20db8267000000000000000000000000000000000000000000000000000000005f5260045ffd5b309161181a565b93949193909290600a8103611c445750505063ffffffff60c08301351682019063ffffffff82351690836020808501948401019101106112945760a061122b5f946111ff86957f0e87e1788ebd9ed6a7e63c70a374cd3283e41cad601d21fbe27863899ed4a7085c9560405195869473ffffffffffffffffffffffffffffffffffffffff60208701997f2b67b570000000000000000000000000000000000000000000000000000000008b52166024870152611c026044870182612d9d565b73ffffffffffffffffffffffffffffffffffffffff611c2360808301612d3c565b1660c4870152013560e4850152610100610104850152610124840191612ccf565b91949390929091600b8103611dfb575050611c64602082013591356131e2565b90807f80000000000000000000000000000000000000000000000000000000000000008103611dcc575050475b80611c9d575050610d35565b73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001691823b156102e057604051907fd0e30db00000000000000000000000000000000000000000000000000000000082525f8260048186885af1918215610e2c5773ffffffffffffffffffffffffffffffffffffffff92611dbc575b501690308203611d3f575b506112f5565b60446020925f60405195869485937fa9059cbb000000000000000000000000000000000000000000000000000000008552600485015260248401525af18015610e2c57611d8e575b8080611d39565b611dae9060203d8111611db5575b611da68183612c28565b810190613237565b505f611d87565b503d611d9c565b5f611dc691612c28565b5f611d2e565b471015611c91577f6a12f104000000000000000000000000000000000000000000000000000000005f5260045ffd5b600c8103611f65575050611e0f81356131e2565b9073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016604051917f70a08231000000000000000000000000000000000000000000000000000000008352306004840152602083602481855afa928315610e2c575f93611f31575b5060200135821061130c5781611ea357505050610d35565b803b156102e0575f80916024604051809481937f2e1a7d4d0000000000000000000000000000000000000000000000000000000083528760048401525af18015610e2c57611f21575b503073ffffffffffffffffffffffffffffffffffffffff831603611f11575b80611386565b611f1a916134c8565b5f80611f0b565b5f611f2b91612c28565b5f611eec565b9092506020813d8211611f5d575b81611f4c60209383612c28565b810103126102e05751916020611e8b565b3d9150611f3f565b600d819c939c9b929597989b99949699145f146121ac57508a358b0198893594611f976020808d019e8d030187612f79565b116103a55773ffffffffffffffffffffffffffffffffffffffff7f0e87e1788ebd9ed6a7e63c70a374cd3283e41cad601d21fbe27863899ed4a7085c169a935f5b8681101561203d578c73ffffffffffffffffffffffffffffffffffffffff61200760208f8560071b01016131c1565b160361201557600101611fd8565b7fe7002877000000000000000000000000000000000000000000000000000000005f5260045ffd5b50989593979694929b919a50985073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690813b156102e0576040517f0d58b1db000000000000000000000000000000000000000000000000000000008152602060048201526024810184905292839160448301915f905b8082106120fe5750505091815f81819503925af18015610e2c576120ee575b50610d35565b5f6120f891612c28565b5f6120e8565b9193509160808060019273ffffffffffffffffffffffffffffffffffffffff61212688612d3c565b16815273ffffffffffffffffffffffffffffffffffffffff61214a60208901612d3c565b16602082015273ffffffffffffffffffffffffffffffffffffffff61217160408901612d3c565b16604082015273ffffffffffffffffffffffffffffffffffffffff61219860608901612d3c565b1660608201520194019201859392916120c9565b80929b93989550600e919a97969450145f146114f95750604051907f70a0823100000000000000000000000000000000000000000000000000000000825273ffffffffffffffffffffffffffffffffffffffff813516600483015260208260248173ffffffffffffffffffffffffffffffffffffffff84860135165afa918215610e2c575f9261227d575b5060400135111580610fe15791506040517fa328167200000000000000000000000000000000000000000000000000000000602082015260048152611270602482612c28565b9091506020813d82116122a9575b8161229860209383612c28565b810103126102e05751906040612237565b3d915061228b565b6010819c929a97939b96999598949c145f146123cc575061230a915f9160405193849283927f48c89491000000000000000000000000000000000000000000000000000000008452602060048501526024840191612ccf565b03818373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165af18015610e2c576123565750610d35565b3d805f833e6123658183612c28565b8101906020818303126102e05780519067ffffffffffffffff82116102e0570181601f820112156102e057805161239b81612c69565b926123a96040519485612c28565b818452602082840101116102e0575f928160208094018483015e0101525f6120e8565b80929495506011919350145f146124ae5750907fffffffff000000000000000000000000000000000000000000000000000000008135167f7ac2ff7b0000000000000000000000000000000000000000000000000000000081036124835750815f929183926040519283928337810183815203908273ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165af190611270612d0d565b7ff801e525000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b601281036127ad57507f0e87e1788ebd9ed6a7e63c70a374cd3283e41cad601d21fbe27863899ed4a7085c917fffffffff000000000000000000000000000000000000000000000000000000008135167f0c49ccbe0000000000000000000000000000000000000000000000000000000081148015612784575b801561275b575b156124835750600481013573ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016936040517f6352211e000000000000000000000000000000000000000000000000000000008152826004820152602081602481895afa908115610e2c5773ffffffffffffffffffffffffffffffffffffffff9182915f9161273d575b50169116908082149182156126a9575b8215612638575b50501561260d575091815f809481946040519384928337810182815203925af190611270612d0d565b7fbb25d4c5000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b909150604051917fe985e9c500000000000000000000000000000000000000000000000000000000835260048301526024820152602081604481885afa908115610e2c575f9161268b575b505f806125e4565b6126a3915060203d8111611db557611da68183612c28565b5f612683565b91506040517f081812fc0000000000000000000000000000000000000000000000000000000081528360048201526020816024818a5afa908115610e2c57839173ffffffffffffffffffffffffffffffffffffffff915f9161270f575b501614916125dd565b612730915060203d8111612736575b6127288183612c28565b81019061349c565b5f612706565b503d61271e565b612755915060203d8111612736576127288183612c28565b5f6125cd565b507f42966c6800000000000000000000000000000000000000000000000000000000811461252f565b507ffc6f7865000000000000000000000000000000000000000000000000000000008114612528565b601381036128b85750505f809160405173ffffffffffffffffffffffffffffffffffffffff60a060208301937f6276cbbe0000000000000000000000000000000000000000000000000000000085528261280682612d3c565b1660248501528261281960208301612d3c565b16604485015262ffffff61282f60408301612d5d565b16606485015261284160608201612d6d565b60020b60848501528261285660808301612d3c565b1660a485015201351660c482015260c4815261287360e482612c28565b51908273ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165af190611270612d0d565b601481036114f957507fffffffff000000000000000000000000000000000000000000000000000000008235167fdd46508f0000000000000000000000000000000000000000000000000000000081036124835750806004116102e05761294d6129477ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc830160048501612e12565b90612e12565b5f5b8181106129b1575050505f91829147918160405192839283378101848152039173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165af190611270612d0d565b6129bc8183856109e4565b3560f81c8015908115612a11575b8115612a06575b506129de5760010161294f565b7f5d1d0f9f000000000000000000000000000000000000000000000000000000005f5260045ffd5b60039150145f6129d1565b6001811491506129ca565b9098959199506021819b939b989598979497145f146114f9575090612a4091613404565b612a836040959395519460208601967f24856bc3000000000000000000000000000000000000000000000000000000008852604060248801526064870191612ccf565b927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc858503016044860152818452602084019160208160051b86010194845f907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603015b848310612b3d5750505050505050509181612b2e5f94938594037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282612c28565b519082305af190611270612d0d565b90919293949596977fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08582030188528835828112156102e0578301906020823592019167ffffffffffffffff81116102e05780360383136102e057612ba760209283928b95612ccf565b9a01980196959493019190612ae9565b7fff633a38000000000000000000000000000000000000000000000000000000005f5260045ffd5b60a0810190811067ffffffffffffffff821117612bfb57604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117612bfb57604052565b67ffffffffffffffff8111612bfb57601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b7f80000000000000000000000000000000000000000000000000000000000000008114610346575f0390565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe093818652868601375f8582860101520116010190565b3d15612d37573d90612d1e82612c69565b91612d2c6040519384612c28565b82523d5f602084013e565b606090565b359073ffffffffffffffffffffffffffffffffffffffff821682036102e057565b359062ffffff821682036102e057565b35908160020b82036102e057565b908160209103126102e0575190565b359065ffffffffffff821682036102e057565b65ffffffffffff612e0c6060809373ffffffffffffffffffffffffffffffffffffffff612dc982612d3c565b16865273ffffffffffffffffffffffffffffffffffffffff612ded60208301612d3c565b16602087015283612e0060408301612d8a565b16604087015201612d8a565b16910152565b909163ffffffff82351682019263ffffffff8435169260208086019585010191011061129457565b909163ffffffff60608301351682019263ffffffff8435169260208086019585010191011061129457565b9073ffffffffffffffffffffffffffffffffffffffff9283821684841611612f71575b62ffffff90846040519381602086019616865216604084015216606082015260608152612eb6608082612c28565b5190206040517fff00000000000000000000000000000000000000000000000000000000000000602082019081527f000000000000000000000000000000000000000000000000000000000000000060601b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000016602183015260358201929092527f00000000000000000000000000000000000000000000000000000000000000006055820152612f6a81607581016111ff565b5190201690565b909190612e88565b9190820180921161034657565b9092919073ffffffffffffffffffffffffffffffffffffffff84163003612fb357612fb1935061326c565b565b919273ffffffffffffffffffffffffffffffffffffffff8411612ff05773ffffffffffffffffffffffffffffffffffffffff612fb1941692613348565b7fc4bd89a9000000000000000000000000000000000000000000000000000000005f5260045ffd5b939290602b82106103a5578235938460601c92601785013560601c9380851094859760481c62ffffff169061304c92612e65565b73ffffffffffffffffffffffffffffffffffffffff1692845f1460409673ffffffffffffffffffffffffffffffffffffffff80956130e15f9661313495613182576401000276a4925b846130af8e51978f94899560208701526060860191612ccf565b91168d830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101855284612c28565b89519b8c998a9889977f128acb080000000000000000000000000000000000000000000000000000000089521660048801526024870152604486015216606484015260a0608484015260a48301906109a1565b03925af18015610e2c575f925f9161314b57509192565b9250506040823d60401161317a575b8161316760409383612c28565b810103126102e057602082519201519192565b3d915061315a565b73fffd8963efd1fc6a506488495d951d5263988d2592613095565b9160608301358301916131ba602084359581860195030185612f79565b116103a557565b3573ffffffffffffffffffffffffffffffffffffffff811681036102e05790565b73ffffffffffffffffffffffffffffffffffffffff8116600181036132285750507f0e87e1788ebd9ed6a7e63c70a374cd3283e41cad601d21fbe27863899ed4a7085c90565b60020361323457503090565b90565b908160209103126102e0575180151581036102e05790565b91908110156109f05760051b0190565b9190820391821161034657565b90919073ffffffffffffffffffffffffffffffffffffffff16806132945750612fb1916134c8565b7f800000000000000000000000000000000000000000000000000000000000000082146132c6575b91612fb192613a14565b9050604051917f70a08231000000000000000000000000000000000000000000000000000000008352306004840152602083602481855afa8015610e2c575f90613314575b909250906132bc565b506020833d602011613340575b8161332e60209383612c28565b810103126102e057612fb1925161330b565b3d9150613321565b919273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001691823b156102e0575f73ffffffffffffffffffffffffffffffffffffffff9384829681608496816040519b8c9a8b997f36c78516000000000000000000000000000000000000000000000000000000008b521660048a01521660248801521660448601521660648401525af18015610e2c576133fa5750565b5f612fb191612c28565b604081351891606082019363ffffffff6040840135169363ffffffe0601f8601169060608201602086013518179084019260608401359463ffffffff861694641fffffffe0608082019760051b1680915f925b80841061346f57506080925001019101101761129457565b90916020809163ffffffe0601f60808089890101359b848d18179b88010135011601019301929190613457565b908160209103126102e0575173ffffffffffffffffffffffffffffffffffffffff811681036102e05790565b5f80809381935af1156134d757565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4554485f5452414e534645525f4641494c4544000000000000000000000000006044820152fd5b51906dffffffffffffffffffffffffffff821682036102e057565b908160609103126102e05761356481613535565b91604061357360208401613535565b92015163ffffffff811681036102e05790565b91600282106139605781156109f05761359e836131c1565b82600110156109f0576135ba906115af602086979596016131c1565b50927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8101937ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe8201955f906020937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08501965b8884106136415750505050505050505050565b61364f61165585848661324f565b9473ffffffffffffffffffffffffffffffffffffffff61367661165560018801868861324f565b921695604051917f0902f1ac0000000000000000000000000000000000000000000000000000000083526060836004818b5afa918215610e2c57895f945f9461390d575b5073ffffffffffffffffffffffffffffffffffffffff806dffffffffffffffffffffffffffff80602496979816971693169416841494855f146139075791935b604051938480927f70a082310000000000000000000000000000000000000000000000000000000082528d60048301525afa918215610e2c575f926138d8575b50808203928115928380156138d0575b611a8157826103e586029586046103e514911417156103465761376d9084613988565b916103e882029182046103e8141715610346576137939261378d91612f79565b9061399b565b90156138c9575f90915b8b8610156138c057906137be613808926115af61165560028a01888a61324f565b8193917f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000614226565b915b96604051906138198a83612c28565b5f82528b368b840137803b156102e057613894945f8094604051978895869485937f022c0d9f0000000000000000000000000000000000000000000000000000000085526004850152602484015273ffffffffffffffffffffffffffffffffffffffff891660448401526080606484015260848301906109a1565b03925af1918215610e2c576001926138b0575b5093019261362e565b5f6138ba91612c28565b5f6138a7565b5087905f61380a565b5f9161379d565b50811561374a565b9091508981813d8311613900575b6138f08183612c28565b810103126102e05751905f61373a565b503d6138e6565b936136fa565b6dffffffffffffffffffffffffffff9550602493945073ffffffffffffffffffffffffffffffffffffffff86613951829360603d8111611b0d57611af98183612c28565b509890989796505050506136ba565b7fae52ad0c000000000000000000000000000000000000000000000000000000005f5260045ffd5b8181029291811591840414171561034657565b81156139a5570490565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b61271082116139ec57612710916139e891613988565b0490565b7fdeaa01e6000000000000000000000000000000000000000000000000000000005f5260045ffd5b5f9182604492602095604051937fa9059cbb000000000000000000000000000000000000000000000000000000008552600485015260248401525af13d15601f3d1160015f511416171615613a6557565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f5452414e534645525f4641494c454400000000000000000000000000000000006044820152fd5b929190600b84101561401c5760078403613c3557613ae292935061474f565b6020810190613af1828261475d565b90505f92613afe836131c1565b90613b0b604085016146bc565b906fffffffffffffffffffffffffffffffff821615613c1c575b92915f915b838310613bab5750505050506060016fffffffffffffffffffffffffffffffff80613b54836146bc565b169216918210613b62575050565b613b7c6fffffffffffffffffffffffffffffffff916146bc565b7f8b063d73000000000000000000000000000000000000000000000000000000005f521660045260245260445ffd5b8496506fffffffffffffffffffffffffffffffff613c0091613be7613be086613bda613c059798999a8c61475d565b906147b1565b9586614ad8565b613bf46080880188610a1d565b949093165f0391614938565b614bff565b946001613c1287936131c1565b9194930191613b2a565b9050613c2f613c2a83614314565b6148f3565b90613b25565b60068403613d2c57613c489293506146ad565b613c5460c082016146bc565b6fffffffffffffffffffffffffffffffff811615613cdb575b613cbe613c0060e092613c9d6fffffffffffffffffffffffffffffffff613c9660a088016146d9565b9216612ca3565b90613cac610100870187610a1d565b929091613cb936896146e6565b614938565b91016fffffffffffffffffffffffffffffffff80613b54836146bc565b50613ce860a082016146d9565b15613d125760e0613cbe613c00613d09613c2a613d04866131c1565b614314565b92505050613c6d565b60e0613cbe613c00613d09613c2a613d04602087016131c1565b60098403613ecf57613d3f92935061474f565b6020810190613d4e828261475d565b5f939150613d5e604084016146bc565b613d67846131c1565b916fffffffffffffffffffffffffffffffff821615613ebb575b92919290815b613e0457505050506060016fffffffffffffffffffffffffffffffff80613dad836146bc565b169216918211613dbb575050565b613dd56fffffffffffffffffffffffffffffffff916146bc565b7f12bacdd3000000000000000000000000000000000000000000000000000000005f521660045260245260445ffd5b829395506fffffffffffffffffffffffffffffffff613e7b91613e61613e5a613e31613e8596978a61475d565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8901916147b1565b9889614ad8565b90613e6f60808b018b610a1d565b94909316911590614938565b600f0b5f036148f3565b937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff613eb186926131c1565b9392019081613d87565b9050613ec9613c2a8361462e565b90613d81565b60088414613f06575050505b7f5cda29d7000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b613f119293506146ad565b613f1d60c082016146bc565b6fffffffffffffffffffffffffffffffff811615613fa1575b613f84613c2a613f7c6fffffffffffffffffffffffffffffffff60e094613f5f60a088016146d9565b613f6d610100890189610a1d565b9390921690613cb9368a6146e6565b600f0b612ca3565b91016fffffffffffffffffffffffffffffffff80613dad836146bc565b50613fae60a082016146d9565b15613ff15760e0613f84613c2a613f7c6fffffffffffffffffffffffffffffffff613fe6613c2a613fe1602089016131c1565b61462e565b945050505050613f36565b60e0613f84613c2a613f7c6fffffffffffffffffffffffffffffffff613fe6613c2a613fe1886131c1565b92600c81036140a05750614030919261461b565b9061403a8161462e565b91808311614070575090612fb1917f0e87e1788ebd9ed6a7e63c70a374cd3283e41cad601d21fbe27863899ed4a7085c90614495565b90507f12bacdd3000000000000000000000000000000000000000000000000000000005f5260045260245260445ffd5b600f810361412357506140b3919261461b565b906140bd81614314565b918083106140f3575090612fb1917f0e87e1788ebd9ed6a7e63c70a374cd3283e41cad601d21fbe27863899ed4a7085c9061438d565b90507f8b063d73000000000000000000000000000000000000000000000000000000005f5260045260245260445ffd5b600b810361417c575061413a90612fb192936142fc565b156141715761416b827f0e87e1788ebd9ed6a7e63c70a374cd3283e41cad601d21fbe27863899ed4a7085c92614454565b91614495565b61416b823092614454565b600e81036141af57506141a36141996141a992612fb194956142fc565b92829492916131e2565b92614440565b9161438d565b92601084146141c057505050613edb565b612fb19293506141d66141df926141a9926142fc565b929193906131e2565b916141e984614314565b6139d2565b73ffffffffffffffffffffffffffffffffffffffff821673ffffffffffffffffffffffffffffffffffffffff8216105f14610a855791565b91612f6a9073ffffffffffffffffffffffffffffffffffffffff947fffffffffffffffffffffffffffffffffffffffff0000000000000000000000006040519181602084019460601b16845260601b1660348201526028815261428a604882612c28565b5190206111ff604051938492602084019687917fffffffffffffffffffffffffffffffffffffffff000000000000000000000000605594927fff00000000000000000000000000000000000000000000000000000000000000855260601b166001840152601583015260358201520190565b90606011611294578035916040602083013592013590565b61433f81307f00000000000000000000000000000000000000000000000000000000000000006147f1565b905f821261434b575090565b73ffffffffffffffffffffffffffffffffffffffff907f4c085bf1000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b9091801561443b5773ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016803b156102e0575f928360649273ffffffffffffffffffffffffffffffffffffffff948560405198899788967f0b0d9c0900000000000000000000000000000000000000000000000000000000885216600487015216602485015260448401525af18015610e2c576133fa5750565b505050565b9081614450576132349150614314565b5090565b907f8000000000000000000000000000000000000000000000000000000000000000820361448657613234915061488b565b8161445057613234915061462e565b5f9183156146155773ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001691823b156102e05773ffffffffffffffffffffffffffffffffffffffff604051917fa584119400000000000000000000000000000000000000000000000000000000835216908160048201525f8160248183885af18015610e2c57614600575b50806145b35750506020906004604051809581937f11da60b40000000000000000000000000000000000000000000000000000000083525af19081156145a7575061457c5750565b61459d9060203d6020116145a0575b6145958183612c28565b810190612d7b565b50565b503d61458b565b604051903d90823e3d90fd5b839483602094936145c393612f86565b6004604051809581937f11da60b40000000000000000000000000000000000000000000000000000000083525af19081156145a7575061457c5750565b61460d9194505f90612c28565b5f925f614534565b50505050565b9190604011611294576020823592013590565b61465981307f00000000000000000000000000000000000000000000000000000000000000006147f1565b905f821361466b575061323490612ca3565b73ffffffffffffffffffffffffffffffffffffffff907f3351b260000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b90610140116112945780350190565b356fffffffffffffffffffffffffffffffff811681036102e05790565b3580151581036102e05790565b91908260a09103126102e0576040516146fe81612bdf565b608061474a81839561470f81612d3c565b855261471d60208201612d3c565b602086015261472e60408201612d5d565b604086015261473f60608201612d6d565b606086015201612d3c565b910152565b9060a0116112945780350190565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156102e0570180359067ffffffffffffffff82116102e057602001918160051b360383136102e057565b91908110156109f05760051b810135907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61813603018212156102e0570190565b73ffffffffffffffffffffffffffffffffffffffff809381602094165f52168252602460405f2060405194859384927ff135baaa0000000000000000000000000000000000000000000000000000000084526004840152165afa908115610e2c575f9161485c575090565b90506020813d602011614883575b8161487760209383612c28565b810103126102e0575190565b3d915061486a565b73ffffffffffffffffffffffffffffffffffffffff16806148ab57504790565b6020602491604051928380927f70a082310000000000000000000000000000000000000000000000000000000082523060048301525afa908115610e2c575f9161485c575090565b906fffffffffffffffffffffffffffffffff821680920361491057565b7f93dafdf1000000000000000000000000000000000000000000000000000000005f5260045ffd5b9092908315614abd576401000276a4905b60405194606086019386851067ffffffffffffffff861117612bfb5773ffffffffffffffffffffffffffffffffffffffff9788608095614a2b946020986040521515998a8152888101908a82528360408201931683526040519c8d998a997ff3cd914c000000000000000000000000000000000000000000000000000000008b528281511660048c0152828d8201511660248c015262ffffff60408201511660448c0152606081015160020b60648c0152015116608489015251151560a48801525160c4870152511660e4850152610120610104850152610124840191612ccf565b03815f73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165af1928315610e2c575f93614a89575b505f1303614a8357600f0b90565b60801d90565b9092506020813d602011614ab5575b81614aa560209383612c28565b810103126102e05751915f614a75565b3d9150614a98565b73fffd8963efd1fc6a506488495d951d5263988d2590614949565b905f6080604051614ae881612bdf565b8281528260208201528260408201528260608201520152614b08826131c1565b73ffffffffffffffffffffffffffffffffffffffff82169173ffffffffffffffffffffffffffffffffffffffff82168084105f14614be0575073ffffffffffffffffffffffffffffffffffffffff905b1680921492602081013562ffffff81168091036102e0576040820135918260020b8093036102e057606001359273ffffffffffffffffffffffffffffffffffffffff84168094036102e05773ffffffffffffffffffffffffffffffffffffffff9060405195614bc687612bdf565b865216602085015260408401526060830152608082015291565b91505073ffffffffffffffffffffffffffffffffffffffff8291614b58565b5f81600f0b12614910576fffffffffffffffffffffffffffffffff169056fea26469706673582212203f74c3163bda9858f75423a8d5296171c656ad9395651c0c918a3dea5e04a03264736f6c634300081a0033","sourceMap":"671:2026:0:-:0;;;;;;;;;-1:-1:-1;671:2026:0;;;;;;;;;1410:5;671:2026;1388:10;:28;;:66;;;671:2026;1384:97;;671:2026;1384:97;1463:18;;;671:2026;1463:18;;1388:66;1442:11;671:2026;1442:11;671:2026;1388:10;1420:34;;1388:66;;671:2026;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;1787:17:19;;;;;:38;;;671:2026:0;1783:66:19;;1942:34;;;671:2026:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2008:15:19;;;:::i;:::-;1324:23:17;636:1:6;930:31;636:1;1308:39:17;;1304:70;;1384:239;;;;671:2026:0;1384:239:17;;2232:42:19;1384:239:17;;;;;671:2026:0;1384:239:17;;;;;2232:42:19;;;:::i;:::-;671:2026:0;2278:10:19;671:2026:0;;2232:56:19;2228:86;;2380:108;;;2400:18;;;;2380:108;2499:781;;;2278:10;;;2621:11;2278:10;;;2621:11;;:::i;:::-;671:2026:0;2499:781:19;1118:19:6;;;;;;636:1;;;;;;;;569:53:18;;636:1:6;;1699:36:18;671:2026:0;;;;;;;;;1004:10:116;1008:6;1004:10;;671:2026:0;;;2891:62:19;2278:10;2897:23;2278:10;2897:23;;:::i;:::-;2891:62;:::i;671:2026:0:-;;;;2716:554:19;695:89:8;;;;;;;;;2996:34:19;;2992:67;;3243:11;2278:10;;3243:11;;:::i;2992:67::-;3039:20;671:2026:0;3039:20:19;671:2026:0;;3039:20:19;636:1:6;671:2026:0;;;;;;;;;2380:108:19;2446:18;;;;;2380:108;;2228:86;2297:17;671:2026:0;2297:17:19;671:2026:0;;2297:17:19;1304:70:17;1356:18;671:2026:0;1356:18:17;671:2026:0;;1356:18:17;1783:66:19;1834:15;671:2026:0;1834:15:19;671:2026:0;;1834:15:19;1787:38;1808:17;671:2026:0;1808:17:19;;;1787:38;;671:2026:0;;;;;;;;;;;;;;;411:41:86;671:2026:0;;;;;;;;;;;;;;;;874:77:7;;671:2026:0;;;;;;;;;;;;;;;;;;;;;;;739:53:9;671:2026:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;672:11:86;671:2026:0;650:10:86;:34;646:63;;1633:32:84;;;:::i;:::-;1907:27;;;;1903:61;;671:2026:0;2005:24:84;;;;;;671:2026:0;;;;;;;:::i;:::-;;1800:4:5;;671:2026:0;;;;;;;;;;;;;:::i;:::-;;;;2031:13:84;2083:20;2141:19;2083:20;671:2026:0;2083:20:84;;;;:::i;:::-;;313:4:5;;2141:19:84;;;;;:::i;:::-;;;:::i;:::-;671:2026:0;1980:23:84;;1903:61;1943:21;671:2026:0;1943:21:84;671:2026:0;;1943:21:84;646:63:86;693:16;671:2026:0;693:16:86;671:2026:0;;693:16:86;671:2026:0;;;;;;;;;;;;;;;626:64:9;671:2026:0;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;1220:15;:26;1216:66;;602:10:2;624:4;602:27;624:4;;671:2026:0;874:77:7;;671:2026:0;645:46:2;;741:1;602:10;;874:77:7;722:76;741:1:2;:::i;:::-;671:2026:0;874:77:7;722:76;671:2026:0;645:46:2;675:16;671:2026:0;675:16:2;671:2026:0;;675:16:2;598:308;894:1;;;:::i;1216:66:0:-;1255:27;671:2026;1255:27;671:2026;;1255:27;671:2026;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;624:4:2;602:10;624:4;602:27;624:4;;671:2026:0;874:77:7;;671:2026:0;645:46:2;;741:1;602:10;;874:77:7;722:76;741:1:2;:::i;671:2026:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;671:2026:0;;;;;;;;;;;:::o;:::-;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;;:::o;1764:790::-;;;1979:28;;;1975:57;;2139:24;;;-1:-1:-1;2134:414:0;2165:26;;;;;;1764:790;;;;;:::o;2193:14::-;2240:22;;;;;;;;;;:::i;:::-;;2300:20;;;;;;:::i;:::-;2355:24;;;671:2026;313:4:5;;;671:2026:0;313:4:5;;2836:14:1;671:2026:0;2899:35:1;1800:4:5;2899:35:1;;2895:13761;1800:4:5;;;1454;2992:26:1;;1454:4:5;;;1021;3084:35:1;;1021:4:5;;;3147:36:1;;;3484:419;3950:17;3484:419;;;;3950:17;;;:::i;:::-;4009:41;;3484:419;;;;;;;874:77:7;;4009:41:1;;4093:14;3484:419;;4093:14;:::i;:::-;4139:5;;;;;;678:66:100;4139:5:1;3978:44:19;3974:180;;4009:41:1;4164:17:19;;4191:922;636:1:6;1102:35;636:1;;678:66:100;1004:10:116;;671:2026:0;;;1102:35:6;;4481:44:19;;569:53:18;;1102:35:6;;4508:4:19;;4481:44;;671:2026:0;;;;;3484:419:1;4421:335:19;671:2026:0;-1:-1:-1;1384:239:17;;;;1433:10:19;;6934:23;1384:239:17;6737:42:19;1384:239:17;671:2026:0;1384:239:17;636:1:6;1384:239:17;;;;671:2026:0;1384:239:17;;6641:18:19;;;6616:64;1384:239:17;;;6737:42:19;;:::i;:::-;671:2026:0;6867:52:19;;;;;;1433:10;6867:52;;671:2026:0;;;6934:23:19;;;;3484:419:1;6934:23:19;;1433:10;671:2026:0;1433:10:19;;;;;;:::i;:::-;671:2026:0;;1433:10:19;;;671:2026:0;6934:23:19;;;;;;;;:::i;:::-;671:2026:0;;;6722:245:19;;;;;;;1297:4:5;6722:245:19;;671:2026:0;6722:245:19;;;671:2026:0;1433:10:19;;;;;;;;671:2026:0;;1433:10:19;;;671:2026:0;1433:10:19;;;;;;;;;;:::i;:::-;6722:245;;;;;;;;;-1:-1:-1;;;6722:245:19;;;6867:52;4790:43;;-1:-1:-1;4792:40:19;;;;4790:43;:::i;:::-;1102:35:6;;;;;569:53:18;;1102:35:6;;4960:4:19;1699:36:18;671:2026:0;636:1:6;671:2026:0;;;1699:36:18;;;636:1:6;671:2026:0;4983:23:19;;671:2026:0;;;4191:922:19;;4904:199;5045:20;;;;;;;;;;;;3484:419:1;5045:20:19;5083:5;3484:419:1;;-1:-1:-1;5123:62:19;;3143:5724:1;2398:8:0;:36;;;;2895:13761:1;2394:144:0;;;2193:14;671:2026;;2139:24;;;;;;2394:144;671:2026;;;;2461:62;;;;;;;;;671:2026;;;;;;;;;;;:::i;:::-;2461:62;;;2398:36;671:2026;2647:36;;;:41;2398:36;;;5123:62:19;5164:21;-1:-1:-1;5164:21:19;6722:245;-1:-1:-1;5164:21:19;4792:40;;;4790:43;:::i;6722:245::-;;;;3484:419:1;6722:245:19;;;;;;;;;3484:419:1;6722:245:19;;;:::i;:::-;;;1433:10;;;;;3484:419:1;4790:43:19;1433:10;;;;;6722:245;;;;;;-1:-1:-1;6722:245:19;;;3484:419:1;671:2026:0;1297:4:5;-1:-1:-1;1297:4:5;;;;;6867:52:19;1614:49;6867:52;;;4481:44;;;;3974:180;1666:4:5;692:35:17;;;;688:66;;3484:419:1;4104:39:19;671:2026:0;3484:419:1;671:2026:0;4104:39:19;;;;1297:4:5;4104:39:19;;4137:4;4104:39;;;671:2026:0;764:81:17;671:2026:0;764:81:17;4104:39:19;;;;;;;-1:-1:-1;4104:39:19;;;3974:180;4093:50;3974:180;;;;4104:39;;;3484:419:1;4104:39:19;;;;;;;;;1297:4:5;4104:39:19;;;:::i;:::-;;;1297:4:5;;;;;4104:39:19;;;;;;-1:-1:-1;4104:39:19;;4009:41:1;4045:4;4009:41;;;3143:5724;671:2026:0;4178:37:1;;;;;;;;;;;;;;4174:4693;671:2026:0;;;4516:419:1;;4982:17;4516:419;;;;4982:17;;;:::i;:::-;4516:419;;;;;;;874:77:7;;5041:41:1;;4516:419;5126:14;4516:419;;5126:14;:::i;:::-;4516:419;;;526:88:8;;1008:6:116;1004:10;;671:2026:0;;;5899:59:19;5905:21;;;;:::i;5899:59::-;5997:60;;;;;;6018:13;;;;:::i;:::-;6072:30;6068:63;;-1:-1:-1;526:88:8;;4174:4693:1;3143:5724;;6068:63:19;6111:20;-1:-1:-1;6111:20:19;;-1:-1:-1;6111:20:19;5997:60;6043:13;;;;:::i;:::-;5997:60;;5041:41:1;5077:4;5041:41;;;4174:4693;690:4:5;5211:41:1;;690:4:5;;-1:-1:-1;5828:6:1;;5489:258;;;;;-1:-1:-1;874:77:7;;5812:14:1;5489:258;;;;5812:14;:::i;:::-;5489:258;;5828:6;:::i;5207:3660::-;5868:40;;;;;;;740:4:5;5868:40:1;;740:4:5;;6013:320:1;;;;;;;15527:941:103;;;;;;;;;;;;;;;;;;;;;;;;;;;874:77:7;;671:2026:0;;;6494:290:1;671:2026:0;15527:941:103;6494:290:1;;;;;;671:2026:0;6494:290:1;;;671:2026:0;;854:4:5;;;;;;;;;;;;;;;;;;;;;;15527:941:103;854:4:5;;;;;;;;;;;;;;;;;;;;;671:2026:0;854:4:5;;;;671:2026:0;;;;854:4:5;;-1:-1:-1;854:4:5;;;;;;;;;;;;-1:-1:-1;854:4:5;;;;6494:290:1;854:4:5;671:2026:0;854:4:5;671:2026:0;1297:4:5;15527:941:103;854:4:5;;;1297;:::i;:::-;671:2026:0;854:4:5;;;671:2026:0;854:4:5;671:2026:0;854:4:5;;;671:2026:0;854:4:5;;;;;;;;;;:::i;:::-;6494:290:1;;;;;;;;:::i;:::-;6443:367;6451:7;;671:2026:0;6451:7:1;671:2026:0;6443:367:1;;;;;:::i;:::-;6423:387;3143:5724;;854:4:5;;;;;;;;671:2026:0;854:4:5;;;:::i;:::-;;;;;;;;;15527:941:103;;-1:-1:-1;15527:941:103;;;;5864:3003:1;6843:25;;;;;-1:-1:-1;6843:25:1;775:4:5;6843:25:1;;775:4:5;;7109:261:1;7417:14;7109:261;;;;7417:14;:::i;:::-;7109:261;671:2026:0;7109:261:1;;;;;671:2026:0;7109:261:1;;671:2026:0;2624:22:10;;2620:439;671:2026:0;;;2672:21:10;;2711:23;;;2707:53;;2778:11;2774:51;;2620:439;;;3143:5724:1;;2774:51:10;2817:7;;;:::i;:::-;2774:51;;;;2707:53;2743:17;-1:-1:-1;2743:17:10;775:4:5;-1:-1:-1;2743:17:10;2620:439;671:2026:0;7109:261:1;671:2026:0;2866:37:10;1297:4:5;2866:37:10;;2897:4;775::5;2866:37:10;;671:2026:0;7109:261:1;2866:37:10;;;;;;;;;;;-1:-1:-1;2866:37:10;;;2620:439;2921:23;;;2917:55;;2990:11;2986:62;;2620:439;;;;3143:5724:1;;2986:62:10;3040:7;;;:::i;:::-;2986:62;;;;;2917:55;2953:19;-1:-1:-1;2953:19:10;775:4:5;-1:-1:-1;2953:19:10;2866:37;;;;7109:261:1;2866:37:10;;;;;;;;;1297:4:5;2866:37:10;;;:::i;:::-;;;1297:4:5;;;;;2866:37:10;;;;;;;-1:-1:-1;2866:37:10;;6839:2028:1;813:4:5;7476:28:1;;813:4:5;;7741:257:1;;;8059:5;7741:257;;;;8043:14;7741:257;;;;8043:14;:::i;:::-;7741:257;;8059:5;:::i;7472:1395::-;854:4:5;8098:31:1;;854:4:5;;8365:256:1;;;;;;671:2026:0;8673:14:1;8365:256;;;;8673:14;:::i;:::-;8365:256;;671:2026:0;1827:22:10;671:2026:0;;1883:21:10;1935:30;2005:6;1883:21;;1935:30;:::i;:::-;2005:6;;:::i;1823:405::-;671:2026:0;8365:256:1;671:2026:0;1297:4:5;2061:37:10;;2092:4;775::5;2061:37:10;;671:2026:0;8365:256:1;2061:37:10;;;;;;;;;;;-1:-1:-1;2061:37:10;;;1823:405;2129:30;2210:6;2129:30;;;;:::i;:::-;2210:6;;:::i;2061:37::-;;;8365:256:1;2061:37:10;;;;;;;;;1297:4:5;2061:37:10;;;:::i;:::-;;;1297:4:5;;;;;2210:6:10;2061:37;;;;;-1:-1:-1;2061:37:10;;8094:773:1;8817:27;-1:-1:-1;8817:27:1;775:4:5;671:2026:0;1800:4:5;-1:-1:-1;8817:27:1;3080:11269;1021:4:5;8963:36:1;;;;;;;;;;;;;;8959:5372;1021:4:5;;;9300:419:1;3142:28:17;9300:419:1;;;;3142:28:17;;;:::i;:::-;9836:41:1;9300:419;;;;;;;874:77:7;;9836:41:1;;9920:14;9300:419;;9920:14;:::i;:::-;671:2026:0;;;;;2959:7:16;;;:::i;:::-;671:2026:0;;;;;;892:26:15;935:55;671:2026:0;2968:7:16;9300:419:1;671:2026:0;;2968:7:16;:::i;:::-;892:26:15;;:::i;:::-;2927:30:16;;2907:18;935:55:15;:::i;:::-;3003:34:16;;;2986:208;;9836:41:1;307:1:6;;;;;;;;;;;3227:21:16;;671:2026:0;3227:21:16;;;;:::i;:::-;;:::i;:::-;671:2026:0;;9300:419:1;671:2026:0;3283:29:16;1297:4:5;3283:29:16;;671:2026:0;;;3283:29:16;;;;;671:2026:0;9300:419:1;3283:29:16;;;;;;;;;;;-1:-1:-1;3283:29:16;;;9836:41:1;3348:9:16;;;;;9300:419:1;3348:9:16;;;:::i;:::-;3283:29;9300:419:1;671:2026:0;3389:29:16;;;;1297:4:5;3389:29:16;;3283;3389;;671:2026:0;3389:29:16;;;;;;;-1:-1:-1;3389:29:16;;;9836:41:1;9300:419;;3389:45:16;9300:419:1;;;;3389:45:16;;:::i;:::-;3448:28;3444:62;3080:11269:1;3444:62:16;3485:21;-1:-1:-1;3485:21:16;3283:29;-1:-1:-1;3485:21:16;3389:29;;;9300:419:1;3389:29:16;;;;;;;;;1297:4:5;3389:29:16;;;:::i;:::-;;;1297:4:5;;;;;;;9300:419:1;3389:29:16;;;;;-1:-1:-1;3389:29:16;;3283;;;;;;9300:419:1;3283:29:16;;;;;;;;;1297:4:5;3283:29:16;;;:::i;:::-;;;1297:4:5;;;;;;3283:29:16;;1297:4:5;;3283:29:16;;3348:9;3283:29;;;;;-1:-1:-1;3283:29:16;;2986:208;3174:8;671:2026:0;3147:7:16;;;:::i;:::-;3174:8;:::i;:::-;2986:208;;;;;9836:41:1;9872:4;9836:41;;;8959:5372;1068:4:5;10005:37:1;;1068:4:5;;3142:28:17;;;;;:::i;:::-;10343:419:1;;;;;;;874:77:7;;10879:41:1;;10964:14;10343:419;;10964:14;:::i;:::-;4207:18:16;;4227:30;;4170:105;-1:-1:-1;5668:15:15;5682:1;5668:15;;5664:41;;10343:419:1;;;;307:1:6;;;;;;;;;5748:27:15;;5743:295;5777:5;;;10343:419:1;;;;;;4289:26:16;;4285:59;;671:2026:0;;;;4447:9:16;4376:7;;4403:8;4376:7;;;;:::i;4403:8::-;4447:9;:::i;4285:59::-;4324:20;-1:-1:-1;4324:20:16;3352:34:15;-1:-1:-1;4324:20:16;5784:3:15;307:1:6;;;;;;;;;;;;;;5941:11:15;;1680:55;5941:11;;;;:::i;:::-;1637:26;5954:7;;;;;;:::i;:::-;1637:26;;:::i;:::-;1680:55;;;;;;;:::i;:::-;671:2026:0;10343:419:1;671:2026:0;3352:34:15;1297:4:5;3352:34:15;;671:2026:0;;3352:34:15;671:2026:0;;;;3352:34:15;;;;;;;-1:-1:-1;;;3352:34:15;;;5784:3;671:2026:0;;;;;;;;;3419:62:15;671:2026:0;;;3419:16:15;:62;671:2026:0;;;3419:62:15;;;4800:14;;;:33;;;;3419:62;4796:63;;4889:21;;;;:::i;:::-;192:6:102;4913:4:15;192:6:102;;;;;;4913:4:15;192:6:102;;;;;;;4950:22:15;;;:::i;:::-;4976:3;192:6:102;;;;;;4976:3:15;192:6:102;;;;;;;5001:23:15;;;:::i;:::-;671:2026:0;636:1:6;;;;;;;5784:3:15;671:2026:0;;;;307:1:6;671:2026:0;5748:27:15;;;;;4796:63;4842:17;-1:-1:-1;4842:17:15;3352:34;-1:-1:-1;4842:17:15;4800:33;4818:15;;;4800:33;;3419:62;;;;3352:34;671:2026:0;3352:34:15;;;671:2026:0;3352:34:15;;;;;671:2026:0;3352:34:15;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;;;;;5664:41;5692:13;-1:-1:-1;5692:13:15;;-1:-1:-1;5692:13:15;10879:41:1;10915:4;10879:41;;;10001:4330;11049:34;;;;;;;1112:4:5;11049:34:1;;1112:4:5;;11431:17:1;;;15527:941:103;;;;;;;;;;;;;;;;;;;;;;;;;;;;1297:4:5;11588:289:1;-1:-1:-1;874:77:7;1297:4:5;874:77:7;;;;671:2026:0;;;11588:289:1;;;671:2026:0;15527:941:103;11588:289:1;;;;;;671:2026:0;11588:289:1;;;671:2026:0;1297:4:5;;;;;;:::i;:::-;671:2026:0;1297:4:5;;;;;:::i;:::-;671:2026:0;1297:4:5;;;671:2026:0;1297:4:5;671:2026:0;1297:4:5;;;671:2026:0;1297:4:5;;;;;;;;;;:::i;11045:3286:1:-;11936:28;;;;;;;1150:4:5;11936:28:1;;1150:4:5;;12153:182:1;;12377:14;12153:182;;;;;;12377:14;:::i;:::-;12393:6;;678:66:100;3313:42:10;;678:66:100;;3380:21:10;;;3309:194;3516:10;3512:182;;11932:2399:1;;3143:5724;;3512:182:10;671:2026:0;3542:5:10;671:2026:0;3542:30:10;;;;;;671:2026:0;;3542:30:10;1297:4:5;3542:30:10;;-1:-1:-1;3542:30:10;;;;;;;;;;;;671:2026:0;3542:30:10;;;3512:182;671:2026:0;;3611:4:10;;3590:26;;3586:98;;3512:182;;;;3586:98;3636:33;12153:182:1;671:2026:0;-1:-1:-1;671:2026:0;;3636:33:10;;;;;1297:4:5;3636:33:10;;3542:30;3636:33;;671:2026:0;678:66:100;;;671:2026:0;3636:33:10;;;;;;;;3586:98;;;;;3636:33;;;12153:182:1;3636:33:10;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;3542:30;-1:-1:-1;3542:30:10;;;:::i;:::-;;;;3309:194;3431:21;-1:-1:-1;3418:85:10;3309:194;3418:85;3475:17;-1:-1:-1;3475:17:10;;-1:-1:-1;3475:17:10;11932:2399:1;1191:4:5;12433:31:1;;1191:4:5;;12656:185:1;;12887:14;12656:185;;12887:14;:::i;:::-;3977:5:10;671:2026:0;3977:5:10;671:2026:0;;;3977:30:10;1297:4:5;3977:30:10;;4001:4;3977:30;;;671:2026:0;12656:185:1;3977:30:10;;;;;;;;;;;-1:-1:-1;3977:30:10;;;12429:1902:1;12656:185;;;;4021:21:10;;4017:76;;4106:9;4102:171;;12429:1902:1;;;3143:5724;;4102:171:10;4131:21;;;;;-1:-1:-1;671:2026:0;;3977:30:10;671:2026:0;;4131:21:10;;;;1297:4:5;4131:21:10;;;3977:30;4131:21;;671:2026:0;4131:21:10;;;;;;;;4102:171;4001:4;;671:2026:0;;;4170:26:10;4166:97;;4102:171;;;;4166:97;4242:5;;;:::i;:::-;4166:97;;;;4131:21;-1:-1:-1;4131:21:10;;;:::i;:::-;;;;3977:30;;;;12656:185:1;3977:30:10;;;;;;;;;1297:4:5;3977:30:10;;;:::i;:::-;;;1297:4:5;;;;;;12656:185:1;3977:30:10;;;;;-1:-1:-1;3977:30:10;;12429:1902:1;1248:4:5;12946:47:1;;;;;;;;;;;;;;;12942:1389;1248:4:5;;;13149:24:1;2262:428:17;;;;;;;;2719:23;2262:428;;;;;;;;2719:23;;:::i;:::-;-1:-1:-1;2699:70:17;;671:2026:0;874:77:7;;671:2026:0;;874:77:7;-1:-1:-1;1338:3:12;1321:15;;;;;;671:2026:0;;1361:20:12;2262:428:17;671:2026:0;;;;;;1361:20:12;:::i;:::-;671:2026:0;1361:29:12;1357:65;;671:2026:0;;1306:13:12;;1357:65;1399:23;-1:-1:-1;1399:23:12;;-1:-1:-1;1399:23:12;1321:15;;;;;;;;;;;;;;;671:2026:0;1442:7:12;671:2026:0;1442:34:12;;;;;;671:2026:0;;1297:4:5;1442:34:12;;2262:428:17;1442:34:12;;;671:2026:0;;;;;;;;;;;;;;-1:-1:-1;;671:2026:0;;;;;;1442:34:12;;;;;-1:-1:-1;1442:34:12;;;;;;;;;;;;;671:2026:0;12942:1389:1;3143:5724;;1442:34:12;-1:-1:-1;1442:34:12;;;:::i;:::-;;;;671:2026:0;1297:4:5;;;;671:2026:0;1297:4:5;671:2026:0;1297:4:5;671:2026:0;1297:4:5;;;:::i;:::-;671:2026:0;;;;1297:4:5;2262:428:17;671:2026:0;;1297:4:5;:::i;:::-;671:2026:0;2262:428:17;671:2026:0;;;;1297:4:5;671:2026:0;;;1297:4:5;:::i;:::-;671:2026:0;;;;;;1297:4:5;671:2026:0;;;1297:4:5;:::i;:::-;671:2026:0;;;;;;854:4:5;;671:2026:0;;;;;;;;12942:1389:1;13455:39;;;;;;;1297:4:5;13455:39:1;;;;;;;13451:880;1297:4:5;;;671:2026:0;13731:258:1;671:2026:0;14025:29:1;1297:4:5;14025:29:1;;671:2026:0;13731:258:1;;671:2026:0;14025:29:1;;;671:2026:0;13731:258:1;;14025:29;13731:258;671:2026:0;13731:258:1;;;;671:2026:0;14025:29:1;;;;;;;-1:-1:-1;14025:29:1;;;13451:880;-1:-1:-1;13731:258:1;;;-1:-1:-1;14025:43:1;;12429:1902;14095:63;671:2026:0;;13731:258:1;671:2026:0;14135:22:1;13731:258;14118:40;;1297:4:5;14025:29:1;14118:40;;;14025:29;14118:40;;:::i;14025:29::-;;;;13731:258;14025:29;;;;;;;;;1297:4:5;14025:29:1;;;:::i;:::-;;;1297:4:5;;;;;;13731:258:1;14025:29;;;;;-1:-1:-1;14025:29:1;;2988:13187;1454:4:5;14433:27:1;;;;;;;;;;;;;;14429:1732;1454:4:5;;;671:2026:0;;;-1:-1:-1;671:2026:0;;;1162:30:84;;;;;1297:4:5;1162:30:84;;671:2026:0;1162:30:84;;;671:2026:0;;;;;;:::i;:::-;1162:30:84;:11;;671:2026:0;1162:11:84;671:2026:0;1162:30:84;;;;;;;;14429:1732:1;2988:13187;;1162:30:84;;;-1:-1:-1;1162:30:84;;;;;;:::i;:::-;;;671:2026:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;671:2026:0;;;;;;;;;;;;;1162:30:84;;;14429:1732:1;14783:46;;;;;1510:4:5;14783:46:1;;;;14779:1382;1510:4:5;;;1788:72:13;;1297:4:5;1788:72:13;;1297:4:5;1886:29:13;1874:41;;1870:102;;671:2026:0;;-1:-1:-1;671:2026:0;;;;;;;;;;;;;;;;14921:41:1;14929:19;;671:2026:0;14929:19:1;671:2026:0;14921:41:1;;;;;:::i;1870:102:13:-;1938:23;-1:-1:-1;1938:23:13;;1297:4:5;671:2026:0;-1:-1:-1;1938:23:13;14779:1382:1;1564:4:5;14991:44:1;;1564:4:5;;874:77:7;;;2177:72:13;1297:4:5;2177:72:13;;1297:4:5;1005:54:13;993:66;;:138;;;;14987:1174:1;993:207:13;;;;14987:1174:1;2263:25:13;2259:86;;2380:156;;;;;671:2026:0;1422:19:13;671:2026:0;;;;1297:4:5;1422:36:13;;;2380:156;1422:36;;671:2026:0;1800:4:5;1422:36:13;;;;;;;;;;;671:2026:0;1422:36:13;;;-1:-1:-1;1422:36:13;;;14987:1174:1;671:2026:0;;;;1475:15:13;;;;:69;;;;;14987:1174:1;1475:136:13;;;;14987:1174:1;2980:39:13;;;2976:107;;671:2026:0;;;-1:-1:-1;671:2026:0;;;;;;;;;;;;;;;;15149:41:1;;;;;;;:::i;2976:107:13:-;3042:30;-1:-1:-1;3042:30:13;2380:156;671:2026:0;1422:36:13;-1:-1:-1;3042:30:13;1475:136;671:2026:0;;;;;1560:51:13;1297:4:5;1560:51:13;;2380:156;1560:51;;671:2026:0;1422:36:13;671:2026:0;;;1800:4:5;1560:51:13;;;;;;;;;;;-1:-1:-1;1560:51:13;;;1475:136;;;;;;1560:51;;;;1800:4:5;1560:51:13;;;;;;;;;:::i;:::-;;;;1475:69;671:2026:0;;;;1297:4:5;1494:40:13;;;2380:156;1494:40;;671:2026:0;1800:4:5;1494:40:13;1422:36;1494:40;;;;;;;;;;;671:2026:0;1494:40:13;-1:-1:-1;1494:40:13;;;1475:69;671:2026:0;;1494:50:13;1475:69;;;1494:40;;;;1800:4:5;1494:40:13;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;1422:36;;;;1800:4:5;1422:36:13;;;;;;;;;:::i;:::-;;;;993:207;1147:53;1159:41;1147:53;;993:207;;:138;1075:56;1087:44;1075:56;;993:138;;14987:1174:1;1612:4:5;15219:38:1;;1612:4:5;;671:2026:0;;-1:-1:-1;671:2026:0;;;;;15369:160:1;15620:64;;;;;;;1666:4:5;;;;:::i;:::-;671:2026:0;15620:64:1;;;671:2026:0;1666:4:5;;15620:64:1;1666:4:5;;;:::i;:::-;671:2026:0;1666:4:5;;;671:2026:0;1666:4:5;;671:2026:0;1666:4:5;;;:::i;:::-;;;;;;;671:2026:0;1666:4:5;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;671:2026:0;1666:4:5;;;671:2026:0;15369:160:1;;671:2026:0;1666:4:5;;;671:2026:0;1666:4:5;15620:64:1;;;;;;:::i;:::-;15594:91;15602:11;;671:2026:0;15602:11:1;671:2026:0;15594:91:1;;;;;:::i;15215:946::-;1666:4:5;15714:44:1;;1666:4:5;;3522:72:13;1297:4:5;3522:72:13;;1297:4:5;;3607:58:13;;3603:119;;671:2026:0;;3831:1:13;671:2026:0;;;4102:27:13;:16;671:2026:0;;;3831:1:13;671:2026:0;;4102:16:13;:::i;:::-;:27;;:::i;:::-;-1:-1:-1;4216:24:13;;;;;;15968:21:1;;;-1:-1:-1;15968:21:1;;;;671:2026:0;;;;;;;;;;;;;;15927:71:1;15935:19;671:2026:0;15935:19:1;671:2026:0;15927:71:1;;;;;:::i;4242:13:13:-;4294:20;;;;;:::i;:::-;;671:2026:0;313:4:5;4351:36:13;;:76;;;;;4242:13;4351:131;;;;4242:13;4330:224;;;671:2026:0;;4191:23:13;;4330:224;4522:17;-1:-1:-1;4522:17:13;3831:1;-1:-1:-1;4522:17:13;4351:131;740:4:5;4451:31:13;;;4351:131;;;:76;671:2026:0;4391:36:13;;;-1:-1:-1;4351:76:13;;2895:13761:1;16240:36;;;;;;1800:4:5;16240:36:1;;;;;;;;;;;16236:410;1800:4:5;;;3540:34:17;;;;;:::i;:::-;1800:4:5;671:2026:0;;;;;16442:56:1;;;;;;;;671:2026:0;16442:56:1;;;1800:4:5;;;;;;:::i;:::-;;;;;;;;;;;671:2026:0;;;16442:56:1;671:2026:0;;1800:4:5;16442:56:1;1800:4:5;;;;;;;;-1:-1:-1;1800:4:5;;;;;;;;;;;;16442:56:1;;;;;;;;;;;-1:-1:-1;16442:56:1;;;;;;;;;;;;:::i;:::-;16421:78;16430:4;;;16421:78;;;;;:::i;1800:4:5:-;;;;;;;;;;;;;;;;;;;;;;;;;;;16442:56:1;1800:4:5;;;;;;;;;;;;;;;;;;16442:56:1;1800:4:5;;;;;;:::i;:::-;;;;;;;;;;;;;;1975:57:0;2016:16;-1:-1:-1;2016:16:0;;-1:-1:-1;2016:16:0;671:2026;;;;;;;;;;;;;;;:::o;:::-;;-1:-1:-1;671:2026:0;;;;;-1:-1:-1;671:2026:0;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;:::o;:::-;;;;;;;;;:::o;1800:4:5:-;671:2026:0;1800:4:5;671:2026:0;1800:4:5;;671:2026:0;1800:4:5;671:2026:0;;;;;;;-1:-1:-1;671:2026:0;;;;;;;;1800:4:5;;;:::o;:::-;;;;;;;;;;:::i;:::-;671:2026:0;;;;;;;:::i;:::-;1800:4:5;;;-1:-1:-1;1800:4:5;;;;:::o;:::-;671:2026:0;1800:4:5;:::o;1666:::-;;671:2026:0;;;;;;;;1666:4:5:o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;1297:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;671:2026:0;1297:4:5;;;:::i;:::-;671:2026:0;;;;1297:4:5;;;;;:::i;:::-;671:2026:0;1297:4:5;;;671:2026:0;1297:4:5;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;:::o;15396:1078:103:-;;;15527:941;;;;;;;;;;;;;;;;;;;;;;;;;15396:1078::o;:::-;;;15527:941;;;;;;;;;;;;;;;;;;;;;;;;;;;15396:1078::o;6980:631:19:-;;671:2026:0;6980:631:19;671:2026:0;;;;;;7102:15:19;7098:56;;6980:631;1666:4:5;671:2026:0;;;;7422:31:19;;;;;671:2026:0;;;;;;;;;1666:4:5;671:2026:0;;;1666:4:5;671:2026:0;7422:31:19;;;;;;:::i;:::-;671:2026:0;7412:42:19;;671:2026:0;;;7422:31:19;7281:259;;671:2026:0;;;7364:18:19;671:2026:0;;;;;;;;;;;;;;;7484:30:19;671:2026:0;;;;7281:259:19;671:2026:0;;;;7281:259:19;671:2026:0;7281:259:19;671:2026:0;7246:316:19;;671:2026:0;6980:631:19;:::o;7098:56::-;7138:16;;;7098:56;;636:1:6;;;;;;;;;;:::o;1798:257:12:-;;;;;671:2026:0;;;1933:4:12;1916:22;1933:4;;1962:6;;;;:::i;:::-;1798:257::o;1912:136::-;368:25:47;;671:2026:0;368:25:47;;364:50;;671:2026:0;2029:18:12;671:2026:0;;2029:18:12;;:::i;364:50:47:-;402:12;-1:-1:-1;402:12:47;;-1:-1:-1;402:12:47;6326:648:19;;;;636:1:6;1308:39:17;;1304:70;;1384:239;;;;;;;636:1:6;1384:239:17;;;;;6629:51:19;6662:18;;;6616:64;;1384:239:17;;;;;6737:42:19;;;;:::i;:::-;671:2026:0;;6867:52:19;;;;671:2026:0;6867:52:19;671:2026:0;6867:52:19;;6934:23;671:2026:0;6867:52:19;1433:10;6867:52;;;1433:10;6867:52;;671:2026:0;1433:10:19;671:2026:0;;6934:23:19;;;;;;;;1433:10;1384:239:17;1433:10:19;;;;:::i;:::-;671:2026:0;;1433:10:19;;;671:2026:0;6934:23:19;;;;;;;;:::i;:::-;671:2026:0;;6722:245:19;;;;;;;1297:4:5;6722:245:19;;671:2026:0;6722:245:19;;;671:2026:0;1433:10:19;;;;;;;671:2026:0;;1433:10:19;;;671:2026:0;1433:10:19;;;;;;;;;;:::i;:::-;6722:245;;;;;;;;671:2026:0;;;6722:245:19;;;6691:276;;6326:648;:::o;6722:245::-;;;;671:2026:0;6722:245:19;;671:2026:0;6722:245:19;;;;;;671:2026:0;6722:245:19;;;:::i;:::-;;;1433:10;;;;6934:23;1433:10;;;;;6691:276;6326:648;:::o;6722:245::-;;;-1:-1:-1;6722:245:19;;6867:52;1614:49;6867:52;;;2076:700:17;;2262:428;;;;;;;2719:23;2262:428;;;;;;;;;;2719:23;;:::i;:::-;-1:-1:-1;2699:70:17;;2076:700::o;671:2026:0:-;;;;;;;;;;:::o;16867:313:1:-;671:2026:0;;;885:1:100;16945:39:1;;885:1:100;;874:77:7;;;;17000:18:1;:::o;16941:233::-;1034:1:100;17039:41:1;1034:1:100;;17111:4:1;;17096:20;:::o;17035:139::-;17147:16;:::o;678:66:100:-;;;;;;;;;;671:2026:0;;;678:66:100;;;;;:::o;671:2026:0:-;;;;;;;;;;;;:::o;307:1:6:-;;;;;;;;;;:::o;1062:385:10:-;;;;671:2026:0;;1147:22:10;671:2026:0;;1211:5:10;;;;:::i;1143:298::-;678:66:100;1252:41:10;;1248:125;;1143:298;1424:5;;;;:::i;1248:125::-;671:2026:0;;;;1321:37:10;1297:4:5;1321:37:10;;1352:4;1321:37;;;671:2026:0;;1321:37:10;;;;;;;;;;438:1:6;1321:37:10;;;1248:125;;;-1:-1:-1;1248:125:10;;;1321:37;;671:2026:0;1321:37:10;;671:2026:0;1321:37:10;;;;;;1297:4:5;1321:37:10;;;:::i;:::-;;;1297:4:5;;;;1424:5:10;1297:4:5;;1321:37:10;;;;;-1:-1:-1;1321:37:10;;724:157:12;;;671:2026:0;829:7:12;671:2026:0;829:45:12;;;;;;-1:-1:-1;671:2026:0;;;;;;829:45:12;671:2026:0;;;;829:45:12;;;;;1297:4:5;829:45:12;;671:2026:0;829:45:12;;;671:2026:0;;;;;;;;;;;;;;;;829:45:12;;;;;;;;724:157;:::o;829:45::-;-1:-1:-1;829:45:12;;;:::i;1143:2631:103:-;1311:2457;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1143:2631::o;1311:2457::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;671:2026:0;;;;;;;;;;;;;;;;;;:::o;799:339:50:-;-1:-1:-1;799:339:50;;;;;937:145;;671:2026:0;;;799:339:50:o;671:2026:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;:::o;657:1601:16:-;;792:1;778:15;;774:43;;671:2026:0;;;;934:7:16;;;:::i;:::-;671:2026:0;948:1:16;671:2026:0;;;;906:45:16;671:2026:0;943:7:16;671:2026:0;;;;;;943:7:16;:::i;906:45::-;886:65;671:2026:0;;;;;;;;1087:9:16;939:1;1800:4:5;671:2026:0;;;;;1082:1160:16;1098:18;;;;;;657:1601;;;;;;;;;;:::o;1118:3::-;1176:7;;;;;;:::i;:::-;671:2026:0;;1185:11:16;;948:1;671:2026:0;;1185:11:16;;;:::i;:::-;671:2026:0;;;;;1255:34:16;1297:4:5;1255:34:16;;;;;;;;;;;;;;;939:1;;;1255:34;;;1118:3;671:2026:0;;;;;1476:28:16;671:2026:0;;;;;;;;;;1375:15:16;;:61;;;;;;;;;671:2026:0;;1476:28:16;;;;1297:4:5;1476:28:16;;;1255:34;1476:28;;671:2026:0;1476:28:16;;;;;;;939:1;1476:28;;;1375:61;671:2026:0;;;;4001:14:15;;;;;:33;;;;1375:61:16;3997:63:15;;192:6:102;4107:3:15;192:6:102;;;;;4107:3:15;192:6:102;;;;;;;4140:28:15;;;;:::i;:::-;192:6:102;4212:4:15;192:6:102;;;;;4212:4:15;192:6:102;;;;;4256:23:15;4200:34;;;;:::i;:::-;4256:23;;:::i;:::-;1712:73:16;;;;939:1;1712:73;;;1858:24;;;;;;671:2026:0;1637:26:15;1680:55;671:2026:0;2024:11:16;;792:1;671:2026:0;;2024:11:16;;;:::i;1637:26:15:-;1984:30:16;;;;1964:18;1680:55:15;:::i;:::-;1858:245:16;;671:2026:0;;;;;;;;:::i;:::-;939:1:16;1800:4:5;;671:2026:0;;;;;;2121:73:16;;;;;671:2026:0;;939:1:16;671:2026:0;;;;2121:73:16;;;;;;;1297:4:5;2121:73:16;;1255:34;2121:73;;671:2026:0;1476:28:16;671:2026:0;;;;;;;;;;;;;;;;;;;;:::i;:::-;2121:73:16;;;;;;;;;948:1;2121:73;;;1858:245;2212:15;1118:3;671:2026:0;1087:9:16;;;2121:73;939:1;2121:73;;;:::i;:::-;;;;1858:245;;;;939:1;1858:245;;1712:73;939:1;1712:73;;;4001:33:15;4019:15;;;4001:33;;1476:28:16;;;;;;;;;;;;;;;;;:::i;:::-;;;1297:4:5;;;;;1476:28:16;;;;;;;;;1375:61;;;;1255:34;671:2026:0;1255:34:16;;1476:28;1255:34;;;671:2026:0;1255:34:16;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;774:43;802:15;;;;;;192:6:102;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;:::o;:::-;;;;;;;;;;419:203;192:6;521:22;;517:48;;192:6;583:13;;;;:::i;:::-;192:6;419:203;:::o;517:48::-;552:13;;;;;;2950:1499:50;-1:-1:-1;2950:1499:50;;3128:1269;2950:1499;3128:1269;2950:1499;3128:1269;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3128:1269:50;;;;;671:2026:0;;;2950:1499:50:o;671:2026:0:-;;3128:1269:50;671:2026:0;;;;3128:1269:50;;671:2026:0;;;;3128:1269:50;671:2026:0;;;;3128:1269:50;671:2026:0;;;;1549:2857:83;;;;1150:4:5;1726:23:83;;1150:4:5;;;927::101;1769:31:83;;927:4:101;;1869:32:83;;;;;:::i;:::-;5185:11;;;;;;;;:::i;:::-;5217:17;;-1:-1:-1;5270:17:83;;;;:::i;:::-;5320:15;;;;;;:::i;:::-;671:2026:0;;;;5353:38:83;5349:93;;1765:956;5500:13;;-1:-1:-1;5495:528:83;5515:14;;;;;;6053:23;;;;;;;671:2026:0;6053:23:83;;;;:::i;:::-;671:2026:0;;;6041:35:83;;;6037:103;;1964:7;;:::o;6037:103::-;6105:23;671:2026:0;6105:23:83;;:::i;:::-;6085:55;-1:-1:-1;6085:55:83;671:2026:0;6085:55:83;671:2026:0;;;;-1:-1:-1;6085:55:83;5531:3;5564:11;;;671:2026:0;5826:72:83;5564:11;5640:43;5564:14;:11;;5826:84;5564:11;;;;;;:::i;:::-;:14;;:::i;:::-;5640:43;;;:::i;:::-;5881:16;;;;;;:::i;:::-;671:2026:0;;;;-1:-1:-1;671:2026:0;5826:72:83;;:::i;:::-;:84;:::i;:::-;5929:20;671:2026:0;5980:28:83;5929:20;5980:28;;:::i;:::-;5500:13;;;671:2026:0;;5500:13:83;;5349:93;5404:26;;:38;:26;;;:::i;:::-;:38;:::i;:::-;5349:93;;;1765:956;854:4:5;1995:38:83;;854:4:5;;2108:38:83;;;;;:::i;:::-;4530:15;;;;;:::i;:::-;671:2026:0;;;4559:38:83;4555:195;;1991:730;4791:97;:85;4914:23;4813:17;4832:26;671:2026:0;4813:17:83;;;;;:::i;:::-;671:2026:0;;4832:26:83;:::i;:::-;4860:15;;;;;;;:::i;:::-;671:2026:0;;;;;;;:::i;:::-;4791:85:83;:::i;:97::-;4914:23;;671:2026:0;4914:23:83;;;;:::i;4555:195::-;4655:17;;;;;;:::i;:::-;:71;;;4914:23;4791:97;:85;4640:99;:87;4675:24;;;:::i;:::-;4640:87;:::i;:99::-;4555:195;;;;;;4655:71;4914:23;4791:97;:85;4640:99;:87;4702:24;;;;;:::i;1991:730::-;1068:4:5;2246:32:83;;1068:4:5;;2348:33:83;;;;;:::i;:::-;6966:11;;;;;;;;:::i;:::-;-1:-1:-1;;6998:16:83;-1:-1:-1;7048:16:83;;;;;:::i;:::-;7101:18;;;:::i;:::-;671:2026:0;;;;7176:39:83;7172:127;;2242:479;7318:22;;;7313:575;;7342:5;;;7916:22;;;;;;671:2026:0;7916:22:83;;;;:::i;:::-;671:2026:0;;;7905:33:83;;;7901:98;;2445:7;;:::o;7901:98::-;7966:22;671:2026:0;7966:22:83;;:::i;:::-;7947:52;-1:-1:-1;7947:52:83;671:2026:0;7947:52:83;671:2026:0;;;;-1:-1:-1;7947:52:83;7349:3;7382:11;;;;671:2026:0;7665:73:83;7382:11;7462:44;7382:18;:11;7648:126;7382:11;;;;:::i;:::-;671:2026:0;;;7382:18:83;;:::i;:::-;7462:44;;;:::i;:::-;7721:16;;;;;;;:::i;:::-;671:2026:0;;;;7680:11:83;;7665:73;;:::i;:::-;671:2026:0;;-1:-1:-1;671:2026:0;7648:126:83;:::i;:::-;7793:20;671:2026:0;7845:28:83;7793:20;7845:28;;:::i;:::-;7349:3;7318:22;671:2026:0;;;7318:22:83;;7172:127;7247:25;;:37;:25;;;:::i;:37::-;7172:127;;;2242:479;1021:4:5;2476:39:83;;2472:249;;2242:479;;;1722:2636;4374:25;;;;671:2026:0;1800:4:5;4374:25:83;;2472:249;2591:39;;;;;:::i;:::-;6284:16;;;;;:::i;:::-;671:2026:0;;;6314:39:83;6310:195;;2472:249;6533:139;6555:94;6563:85;671:2026:0;6697:22:83;6585:17;;;;;;:::i;:::-;6632:15;;;;;;:::i;:::-;671:2026:0;;;;;;;;;:::i;6563:85:83:-;671:2026:0;;6555:94:83;:::i;6533:139::-;6697:22;;671:2026:0;6697:22:83;;;;:::i;6310:195::-;6410:17;;;;;;:::i;:::-;:71;;;6697:22;6533:139;6555:94;6563:85;671:2026:0;6397:97:83;:85;6430:24;;;;;:::i;:::-;6397:85;:::i;:97::-;6310:195;;;;;;;;6410:71;6697:22;6533:139;6555:94;6563:85;671:2026:0;6397:97:83;:85;6457:24;;;:::i;1722:2636::-;2755:28;1191:4:5;2755:28:83;;1191:4:5;;2844:33:83;;;;;:::i;:::-;2912:22;;;;:::i;:::-;2956:18;;;;2952:68;;874:77:7;;3069:6:83;874:77:7;;;3069:6:83;;:::i;2952:68::-;2983:37;;;;;;671:2026:0;1526:4:101;671:2026:0;1526:4:101;2983:37:83;;2751:1597;1475:4:101;3125:26:83;;1475:4:101;;3212:33:83;;;;;:::i;:::-;3280:24;;;;:::i;:::-;3326:18;;;;3322:69;;874:77:7;;3438:6:83;874:77:7;;;3438:6:83;;:::i;3322:69::-;3353:38;;;;;;671:2026:0;1526:4:101;671:2026:0;1526:4:101;3353:38:83;;3121:1227;1150:4:5;3494:24:83;;1150:4:5;;3594:37:83;;;3691:34;3594:37;;;:::i;:::-;3430:41:84;;;3691:34:83;874:77:7;;;3430:41:84;3691:34:83;:::i;:::-;;;:::i;3430:41:84:-;3691:34:83;3466:4:84;;3430:41;3691:34:83;:::i;3490:858::-;1297:4:5;3775:22:83;;1297:4:5;;3874:40:83;3948:24;3874:40;3974:32;3874:40;3974:32;3874:40;;;:::i;:::-;3948:24;;;;;;:::i;:::-;3974:32;;:::i;:::-;;;:::i;3771:577::-;4056:30;1454:4:5;4056:30:83;;4052:296;;3771:577;;;1722:2636;;4052:296;4261:47;4161:40;;;;4235:24;4161:40;4261:47;4161:40;;:::i;:::-;4235:24;;;;;:::i;:::-;4261;;;;:::i;:::-;:47;:::i;6318:196:15:-;671:2026:0;;;;;;6454:15:15;:53;671:2026:0;;;6318:196:15;:::o;2084:452::-;;2372:93;2084:452;671:2026:0;2084:452:15;671:2026:0;;;2417:32:15;;;;;671:2026:0;;;;;;;;;;;;;2417:32:15;;;;;;;:::i;:::-;671:2026:0;2407:43:15;;2372:93;671:2026:0;;2372:93:15;;;2417:32;2372:93;;;;671:2026:0;;;;;;;;;;;;;;;;;;;;;;;;;;13116:531:103;;13294:347;-1:-1:-1;13294:347:103;;;;;;;;;;;;;13116:531;:::o;3365:331:85:-;3474:50;3508:4;;3474:11;:50;:::i;:::-;3608:11;3618:1;3608:11;;3604:50;;3664:25;3365:331;:::o;3604:50::-;671:2026:0;3628:26:85;;3618:1;3628:26;671:2026:0;3628:26:85;671:2026:0;;3618:1:85;3628:26;1270:173;;;1362:11;;1358:24;;671:2026:0;1391:11:85;671:2026:0;1391:45:85;;;;;1372:1;671:2026:0;;1391:45:85;671:2026:0;;;;;;1391:45:85;;;;;1297:4:5;1391:45:85;;671:2026:0;1391:45:85;;;671:2026:0;;;;;;;;;;1391:45:85;;;;;;;;1270:173;:::o;1358:24::-;1375:7;;;:::o;4181:249::-;;4286:36;;;4345:24;;;;:::i;4282:142::-;4400:13;;:::o;3760:359::-;;678:66:100;3867:42:85;;678:66:100;;3932:24:85;;;;:::i;3863:250::-;3977:36;;;4036:22;;;;:::i;1766:346::-;1866:1;1856:11;;;1852:24;;671:2026:0;1886:11:85;671:2026:0;1886:26:85;;;;;;671:2026:0;;;1886:26:85;1297:4:5;1886:26:85;;671:2026:0;1886:26:85;;;;;671:2026:0;1866:1:85;1886:26;;;;;;;;;;;;;1766:346;-1:-1:-1;4998:58:80;1926:24:85;;671:2026:0;;;;1886:26:85;671:2026:0;;1966:35:85;;;;1297:4:5;1966:35:85;;;;;;;;;;;;1922:184;1766:346::o;1966:35::-;;;671:2026:0;1966:35:85;671:2026:0;1966:35:85;;;;;;;;:::i;:::-;;;;;:::i;:::-;;1766:346::o;1966:35::-;;;;;;671:2026:0;;1297:4:5;;;;;;;;1922:184:85;749:6:20;;;671:2026:0;749:6:20;;;;;:::i;:::-;1886:26:85;671:2026:0;;2075:20:85;;;;1297:4:5;2075:20:85;;;;;;;;;;;;1922:184;1766:346::o;1886:26::-;;;;;1866:1;1886:26;;:::i;:::-;1866:1;1886:26;;;;1852:24;1869:7;;;;:::o;13733:443:103:-;;;13886:284;-1:-1:-1;13886:284:103;;;;;;;;13733:443;:::o;2757:401:85:-;2864:50;2898:4;;2864:11;:50;:::i;:::-;2998:11;3008:1;2998:11;;2994:50;;3142:8;;;;:::i;2994:50::-;671:2026:0;3018:26:85;;3008:1;3018:26;671:2026:0;3018:26:85;671:2026:0;;3008:1:85;3018:26;10248:697:103;;10530:409;-1:-1:-1;10530:409:103;;;;;10248:697;:::o;671:2026:0:-;;;;;;;;;;:::o;:::-;;;;;678:66:100;;;;671:2026:0;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;1666:4:5;671:2026:0;;1666:4:5;;;;:::i;:::-;671:2026:0;;1666:4:5;671:2026:0;;;1666:4:5;:::i;:::-;671:2026:0;;;;1666:4:5;671:2026:0;;;1666:4:5;:::i;:::-;671:2026:0;;;;1666:4:5;671:2026:0;;;1666:4:5;:::i;:::-;671:2026:0;;;;;1666:4:5;:::i;:::-;671:2026:0;;;:::o;9488:670:103:-;;9752:400;-1:-1:-1;9752:400:103;;;;;9488:670;:::o;671:2026:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1711:436:77:-;1853:233;1711:436;;;1853:233;1711:436;1853:233;-1:-1:-1;1853:233:77;;;;2117:21;1853:233;-1:-1:-1;1853:233:77;;671:2026:0;2117:21:77;;;;;1297:4:5;2117:21:77;;;;;671:2026:0;;2117:21:77;;;;;;;-1:-1:-1;2117:21:77;;;2095:45;1711:436;:::o;2117:21::-;;;1853:233;2117:21;;1853:233;2117:21;;;;;;1853:233;2117:21;;;:::i;:::-;;;671:2026:0;;;;;1711:436:77;:::o;2117:21::-;;;-1:-1:-1;2117:21:77;;4351:276:80;671:2026:0;;4998:58:80;4439:24;;4486:21;;4479:28;:::o;4435:186::-;671:2026:0;4545:65:80;671:2026:0;;;4545:65:80;;;;1297:4:5;4545:65:80;;4604:4;4545:65;;;671:2026:0;4545:65:80;;;;;;;671:2026:0;4545:65:80;;;4538:72;;:::o;790:155:75:-;;671:2026:0;;;892:6:75;;;888:50;;790:155::o;888:50::-;900:25;814:96:72;;;;;8022:710:83;;;;8482:70;;;;1862:10:76;8482:70:83;;671:2026:0;;;1862:10:76;671:2026:0;;;;;;;;;;;;;;;1862:10:76;671:2026:0;1862:10:76;671:2026:0;8408:162:83;671:2026:0;;;;;1862:10:76;;;;8408:162:83;;;1862:10:76;;;;8408:162:83;671:2026:0;8408:162:83;;671:2026:0;;1862:10:76;;671:2026:0;;8349:261:83;;;;;1297:4:5;8349:261:83;;1862:10:76;;;671:2026:0;8349:261:83;;;671:2026:0;1862:10:76;;;;;671:2026:0;1862:10:76;;;671:2026:0;1666:4:5;671:2026:0;1862:10:76;;;1666:4:5;1862:10:76;;;1666:4:5;1862:10:76;;;;1666:4:5;;1862:10:76;;;1666:4:5;1862:10:76;;671:2026:0;1862:10:76;;;671:2026:0;1862:10:76;671:2026:0;;1862:10:76;;;1433::19;1862::76;;;;671:2026:0;1862:10:76;671:2026:0;1862:10:76;;;671:2026:0;1862:10:76;;;;;;;;;;:::i;:::-;8349:261:83;:11;-1:-1:-1;671:2026:0;8349:11:83;671:2026:0;8349:261:83;;;;;;;-1:-1:-1;8349:261:83;;;8482:70;-1:-1:-1;;;8645:33:83;-1:-1:-1;;2241:89:78;;8022:710:83;:::o;8644:71::-;1862:10:76;2052:83:78;8022:710:83;:::o;8349:261::-;;;;8408:162;8349:261;;8408:162;8349:261;;;;;;8408:162;8349:261;;;:::i;:::-;;;1862:10:76;;;;1433::19;;-1:-1:-1;8349:261:83;;;;;-1:-1:-1;8349:261:83;;8482:70;2042:49:76;8482:70:83;;;837:525:104;;-1:-1:-1;671:2026:0;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;1041:27:104;;;:::i;:::-;671:2026:0;;;;;;;734:50:80;;;1133:80:104;671:2026:0;;;1133:80:104;671:2026:0;1133:80:104;;671:2026:0;448:51:80;;;1310:10:104;671:2026:0;1310:10:104;;671:2026:0;1666:4:5;;;;;;;;671:2026:0;1322:18:104;;671:2026:0;1666:4:5;;;;;;;;;671:2026:0;1342:12:104;671:2026:0;;;;;;;;;;;;;;;;;;:::i;:::-;1862:10:76;;671:2026:0;;1280:75:104;;1862:10:76;671:2026:0;1280:75:104;;671:2026:0;;1280:75:104;;671:2026:0;;1280:75:104;;1862:10:76;837:525:104;:::o;1133:80::-;;;;671:2026:0;1133:80:104;;;;1123:153:75;1204:1;671:2026:0;;;1200:5:75;1196:49;;671:2026:0;;1123:153:75;:::o","linkReferences":{},"immutableReferences":{"1323":[{"start":1763,"length":32},{"start":9304,"length":32},{"start":9553,"length":32}],"1327":[{"start":1319,"length":32},{"start":10630,"length":32}],"1703":[{"start":47,"length":32},{"start":7348,"length":32},{"start":7719,"length":32}],"1707":[{"start":4677,"length":32},{"start":8290,"length":32},{"start":13153,"length":32}],"2095":[{"start":5593,"length":32},{"start":6183,"length":32},{"start":14308,"length":32}],"2098":[{"start":5560,"length":32},{"start":6217,"length":32},{"start":14275,"length":32}],"2101":[{"start":12006,"length":32}],"2104":[{"start":12089,"length":32}],"37720":[{"start":158,"length":32},{"start":1097,"length":32},{"start":1457,"length":32},{"start":8996,"length":32},{"start":10381,"length":32},{"start":17179,"length":32},{"start":17324,"length":32},{"start":17588,"length":32},{"start":17973,"length":32},{"start":19013,"length":32}]}},"methodIdentifiers":{"V3_POSITION_MANAGER()":"817122dc","V4_POSITION_MANAGER()":"d0c9f6cb","execute(bytes,bytes[])":"24856bc3","execute(bytes,bytes[],uint256)":"3593564c","msgSender()":"d737d0c7","poolManager()":"dc4c90d3","uniswapV3SwapCallback(int256,int256,bytes)":"fa461e33","unlockCallback(bytes)":"91dd7346"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"permit2\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"weth9\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"v2Factory\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"v3Factory\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"pairInitCodeHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"poolInitCodeHash\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"v4PoolManager\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"v3NFTPositionManager\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"v4PositionManager\",\"type\":\"address\"}],\"internalType\":\"struct RouterParameters\",\"name\":\"params\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"BalanceTooLow\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ContractLocked\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"Currency\",\"name\":\"currency\",\"type\":\"address\"}],\"name\":\"DeltaNotNegative\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"Currency\",\"name\":\"currency\",\"type\":\"address\"}],\"name\":\"DeltaNotPositive\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ETHNotAccepted\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"commandIndex\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"message\",\"type\":\"bytes\"}],\"name\":\"ExecutionFailed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FromAddressIsNotOwner\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InputLengthMismatch\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientETH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientToken\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"action\",\"type\":\"bytes4\"}],\"name\":\"InvalidAction\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidBips\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"commandType\",\"type\":\"uint256\"}],\"name\":\"InvalidCommandType\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidEthSender\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidPath\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidReserves\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"LengthMismatch\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"NotAuthorizedForToken\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotPoolManager\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OnlyMintAllowed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SliceOutOfBounds\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TransactionDeadlinePassed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UnsafeCast\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"action\",\"type\":\"uint256\"}],\"name\":\"UnsupportedAction\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"V2InvalidPath\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"V2TooLittleReceived\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"V2TooMuchRequested\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"V3InvalidAmountOut\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"V3InvalidCaller\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"V3InvalidSwap\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"V3TooLittleReceived\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"V3TooMuchRequested\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"minAmountOutReceived\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountReceived\",\"type\":\"uint256\"}],\"name\":\"V4TooLittleReceived\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"maxAmountInRequested\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountRequested\",\"type\":\"uint256\"}],\"name\":\"V4TooMuchRequested\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"V3_POSITION_MANAGER\",\"outputs\":[{\"internalType\":\"contract INonfungiblePositionManager\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"V4_POSITION_MANAGER\",\"outputs\":[{\"internalType\":\"contract IPositionManager\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"commands\",\"type\":\"bytes\"},{\"internalType\":\"bytes[]\",\"name\":\"inputs\",\"type\":\"bytes[]\"}],\"name\":\"execute\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"commands\",\"type\":\"bytes\"},{\"internalType\":\"bytes[]\",\"name\":\"inputs\",\"type\":\"bytes[]\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"}],\"name\":\"execute\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"msgSender\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"poolManager\",\"outputs\":[{\"internalType\":\"contract IPoolManager\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"amount0Delta\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"amount1Delta\",\"type\":\"int256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"uniswapV3SwapCallback\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"unlockCallback\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"execute(bytes,bytes[])\":{\"params\":{\"commands\":\"A set of concatenated commands, each 1 byte in length\",\"inputs\":\"An array of byte strings containing abi encoded inputs for each command\"}},\"execute(bytes,bytes[],uint256)\":{\"params\":{\"commands\":\"A set of concatenated commands, each 1 byte in length\",\"deadline\":\"The deadline by which the transaction must be executed\",\"inputs\":\"An array of byte strings containing abi encoded inputs for each command\"}},\"msgSender()\":{\"details\":\"overrides BaseActionsRouter.msgSender in V4Router\"},\"uniswapV3SwapCallback(int256,int256,bytes)\":{\"details\":\"In the implementation you must pay the pool tokens owed for the swap. The caller of this method must be checked to be a UniswapV3Pool deployed by the canonical UniswapV3Factory. amount0Delta and amount1Delta can both be 0 if no tokens were swapped.\",\"params\":{\"amount0Delta\":\"The amount of token0 that was sent (negative) or must be received (positive) by the pool by the end of the swap. If positive, the callback must send that amount of token0 to the pool.\",\"amount1Delta\":\"The amount of token1 that was sent (negative) or must be received (positive) by the pool by the end of the swap. If positive, the callback must send that amount of token1 to the pool.\",\"data\":\"Any data passed through by the caller via the IUniswapV3PoolActions#swap call\"}},\"unlockCallback(bytes)\":{\"details\":\"We force the onlyPoolManager modifier by exposing a virtual function after the onlyPoolManager check.\",\"params\":{\"data\":\"The data that was passed to the call to unlock\"},\"returns\":{\"_0\":\"Any data that you want to be returned from the unlock call\"}}},\"version\":1},\"userdoc\":{\"errors\":{\"ContractLocked()\":[{\"notice\":\"Thrown when attempting to reenter a locked function from an external caller\"}],\"DeltaNotNegative(address)\":[{\"notice\":\"Emitted trying to take a negative delta.\"}],\"DeltaNotPositive(address)\":[{\"notice\":\"Emitted trying to settle a positive delta.\"}],\"ETHNotAccepted()\":[{\"notice\":\"Thrown when attempting to send ETH directly to the contract\"}],\"ExecutionFailed(uint256,bytes)\":[{\"notice\":\"Thrown when a required command has failed\"}],\"InputLengthMismatch()\":[{\"notice\":\"emitted when different numbers of parameters and actions are provided\"}],\"InsufficientBalance()\":[{\"notice\":\"Emitted when the contract does not have enough balance to wrap or unwrap.\"}],\"InvalidBips()\":[{\"notice\":\"emitted when an invalid percentage is provided\"}],\"LengthMismatch()\":[{\"notice\":\"Thrown when attempting to execute commands and an incorrect number of inputs are provided\"}],\"NotPoolManager()\":[{\"notice\":\"Thrown when the caller is not PoolManager\"}],\"TransactionDeadlinePassed()\":[{\"notice\":\"Thrown when executing commands with an expired deadline\"}],\"UnsafeCast()\":[{\"notice\":\"Thrown when a valude greater than type(uint160).max is cast to uint160\"}],\"UnsupportedAction(uint256)\":[{\"notice\":\"emitted when an inheriting contract does not support an action\"}],\"V4TooLittleReceived(uint256,uint256)\":[{\"notice\":\"Emitted when an exactInput swap does not receive its minAmountOut\"}],\"V4TooMuchRequested(uint256,uint256)\":[{\"notice\":\"Emitted when an exactOutput is asked for more than its maxAmountIn\"}]},\"kind\":\"user\",\"methods\":{\"V3_POSITION_MANAGER()\":{\"notice\":\"v3 PositionManager address\"},\"V4_POSITION_MANAGER()\":{\"notice\":\"v4 PositionManager address\"},\"execute(bytes,bytes[])\":{\"notice\":\"Executes encoded commands along with provided inputs.\"},\"execute(bytes,bytes[],uint256)\":{\"notice\":\"Executes encoded commands along with provided inputs. Reverts if deadline has expired.\"},\"msgSender()\":{\"notice\":\"Public view function to be used instead of msg.sender, as the contract performs self-reentrancy and at times msg.sender == address(this). Instead msgSender() returns the initiator of the lock\"},\"poolManager()\":{\"notice\":\"The Uniswap v4 PoolManager contract\"},\"uniswapV3SwapCallback(int256,int256,bytes)\":{\"notice\":\"Called to `msg.sender` after executing a swap via IUniswapV3Pool#swap.\"},\"unlockCallback(bytes)\":{\"notice\":\"Called by the pool manager on `msg.sender` when the manager is unlocked\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/UniversalRouter.sol\":\"UniversalRouter\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":44444444},\"remappings\":[\":@ensdomains/=lib/v4-periphery/lib/v4-core/node_modules/@ensdomains/\",\":@openzeppelin/=lib/v4-periphery/lib/v4-core/lib/openzeppelin-contracts/\",\":@openzeppelin/contracts/=lib/v4-periphery/lib/v4-core/lib/openzeppelin-contracts/contracts/\",\":@uniswap/v2-core/=node_modules/@uniswap/v2-core/\",\":@uniswap/v3-core/=node_modules/@uniswap/v3-core/\",\":@uniswap/v3-periphery/=lib/v3-periphery/\",\":@uniswap/v4-core/=lib/v4-periphery/lib/v4-core/\",\":@uniswap/v4-periphery/=lib/v4-periphery/\",\":ds-test/=lib/solmate/lib/ds-test/src/\",\":erc4626-tests/=lib/v4-periphery/lib/v4-core/lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat/=lib/v4-periphery/lib/v4-core/node_modules/hardhat/\",\":openzeppelin-contracts/=lib/permit2/lib/openzeppelin-contracts/\",\":permit2/=lib/permit2/\",\":solmate/=lib/solmate/\",\":v3-periphery/=lib/v3-periphery/contracts/\",\":v4-core/=lib/v4-periphery/lib/v4-core/src/\",\":v4-periphery/=lib/v4-periphery/\"],\"viaIR\":true},\"sources\":{\"contracts/UniversalRouter.sol\":{\"keccak256\":\"0x5c7515720fa9b429bc83f0044f3a02cdd065fe1773b9fd32151dc5ff9042d368\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://dd77517f3a73a07fdff8f3a52c268afca749a678ea11442140d401eb102f4404\",\"dweb:/ipfs/QmeJiwCtgF1rMB7Foi6PrqWEaXktztPGQfHoAsw1BRhLU3\"]},\"contracts/base/Dispatcher.sol\":{\"keccak256\":\"0x1564339a5163c5d27f06a64f994a7457b061aa0f5046377bcc5078cd6907cc5d\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://82dc3ed71c19d6e5d1f72304e62e360954fc40a4d92a2a94e862c5474490d58d\",\"dweb:/ipfs/QmcNamJcGijcEetbHWVJHNjSE2WCyQsmEGEGDg9ZNwqSjR\"]},\"contracts/base/Lock.sol\":{\"keccak256\":\"0x92f953dda0d671178d054eeb3915b70f8ba80be33df8670a9146af4a4bc2c6ac\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://f73faac9532c8a8870d31bcef68a0dde387579d7b755c342b3352a54a4b63682\",\"dweb:/ipfs/QmXLvJb6vxfrUG84ASLhEf7tL62MN3oxkp7aXUxemrZTy3\"]},\"contracts/interfaces/IUniversalRouter.sol\":{\"keccak256\":\"0x2525b52d1edf5df89bfd093c5b933b9e8f65236f44f58096763a6c87a5cafb63\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://5cc0fcfedd6b32586099ee0f6781bb81da99175c65013c06bb6f61a125babb18\",\"dweb:/ipfs/QmcEkSzkjkPpp3YyJZaY232TjuNU4Pw6CSiTWz7sk2Sq5D\"]},\"contracts/libraries/Commands.sol\":{\"keccak256\":\"0xa08ae7be62972a4f17779257641065d41fa5cc2d5fc7050e5e5b76fbda9e6a9f\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://0b94d73c5cd54aba5e1ad4ccfc33df13c1b04417f53fda188275fc15f95f02f2\",\"dweb:/ipfs/QmNpigDf9g9AAbFr27gug5hAZjb6iuFekRqXonC6upoEcp\"]},\"contracts/libraries/Constants.sol\":{\"keccak256\":\"0xb668498f11a4bb576a0a61c183da7ca348249dd9176c57dcb6532912b1b49b0e\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://87d8588baf0b7b72faec637843c7623ac416d45e0f7719d0a635afe7981b2cf2\",\"dweb:/ipfs/QmSu7Jr8JM6mab2dddk1UaiPhyLZvsA8iLxC9MEcBUaMzT\"]},\"contracts/libraries/Locker.sol\":{\"keccak256\":\"0xfccb45f77b5c66f0f417d803b4b3f7ae97206d8d850a383ab7d97f25d0617cc0\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://b47f3f4e74961f8e9d918c2cc3514cb8d097caee6ab2c20c10735235dec440ec\",\"dweb:/ipfs/QmfTWUjP7g7zTw67C2RvoMhWRX6ExLNV3UYSb5LqfE4bqC\"]},\"contracts/libraries/MaxInputAmount.sol\":{\"keccak256\":\"0x2dd6efbcaf9991c852e29a726f9876a0a6d08f2271912e69efa5c6a5e8034739\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://949ebd746eee3589d1e466c738884bd3532043d9e8a7b77c1521a098ba3c69b6\",\"dweb:/ipfs/QmZC9idgGQDfLksqfz41FrcsVXhqkfRZCZH9MJXQkQavt6\"]},\"contracts/modules/MigratorImmutables.sol\":{\"keccak256\":\"0x666d1622a10509c69b679df9d175a3e0c176a62b9e18d1cee7634219aded8f68\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://a88e472495d32648ba3e7964c4c88b68853b49540f40afbaf2ede6822372b49f\",\"dweb:/ipfs/QmQoaWbCpwFYCnRgehM7ruYaa7za8fBghT5aQCRCPYJr1V\"]},\"contracts/modules/Payments.sol\":{\"keccak256\":\"0x19a103b3269ee2f7bc28a6e1850091b2087dd2558662494d1104ac8e5ac68524\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://ba64c600f57bb13672a5549b6dba11ae4dfe49f688c24eadb3289dcc87d226a8\",\"dweb:/ipfs/QmWkmVyeai1WeymuWqEk1fQE5R2frrQQjJv81cytrKvFuA\"]},\"contracts/modules/PaymentsImmutables.sol\":{\"keccak256\":\"0x9ca2535b69b15d3bdb7a15871c5bca83f5536cffb0191c64f4c6a2db4a154338\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://dc85fb3ddd19481bf0d1a8a9f5d9631b396d86344a33e30b4c4ab6cd58d51169\",\"dweb:/ipfs/QmeEGFqfHFUo1Mu6tRfCjvVGJYyoDu29ZspZgxxcj6ykvq\"]},\"contracts/modules/Permit2Payments.sol\":{\"keccak256\":\"0x887ec1f57144cd91a1b86d5a7b1d1119146f41dae6865e6fd0e849801e968628\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://08b713e82f3f192976902497e1c02dd60bf7e90c83a471eb4c7ac7710b086f95\",\"dweb:/ipfs/QmWJSGZ9Dj7FmFCnDWpDdL5fx76JYDgYWhggXCroxV7cjX\"]},\"contracts/modules/V3ToV4Migrator.sol\":{\"keccak256\":\"0x5ee3774b749b9a8d851dc6074c8de8c61f408a4cfd829c47c753840c839ba91c\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://337e17b84f4fdad7e32be0e482e7b2471d7f927ba3b3174cae38cf2509d97443\",\"dweb:/ipfs/QmbzgdyxAC5vpvWRGaemn3Qn7DRbNDjHSH3KbHSDPwJ8LY\"]},\"contracts/modules/uniswap/UniswapImmutables.sol\":{\"keccak256\":\"0xb810727f5e734a30871ff1d83d8c96d99150f1ce77bb39e032aec6254ca43cd0\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://5eb9df8b6c81f8e33b8a6bace294ed0d81c541988f7ba42027e3041eff32e1bd\",\"dweb:/ipfs/QmVPSWBv7WegGySGV4BoewKKx7iAetHsjydxQyKk3dh5yw\"]},\"contracts/modules/uniswap/v2/UniswapV2Library.sol\":{\"keccak256\":\"0x829d48c1b69d2e1bc078a57aae8d87dc31d920b01c62d6268d20d517fd24150c\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://b87236ea4c1e64c12434f31abbd658ca3fc510ebe65be731d84d3ce8efa71c32\",\"dweb:/ipfs/QmUerjg5Ebt3pfQZtk2sArUy414gQtHwvFNgsQNe4PhxbN\"]},\"contracts/modules/uniswap/v2/V2SwapRouter.sol\":{\"keccak256\":\"0x0fcb6ad6c4d5a7b25054dd9951432b2b41cb2c0077e6bc7ca0d0416115ef2326\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://124b1dd54d27914306bdd1021e171111f0ae622fffb2974ccdee24eab31b359d\",\"dweb:/ipfs/QmfKr2sbxdc31aPWv9d6ETA4GyfqHiKVZRKqhREnMkR5j9\"]},\"contracts/modules/uniswap/v3/BytesLib.sol\":{\"keccak256\":\"0xc3c23e83afd06781c4a0a5c418c20c40611e71d049766eb70987007ce372656e\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://c62989beb75edad6de18c31be31eb68f0c3fb15c5f9e9bb380221afc6785fda5\",\"dweb:/ipfs/QmVEsp5yivbmjP7HcXS5kJ1XJY5Uic3J3y4zjpwD1SNySD\"]},\"contracts/modules/uniswap/v3/V3Path.sol\":{\"keccak256\":\"0xf6abbf4c7cd0975ddabb0ddb641ea9ae3b0cc1dd9a1cabf5e7cc271a974eabc2\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://1e0987fc9b81c65eada64cb65f981680c2054e489a6049d397b5ecbbf4c9a0a9\",\"dweb:/ipfs/QmW7mbbHsfc2GLy2GkCUv3VwXV93y6UFtKDD7E9QEtzFH7\"]},\"contracts/modules/uniswap/v3/V3SwapRouter.sol\":{\"keccak256\":\"0x31fe8777a6de583c54a0f09ec11d318c253b7fe50c7a2af1608b2b89a03ca660\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://780219ff0d6d333727655719d31d61ce345cdbca7f906467a2d00e3162b3c0aa\",\"dweb:/ipfs/QmbauA5Kvj7m9P9hxe4hhnLY5w2TEXMMnCc9oWehVgj2jo\"]},\"contracts/modules/uniswap/v4/V4SwapRouter.sol\":{\"keccak256\":\"0x68b7666641ad5ba227b500c9845c4bc71eaaac6556d97d31d123fce41b51969a\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://40a99bb5e9e407ad6741f5c210ac23a32950e7567c73f21975444e9729fc6cfb\",\"dweb:/ipfs/QmUK98HjyQ7NDGR36DD9owjLDk7ujEj5b5uKt9zjUsCFG5\"]},\"contracts/types/RouterParameters.sol\":{\"keccak256\":\"0x9efe9912d44e56cff8fc23e1411c80b47ffc9f5c0ad5ca5c66ab77a1b7ddfcbf\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://473acf49dc1be1ca997ad20258124e26e03b3cef15412a8827ecf9b52e4cef21\",\"dweb:/ipfs/QmaGR2QL6im4XYJpubqhUuP82nFytemX7wwEk4cXECJYJN\"]},\"lib/permit2/src/interfaces/IAllowanceTransfer.sol\":{\"keccak256\":\"0x37f0ac203b6ef605c9533e1a739477e8e9dcea90710b40e645a367f8a21ace29\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e0104d72aeaec1cd66cc232e7de7b7ead08608efcc179491b8a66387614670b0\",\"dweb:/ipfs/QmfAZDyuNC9FXXbnJUwqHNwmAK6uRrXxtWEytLsxjskPsN\"]},\"lib/permit2/src/interfaces/IEIP712.sol\":{\"keccak256\":\"0xfdccf2b9639070803cd0e4198427fb0df3cc452ca59bd3b8a0d957a9a4254138\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f7c936ac42ce89e827db905a1544397f8bdf46db34cdb6aa1b90dea42fdb4c72\",\"dweb:/ipfs/QmVgurxo1N31qZqkPBirw9Z7S9tLYmv6jSwQp8R8ur2cBk\"]},\"lib/permit2/src/interfaces/IPermit2.sol\":{\"keccak256\":\"0xaa631cc9f53e699301d94233007110a345e6779011def484e8dd97b8fe0af771\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fc0502cf19c9c18f320a3001201e89e350393b75837f6b7971de18b2de06f30d\",\"dweb:/ipfs/QmT9SfhdJ7VJNNrf94g4H5usyi7ShqWGx7Cqsz9jZTjX96\"]},\"lib/permit2/src/interfaces/ISignatureTransfer.sol\":{\"keccak256\":\"0xe6df9966f8841dc3958ee86169c89de97e7f614c81c28b9dc947b12d732df64e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3d4eafdee7f48c3be8350a94eb6edd0bfb2af2c105df65787a77174f356c0317\",\"dweb:/ipfs/QmY1j2adeeAhNpn6cUuthemxGCdLXHTfyMh9yTKsY4mZ2d\"]},\"lib/permit2/src/libraries/SafeCast160.sol\":{\"keccak256\":\"0x8a34e2beac108d74f89510c949983212b5f09307a93ee9e17a9d50e93f6bc8e9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://828697f9567ce617c5c1c8f76b6bcd250e93aea2c4f3ee188be6dff8443c19e7\",\"dweb:/ipfs/QmafxeSPhUc9gGtNDLAw26oZooC5XNLhDMxHxYhJxL5Nwi\"]},\"lib/solmate/src/tokens/ERC20.sol\":{\"keccak256\":\"0xcdfd8db76b2a3415620e4d18cc5545f3d50de792dbf2c3dd5adb40cbe6f94b10\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://57b3ab70cde374af1cf2c9888636e8de6cf660f087b1c9abd805e9271e19fa35\",\"dweb:/ipfs/QmNrLDBAHYFjpjSd12jerm1AdBkDqEYUUaXgnT854BUZ97\"]},\"lib/solmate/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0xbadf3d708cf532b12f75f78a1d423135954b63774a6d4ba15914a551d348db8a\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://88ac8256bd520d1b8e6f9c4ac9e8777bffdc4a6c8afb1a848f596665779a55b4\",\"dweb:/ipfs/QmXx7X1dxe6f5VM91vgQ5BA4r2eF97GWDcQDrgHytcvfjU\"]},\"lib/v3-periphery/contracts/interfaces/IERC721Permit.sol\":{\"keccak256\":\"0x9e3c2a4ee65ddf95b2dfcb0815784eea3a295707e6f8b83e4c4f0f8fe2e3a1d4\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://bfd939085b3618101b955f87c7fabf38338ba1aad480295acb8102ebc5d72471\",\"dweb:/ipfs/QmauQD8bGDHTztmTDfaKXjzM7Wacrq2XU7VcTbwn1WrDBL\"]},\"lib/v3-periphery/contracts/interfaces/INonfungiblePositionManager.sol\":{\"keccak256\":\"0x3357b065654abb7f4a9ebd184a260bc39efde2afa4e99dca2e72ffc28e9c2984\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://f7682dab014724be8e0a5a401b047788ff9c70b77fa5bd567ea6adc333cb3b56\",\"dweb:/ipfs/QmatH1Gc6z3AkP4dHjAEBKfCBbgBfD4vCceF4TuZU2bCyW\"]},\"lib/v3-periphery/contracts/interfaces/IPeripheryImmutableState.sol\":{\"keccak256\":\"0x7affcfeb5127c0925a71d6a65345e117c33537523aeca7bc98085ead8452519d\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://e16b291294210e71cb0f20cd0afe62ae2dc6878d627f5ccc19c4dc9cd80aec3f\",\"dweb:/ipfs/QmQGitSyBr26nour81BZmpmDMyJpvZRqHQZvnCD1Acb127\"]},\"lib/v3-periphery/contracts/interfaces/IPeripheryPayments.sol\":{\"keccak256\":\"0xb547e10f1e69bed03621a62b73a503e260643066c6b4054867a4d1fef47eb274\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://f9a90f58f5fd5fb42f7811f4094113b532f307b14a73764c91f977590747f407\",\"dweb:/ipfs/QmSeNH2mfiDMKf3Q6V2sqtNxx1s72JNuA1VVxRM9HoMqYp\"]},\"lib/v3-periphery/contracts/interfaces/IPoolInitializer.sol\":{\"keccak256\":\"0x9d7695e8d94c22cc5fcced602017aabb988de89981ea7bee29ea629d5328a862\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://61b50933026ee1017db2a6273af8cedc3238c95dca58880db0918dbdbb2f064f\",\"dweb:/ipfs/QmUebR26pqG25d18aBELKz8aFFKkmHa8PxntzXTA7o9Ldu\"]},\"lib/v3-periphery/contracts/libraries/PoolAddress.sol\":{\"keccak256\":\"0xa72de315bd655a0fd5043ff97c7fd3868a1b5b1986afd75c6f5f8fd0f904985f\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://a8838e68aba9caf2b2cb13bd4cb661b1f9c167cca4dfcd50ac72ae96691392df\",\"dweb:/ipfs/QmfLq3cmsSQTuLLxiF4bgceaf2jx8CoiVXQd7BZXGgJG1E\"]},\"lib/v4-periphery/lib/v4-core/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xc6a8ff0ea489379b61faa647490411b80102578440ab9d84e9a957cc12164e70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ea104e577e63faea3b69c415637e99e755dcbf64c5833d7140c35a714d6d90c\",\"dweb:/ipfs/Qmau6x4Ns9XdyynRCNNp3RhLqijJjFm7z5fyZazfYFGYdq\"]},\"lib/v4-periphery/lib/v4-core/lib/openzeppelin-contracts/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5ef46daa3b58ef2702279d514780316efaa952915ee1aa3396f041ee2982b0b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f8f2a76e23b02fc69e8cd24c3cb47da6c7af3a2d6c3a382f8ac25c6e094ade7\",\"dweb:/ipfs/QmPV4ZS4tPVv4mTCf9ejyZ1ai57EEibDRj7mN2ARDCLV5n\"]},\"lib/v4-periphery/lib/v4-core/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/IERC721Enumerable.sol\":{\"keccak256\":\"0x3d6954a93ac198a2ffa384fa58ccf18e7e235263e051a394328002eff4e073de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1f58c799bd939d3951c94893e83ef86acd56989d1d7db7f9d180c515e29e28ff\",\"dweb:/ipfs/QmTgAxHAAys4kq9ZfU9YB24MWYoHLGAKSxnYUigPFrNW7g\"]},\"lib/v4-periphery/lib/v4-core/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"keccak256\":\"0x37d1aaaa5a2908a09e9dcf56a26ddf762ecf295afb5964695937344fc6802ce1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ed0bfc1b92153c5000e50f4021367b931bbe96372ac6facec3c4961b72053d02\",\"dweb:/ipfs/Qmbwp8VDerjS5SV1quwHH1oMXxPQ93fzfLVqJ2RCqbowGE\"]},\"lib/v4-periphery/lib/v4-core/lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df\",\"dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL\"]},\"lib/v4-periphery/lib/v4-core/src/interfaces/IExtsload.sol\":{\"keccak256\":\"0x80b53ca4907d6f0088c3b931f2b72cad1dc4615a95094d96bd0fb8dff8d5ba43\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://375c69148622aab7a3537d5fd37d373a8e9731022c8d87bdaee46233b0a99fe1\",\"dweb:/ipfs/QmXFjdoYRxsA5B1kyuxEXgNf3FBoL1zPvy26Qy8EtpdFRN\"]},\"lib/v4-periphery/lib/v4-core/src/interfaces/IExttload.sol\":{\"keccak256\":\"0xc6b68283ebd8d1c789df536756726eed51c589134bb20821b236a0d22a135937\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://294394f72dfc219689209f4130d85601dfd0d63c8d47578050d312db70f9b6c8\",\"dweb:/ipfs/QmTDMQ3oxCGHgEBU48a3Lp4S1rRjc8vVCxkhE5ZNej1bsY\"]},\"lib/v4-periphery/lib/v4-core/src/interfaces/IHooks.sol\":{\"keccak256\":\"0x4c9571aed0c2b6ef11832545554fc11ffdb03746daaf5c73683c00600bfc7ec0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e78b34b58ce9de91b91943b4f3cc3ce121d0b151e123e8a600ac5ef64d91db6c\",\"dweb:/ipfs/QmRkaQnPCYwLrXgbpGujJTx32PaZK63KSPJJV1XmnQuCMb\"]},\"lib/v4-periphery/lib/v4-core/src/interfaces/IPoolManager.sol\":{\"keccak256\":\"0xb29607eefac17cb3b0a6f7ca1225a4f5a4baf4873fd1689c770e1fa0b3465399\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d1c9d83b6910d2cbd8b711438072b57f7feffcc18321330c0d83e73159c9c828\",\"dweb:/ipfs/QmZfkdqayzYHAiGXrXLXYNaiS6JXSQmKyJLDQHvaXYi5Y2\"]},\"lib/v4-periphery/lib/v4-core/src/interfaces/IProtocolFees.sol\":{\"keccak256\":\"0x32a666e588a2f66334430357bb1e2424fe7eebeb98a3364b1dd16eb6ccca9848\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85751d302125881f72e5f8af051c2d5d9b1f606ebaea8ca7d04fccdd27cc252d\",\"dweb:/ipfs/QmeRwomeh9NWm6A6fgNA4KZPQZHPpdKsPQyYsHSFmvud7J\"]},\"lib/v4-periphery/lib/v4-core/src/interfaces/callback/IUnlockCallback.sol\":{\"keccak256\":\"0x58c82f2bd9d7c097ed09bd0991fedc403b0ec270eb3d0158bfb095c06a03d719\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91168ca26a10980df2cdc3fbfe8ddf372c002b7ef19e3c59a0c9870d64198f1b\",\"dweb:/ipfs/QmUSpaM825vd1SwvF38esgbdLgYiPwefKaFERTWvUi6uSK\"]},\"lib/v4-periphery/lib/v4-core/src/interfaces/external/IERC20Minimal.sol\":{\"keccak256\":\"0xeccadf1bf69ba2eb51f2fe4fa511bc7bb05bbd6b9f9a3cb8e5d83d9582613e0f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://118757369892687b99ef46ce28d6861f62c098285bd7687a4f17f7e44e5f81de\",\"dweb:/ipfs/QmUxqbYqQtcEwwFbb9e6BBMePEaSgN8C45v6RKubD4ib8d\"]},\"lib/v4-periphery/lib/v4-core/src/interfaces/external/IERC6909Claims.sol\":{\"keccak256\":\"0xa586f345739e52b0488a0fe40b6e375cce67fdd25758408b0efcb5133ad96a48\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8c557b7e52abdbbd82e415a1acc27921446a7fd090b7d4877e52be72619547f\",\"dweb:/ipfs/QmXE2KNPbXmGX8BQF3ei6zhzRTnhoTQg39XmqMnkhbr6QK\"]},\"lib/v4-periphery/lib/v4-core/src/libraries/BitMath.sol\":{\"keccak256\":\"0x51b9be4f5c4fd3e80cbc9631a65244a2eb2be250b6b7f128a2035080e18aee8d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fe98bbd5498e912146b9319827fc63621eb66ff55d5baae0fa02a7a972ab8d1e\",\"dweb:/ipfs/QmY5hCuyrtgsJtk4AavrxcvBkRrChfr4N6ZnhdC8roPpNi\"]},\"lib/v4-periphery/lib/v4-core/src/libraries/CurrencyReserves.sol\":{\"keccak256\":\"0x1576616129933fcdf3b684cea33cffd9c95e18fafbd2832a8c48ac3d8526d4c3\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://33b050efb9b81803b18f562271e7cca2ec5362c4d505860d6419b4a345636725\",\"dweb:/ipfs/QmQtFtTwKZ5pFVGD2ENDUXvp7ECFvzqeCuJ1miJcUHdmiX\"]},\"lib/v4-periphery/lib/v4-core/src/libraries/CustomRevert.sol\":{\"keccak256\":\"0x111ed3031b6990c80a93ae35dde6b6ac0b7e6af471388fdd7461e91edda9b7de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c9ea883c98d6ae1829160d0977bb5195761cfd5bc81692d0a941f45717f594cd\",\"dweb:/ipfs/QmZPwxzaeMNv536wzrAMrMswu7vMHuqPVpjcqL3YvCMoxt\"]},\"lib/v4-periphery/lib/v4-core/src/libraries/Lock.sol\":{\"keccak256\":\"0x9338be4b5695f1da5f3d3f7a3eeaf7a356c1045458289586ac0cbe9cef77c6d5\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://485ec42ed6155469d612a9a0c18068ebfbad74448792a338a435503de3ef1b2c\",\"dweb:/ipfs/QmVnnv5u74MYatfRmBgrcfFYQcsMAJMG9jQ6ju8UiydKNF\"]},\"lib/v4-periphery/lib/v4-core/src/libraries/NonzeroDeltaCount.sol\":{\"keccak256\":\"0x0666ebd5d3528d7d52c48538296367a4cff97a578cf13365c51983fae3219b87\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://d27f1be3bd09d85c53d3e6a539dd6529ddd8b2b764ccb47fd7765fc81f9add59\",\"dweb:/ipfs/QmQdZujNXhKEXQBkKtF5jbdvo1yXMqPDUoBBaF9S5u3Kpm\"]},\"lib/v4-periphery/lib/v4-core/src/libraries/SafeCast.sol\":{\"keccak256\":\"0x42c4a24f996a14d358be397b71f7ec9d7daf666aaec78002c63315a6ee67aa86\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c3db86e2ba3679105fc32edec656c70282e1fede6cab11217702443f6c26fa59\",\"dweb:/ipfs/QmX4yaaSPdKQzYNRsezjTvZKsubzS8JRTEGFD3fPpTTCcj\"]},\"lib/v4-periphery/lib/v4-core/src/libraries/TickMath.sol\":{\"keccak256\":\"0x4e1a11e154eb06106cb1c4598f06cca5f5ca16eaa33494ba2f0e74981123eca8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a79a57f7b240783b045168d1c4f774ac1812caf8f9a83cb6959a86b0b07b6c70\",\"dweb:/ipfs/QmTb5kvxwDNW8jDuQaqdJ445cCFejNkUqEB17Bjo8UBiva\"]},\"lib/v4-periphery/lib/v4-core/src/libraries/TransientStateLibrary.sol\":{\"keccak256\":\"0x7d1e0875747bd89b32c25f1a48da2766e5f4aff1f671ad5f3c0c07ebbbcb946a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d76cfeb1cb60595b41ecc51c8a12fb4bf63a7fc733d0b1a2e3adb55abeb1f9d5\",\"dweb:/ipfs/Qmb8oX7DtsRpw3tTtdWZwGhauj1evq43d3PLwe4nSDAKkV\"]},\"lib/v4-periphery/lib/v4-core/src/types/BalanceDelta.sol\":{\"keccak256\":\"0xa719c8fe51e0a9524280178f19f6851bcc3b3b60e73618f3d60905d35ae5569f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7436928dc9de35c6c7c5c636cb51adaf295cfd590da83b19a004ae33cbec9ef9\",\"dweb:/ipfs/QmRJ9yZkUpzk4433GX3LgVVL8jwpbSYSUwXcucKisf3v4H\"]},\"lib/v4-periphery/lib/v4-core/src/types/BeforeSwapDelta.sol\":{\"keccak256\":\"0x2a774312d91285313d569da1a718c909655da5432310417692097a1d4dc83a78\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a2c7a0379955cff9c17ab9e61f95e42909aa5947c22740f86ce940d09856f782\",\"dweb:/ipfs/QmaAuo8UBYXsGrVuKh8iRoAAdqwtg1jDq515cW1ZRP5m9K\"]},\"lib/v4-periphery/lib/v4-core/src/types/Currency.sol\":{\"keccak256\":\"0x4a0b84b282577ff6f8acf13ec9f4d32dbb9348748b49611d00e68bee96609c93\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://45f9d62ab3d51b52957279e353853ba1547c3182c9a1e3d1846ada4a90263b01\",\"dweb:/ipfs/QmS8NG84ccQS1yXVD8cv3eKX7J1UKxuJhbUfHTQR2opKF5\"]},\"lib/v4-periphery/lib/v4-core/src/types/PoolId.sol\":{\"keccak256\":\"0x308311916ea0f5c2fd878b6a2751eb223d170a69e33f601fae56dfe3c5d392af\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://669c2cd7ac17690b5d8831e0bda72822376c3a04b36afed6d31df4d75fe60918\",\"dweb:/ipfs/QmT6EpkxqU8VF3WsgrZ66F3s1cCQRffR95z1HDYZz7ph6y\"]},\"lib/v4-periphery/lib/v4-core/src/types/PoolKey.sol\":{\"keccak256\":\"0xf89856e0580d7a4856d3187a76858377ccee9d59702d230c338d84388221b786\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f3118fa189025695c37fdf0bdd1190f085ad097484d3c88cf4c56d1db65f639\",\"dweb:/ipfs/QmamXpgtB8GV1CaFLvqefPWSoikLDhMk1yU4heBnVzU8gi\"]},\"lib/v4-periphery/src/V4Router.sol\":{\"keccak256\":\"0x8ede1e538ae9b74984c52347a3bbaee7b3d69f00ed9b3a6db1f1bd6e058a2326\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8e370416fa9681ad124414e2b2fb57a5455e15dd873c9e61c964177ae5c2d544\",\"dweb:/ipfs/QmWrM97ezNB9CpawqhkwpubXHcXUbMFWKYEbD3D6EyAe1w\"]},\"lib/v4-periphery/src/base/BaseActionsRouter.sol\":{\"keccak256\":\"0xca1ee500f88951ad351d18ba2adfb5fe23abef6d502f234ce5748a3497674a4c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1f03ab458be27c29cef1b7ace5b11517d3fef8bf6131af7dd80d6297c224cf71\",\"dweb:/ipfs/QmYoH6o8yeRzbeLoaMG9TjS8q2Fw7T1h4vXvvMnp3XfsUa\"]},\"lib/v4-periphery/src/base/DeltaResolver.sol\":{\"keccak256\":\"0x94a2da2be5c924df65a8e1e29f585bbe4c37777fedd43b45989c66d509a4a83c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://42bba590f6e817fd56328b74ae99bfdc4df57386d0a69ee22b9108341953ed36\",\"dweb:/ipfs/QmdusastK7FWYouLz9gvV5J3z8MQbNKLJNNHTrc1vi7DWw\"]},\"lib/v4-periphery/src/base/ImmutableState.sol\":{\"keccak256\":\"0x1867c9fa2f9b4fa73bab0fcdc9d19ccef4eeac552273d8b84a170cd1cc90350a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af2d699b439e13b599632fddfe82718aebd41055fba7c075f186675c588d1337\",\"dweb:/ipfs/Qmc111gckSKb9aESn3wRFLeLiS4KGujaUcaYJgRnCRfwQU\"]},\"lib/v4-periphery/src/base/SafeCallback.sol\":{\"keccak256\":\"0xd78b583df1b9ee06d58e83b84fc9f08971389b34dd34bc13db072e0c13c710da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c0a47f4bcd6060c4462153b9a7c52a60a460ace91acb6ddd5492eab28ec26173\",\"dweb:/ipfs/QmdRCTRS1dhFjWEy6z577j4xz9J5HPfHBwcNzAic8G59oT\"]},\"lib/v4-periphery/src/interfaces/IEIP712_v4.sol\":{\"keccak256\":\"0xd7f7115476e307a0bfc32a0f0a0f5434e9e5ca62a6c5af1e18b75e48161bb408\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1600b953556da38a7adc5ad2a2925ec5fb138fecf8eec48743646543195b736\",\"dweb:/ipfs/QmarZi2aiLVAfHXgnDWV1cCFiZk2DdPW7KJnWHqzuRChJR\"]},\"lib/v4-periphery/src/interfaces/IERC721Permit_v4.sol\":{\"keccak256\":\"0x103adbba724ef536abc536fe8a4d7dc12880724c562109b69f2adce4a91fa017\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06f51b5a5a218e0bc866a83e7821be53c9db9de0ca921f16abd3d13ea0eab69d\",\"dweb:/ipfs/QmbnhLy992hpQZyphTkj7fpr6jKKVva2AzfmLiDZEuqHAk\"]},\"lib/v4-periphery/src/interfaces/IImmutableState.sol\":{\"keccak256\":\"0x36ab3100e87457ecf04887f4f540e34fd7f21d8e3b83880cb679239e60b7b06b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7f290c7ce8e4832608d637a51b13dff95abecf6549485448e647a11c8ed01341\",\"dweb:/ipfs/QmfD1R6mTp8j4EjQXmQZW3vCh11EYFjnvoaw8rXRP27mMq\"]},\"lib/v4-periphery/src/interfaces/IMulticall_v4.sol\":{\"keccak256\":\"0x336bec303f7ff86497d2679464c5adad5040f412b3d0769ce5e1d2a42f7e2c08\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7734f047d98d331c8abc51ad9f358ceee0a6dcae8d89ac49084b84de0d2d42e7\",\"dweb:/ipfs/QmWij2h7mU36LsXhb9P6pkYXrSCua4ixeWaVFSrsEcEmPQ\"]},\"lib/v4-periphery/src/interfaces/INotifier.sol\":{\"keccak256\":\"0xfdc5187a98240a1691aae98b7dd2444d4c2bfb4746f3c34de9f3d18399c17c5e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://683af56401ec4f8817e8dfe150e7b3febaf0baaf40efe8d0d0475f735275f746\",\"dweb:/ipfs/QmRQ6S3nFnSc2jjDcQTvUJdTf4xKPojmvCkpvgyr6qTuVV\"]},\"lib/v4-periphery/src/interfaces/IPermit2Forwarder.sol\":{\"keccak256\":\"0xfad472937280e861125ff12aa6f9c2cf7440fbb20a2cc29485c24662ad4279c5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31bfbc331f5972fc373d9469fd1ca1d14818db3275f21b7b590f20820cb4439d\",\"dweb:/ipfs/QmX3Bv9wfYpAFZKBcxKsQSXUrSC8mqNBdzh6XVMS72aNx9\"]},\"lib/v4-periphery/src/interfaces/IPoolInitializer_v4.sol\":{\"keccak256\":\"0x2e4feda94650a2642039e0309ffdec480ee050bc40864bf5e1dba42bb4dc9e98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://964c178b4da8bab9ef898b94bb26d7c17cc44c5cf20485f55dcf5e9c7e1b1d92\",\"dweb:/ipfs/QmVd2c3SYteyr5xZgUS4sDAiZF43dLwVAEKdCfvQbkZpRJ\"]},\"lib/v4-periphery/src/interfaces/IPositionManager.sol\":{\"keccak256\":\"0x62dfa0cbee8314ee7e6787db8bc1d364245c340f940875ac7ff11e89d074fc7e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://26f560c77d8a187bf93a710b827e3167eab3446922192fa8f92f208da2103834\",\"dweb:/ipfs/Qmbzp5gSYdTpMBF9aAb2GraxMEQZb5LRJCyg8VaRUyjTFc\"]},\"lib/v4-periphery/src/interfaces/ISubscriber.sol\":{\"keccak256\":\"0x34ceadec4a63019680e543fe73197f198a55c825d86e18f327840354760b57e7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31734feafe1fe162a0702ddf862fcc3bd97505931afb3c685033c0185d898051\",\"dweb:/ipfs/QmQEANYVyaXTNzXKcjUVfPhLU71Bix5vxQH75BpPWMkWgw\"]},\"lib/v4-periphery/src/interfaces/IUnorderedNonce.sol\":{\"keccak256\":\"0xd7f32fee74dc7d1a3b078ca1263961baccaa6bf434c79e8fe0e092e30c3e0ec3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e7d1e92d89d5f49c84aa82f3b259678c2c97a4473b22d753ca4411a6b0cec36d\",\"dweb:/ipfs/QmNZoQyminStaAdaLqoDLoWaBU5QWrWjXFjmBm4aFhzL8i\"]},\"lib/v4-periphery/src/interfaces/IV4Router.sol\":{\"keccak256\":\"0xc4133fae25e61cc2447d7331729f6035322d7c1fe26b39b225422bf98cc63459\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3c24ff8428504e973e947a059f96289a66c520cd7f8ef47a3224f9cb6abdaf25\",\"dweb:/ipfs/QmVqxYnngWXXcCiuTC143vTEJrjZK5NXWB92pjvVbuJBQ5\"]},\"lib/v4-periphery/src/interfaces/external/IWETH9.sol\":{\"keccak256\":\"0xe88abf12501ac275619aec0687240a07d26968aecbbcdfea88ba8bbd5d6e5e14\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7097065d4492b4eccb1a73f99af1e5bec45404c6b973b8f5965c4c91403f5f92\",\"dweb:/ipfs/QmZK8oEqmjmTqhBoh3D3fBpyKGkUEFnptY8xwH9xpNjDm2\"]},\"lib/v4-periphery/src/libraries/ActionConstants.sol\":{\"keccak256\":\"0x3d6f0e5b4a7b1e60bad93e73dce5db67fb66bebef11c31ed8355014a79aa03b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6dfa42e24b1b5c7f66e75304ab034fbb6768518eb2410ccfff8b3defdd1658f2\",\"dweb:/ipfs/QmQQ7fud9mmv7PEWPAQiNzeZhNkWf28Z6nCHc2e6WJFfa7\"]},\"lib/v4-periphery/src/libraries/Actions.sol\":{\"keccak256\":\"0x8efd4b8b289177ee27e557d9d0a5a9f973d66fe1eb1ef8959d316b11987ca830\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07fe35f194eb99465028f0546359befea574d844da53767d32f22b233c3bcc98\",\"dweb:/ipfs/Qmc19631uFxABTHAbGrDrroexi9GdyxWntaum1v8npPYz5\"]},\"lib/v4-periphery/src/libraries/BipsLibrary.sol\":{\"keccak256\":\"0x37ebf99f5d086d9d9f6e7cecbf4d62167f47c63c30248cfcb921e828f0d7a359\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c4f8e68a66bb6c166d72cdba6ed6fb83a93f713b79c2c572e8058084eb90ab6c\",\"dweb:/ipfs/QmY32FxtSBRf9PJzNUVzXqFY4i2ApTPHTUMpCBGovd2zo3\"]},\"lib/v4-periphery/src/libraries/CalldataDecoder.sol\":{\"keccak256\":\"0x26df49e13fb5410fd4db253cca877dfdfb3a1ba03e394d054c0e0514a88a56e5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72a0c98c52171708f332f83d517deeb97fdd50ecf28f2510e1866e54593a6ff8\",\"dweb:/ipfs/QmY4LiDUfSKGj86nML7B6a8euiPciUqwYehasAyAVnMCHq\"]},\"lib/v4-periphery/src/libraries/PathKey.sol\":{\"keccak256\":\"0xbbd79ffefe045f025263e389539021266fb4d371463aefba405e1ff1d3fcf9bc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2d1c47b81a01218be46ee79f0a8837095479b94dc5cfd18abbf2006709f0ea89\",\"dweb:/ipfs/QmRb6CQ13Zp7f3WF5jbZtsF2szhxpPgcuWs9mjwQXxzqtg\"]},\"lib/v4-periphery/src/libraries/PositionInfoLibrary.sol\":{\"keccak256\":\"0xc5ddf96bd088bc87ea50a20f907fc932fb28397a42682a301b268a11b7f34078\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7dfeb4dc747537240f8167243e8066b6f5f08057386fb8bda93f82973fc18ad6\",\"dweb:/ipfs/Qmby9DAAaHj8hjsMUnqY3vjqCHKGAKrT5EULMmeGcjbbGx\"]},\"node_modules/@uniswap/v2-core/contracts/interfaces/IUniswapV2Pair.sol\":{\"keccak256\":\"0x7c9bc70e5996c763e02ff38905282bc24fb242b0ef2519a003b36824fc524a4b\",\"urls\":[\"bzz-raw://85d5ad2dd23ee127f40907a12865a1e8cb5828814f6f2480285e1827dd72dedf\",\"dweb:/ipfs/QmayKQWJgWmr46DqWseADyUanmqxh662hPNdAkdHRjiQQH\"]},\"node_modules/@uniswap/v3-core/contracts/interfaces/IUniswapV3Pool.sol\":{\"keccak256\":\"0xfe6113d518466cd6652c85b111e01f33eb62157f49ae5ed7d5a3947a2044adb1\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://1c42b9e6f5902ac38dd43e25750939baa7e0c1425dc75afd717c4412731065d5\",\"dweb:/ipfs/QmWaoacnzsucTvBME2o7YgZBZMhaHv7fkj83htHMVWJKWh\"]},\"node_modules/@uniswap/v3-core/contracts/interfaces/callback/IUniswapV3SwapCallback.sol\":{\"keccak256\":\"0x3f485fb1a44e8fbeadefb5da07d66edab3cfe809f0ac4074b1e54e3eb3c4cf69\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://095ce0626b41318c772b3ebf19d548282607f6a8f3d6c41c13edfbd5370c8652\",\"dweb:/ipfs/QmVDZfJJ89UUCE1hMyzqpkZAtQ8jUsBgZNE5AMRG7RzRFS\"]},\"node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolActions.sol\":{\"keccak256\":\"0x9453dd0e7442188667d01d9b65de3f1e14e9511ff3e303179a15f6fc267f7634\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://982f4328f956c3e60e67501e759eb292ac487f76460c774c50e9ae4fcc92aae5\",\"dweb:/ipfs/QmRnzEDsaqtd9PJEVcgQi7p5aV5pMSvRUoGZJAdwFUJxgZ\"]},\"node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolDerivedState.sol\":{\"keccak256\":\"0xe603ac5b17ecdee73ba2b27efdf386c257a19c14206e87eee77e2017b742d9e5\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://8febc9bdb399a4d94bb89f5377732652e2400e4a8dee808201ade6848f9004e7\",\"dweb:/ipfs/QmaKDqYYFU4d2W2iN77aDHptfbFmYZRrMYXHeGpJmM8C1c\"]},\"node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolEvents.sol\":{\"keccak256\":\"0x8071514d0fe5d17d6fbd31c191cdfb703031c24e0ece3621d88ab10e871375cd\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://d0b571930cc7488b1d546a7e9cea7c52d8b3c4e207da657ed0e0db7343b8cd03\",\"dweb:/ipfs/QmaGK6vVwB95QSTR1XMYvrh7ivYAYZxi3fD7v6VMA4jZ39\"]},\"node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolImmutables.sol\":{\"keccak256\":\"0xf6e5d2cd1139c4c276bdbc8e1d2b256e456c866a91f1b868da265c6d2685c3f7\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://b99c8c9ae8e27ee6559e5866bea82cbc9ffc8247f8d15b7422a4deb287d4d047\",\"dweb:/ipfs/QmfL8gaqt3ffAnm6nVj5ksuNpLygXuL3xq5VBqrkwC2JJ3\"]},\"node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolOwnerActions.sol\":{\"keccak256\":\"0x759b78a2918af9e99e246dc3af084f654e48ef32bb4e4cb8a966aa3dcaece235\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://64144fb96e1c7fdba87305acadb98a198d26a3d46c097cb3a666e567f6f29735\",\"dweb:/ipfs/QmUnWVwN9FKB9uV5Pr8YfLpWZnYM2DENnRMaadZ492JS9u\"]},\"node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolState.sol\":{\"keccak256\":\"0x852dc1f5df7dcf7f11e7bb3eed79f0cea72ad4b25f6a9d2c35aafb48925fd49f\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://ed63907c38ff36b0e22bc9ffc53e791ea74f0d4f0e7c257fdfb5aaf8825b1f0f\",\"dweb:/ipfs/QmSQrckghEjs6HVsA5GVgpNpZWvTXMY5eQLF7cN6deFeEg\"]},\"node_modules/@uniswap/v3-core/contracts/libraries/SafeCast.sol\":{\"keccak256\":\"0x4c12bf820c0b011f5490a209960ca34dd8af34660ef9e01de0438393d15e3fd8\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://fed11489e218e55d087d42b4f350a30e10cd2aedec8f432bd3cc712f648d5869\",\"dweb:/ipfs/QmWfRnRxyXwHUDcTQPazxYYk5jxErGeQqdvnYtyg5nBPbU\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.26+commit.8a97fa7a"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"struct RouterParameters","name":"params","type":"tuple","components":[{"internalType":"address","name":"permit2","type":"address"},{"internalType":"address","name":"weth9","type":"address"},{"internalType":"address","name":"v2Factory","type":"address"},{"internalType":"address","name":"v3Factory","type":"address"},{"internalType":"bytes32","name":"pairInitCodeHash","type":"bytes32"},{"internalType":"bytes32","name":"poolInitCodeHash","type":"bytes32"},{"internalType":"address","name":"v4PoolManager","type":"address"},{"internalType":"address","name":"v3NFTPositionManager","type":"address"},{"internalType":"address","name":"v4PositionManager","type":"address"}]}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"type":"error","name":"BalanceTooLow"},{"inputs":[],"type":"error","name":"ContractLocked"},{"inputs":[{"internalType":"Currency","name":"currency","type":"address"}],"type":"error","name":"DeltaNotNegative"},{"inputs":[{"internalType":"Currency","name":"currency","type":"address"}],"type":"error","name":"DeltaNotPositive"},{"inputs":[],"type":"error","name":"ETHNotAccepted"},{"inputs":[{"internalType":"uint256","name":"commandIndex","type":"uint256"},{"internalType":"bytes","name":"message","type":"bytes"}],"type":"error","name":"ExecutionFailed"},{"inputs":[],"type":"error","name":"FromAddressIsNotOwner"},{"inputs":[],"type":"error","name":"InputLengthMismatch"},{"inputs":[],"type":"error","name":"InsufficientBalance"},{"inputs":[],"type":"error","name":"InsufficientETH"},{"inputs":[],"type":"error","name":"InsufficientToken"},{"inputs":[{"internalType":"bytes4","name":"action","type":"bytes4"}],"type":"error","name":"InvalidAction"},{"inputs":[],"type":"error","name":"InvalidBips"},{"inputs":[{"internalType":"uint256","name":"commandType","type":"uint256"}],"type":"error","name":"InvalidCommandType"},{"inputs":[],"type":"error","name":"InvalidEthSender"},{"inputs":[],"type":"error","name":"InvalidPath"},{"inputs":[],"type":"error","name":"InvalidReserves"},{"inputs":[],"type":"error","name":"LengthMismatch"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"type":"error","name":"NotAuthorizedForToken"},{"inputs":[],"type":"error","name":"NotPoolManager"},{"inputs":[],"type":"error","name":"OnlyMintAllowed"},{"inputs":[],"type":"error","name":"SliceOutOfBounds"},{"inputs":[],"type":"error","name":"TransactionDeadlinePassed"},{"inputs":[],"type":"error","name":"UnsafeCast"},{"inputs":[{"internalType":"uint256","name":"action","type":"uint256"}],"type":"error","name":"UnsupportedAction"},{"inputs":[],"type":"error","name":"V2InvalidPath"},{"inputs":[],"type":"error","name":"V2TooLittleReceived"},{"inputs":[],"type":"error","name":"V2TooMuchRequested"},{"inputs":[],"type":"error","name":"V3InvalidAmountOut"},{"inputs":[],"type":"error","name":"V3InvalidCaller"},{"inputs":[],"type":"error","name":"V3InvalidSwap"},{"inputs":[],"type":"error","name":"V3TooLittleReceived"},{"inputs":[],"type":"error","name":"V3TooMuchRequested"},{"inputs":[{"internalType":"uint256","name":"minAmountOutReceived","type":"uint256"},{"internalType":"uint256","name":"amountReceived","type":"uint256"}],"type":"error","name":"V4TooLittleReceived"},{"inputs":[{"internalType":"uint256","name":"maxAmountInRequested","type":"uint256"},{"internalType":"uint256","name":"amountRequested","type":"uint256"}],"type":"error","name":"V4TooMuchRequested"},{"inputs":[],"stateMutability":"view","type":"function","name":"V3_POSITION_MANAGER","outputs":[{"internalType":"contract INonfungiblePositionManager","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"V4_POSITION_MANAGER","outputs":[{"internalType":"contract IPositionManager","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes","name":"commands","type":"bytes"},{"internalType":"bytes[]","name":"inputs","type":"bytes[]"}],"stateMutability":"payable","type":"function","name":"execute"},{"inputs":[{"internalType":"bytes","name":"commands","type":"bytes"},{"internalType":"bytes[]","name":"inputs","type":"bytes[]"},{"internalType":"uint256","name":"deadline","type":"uint256"}],"stateMutability":"payable","type":"function","name":"execute"},{"inputs":[],"stateMutability":"view","type":"function","name":"msgSender","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"poolManager","outputs":[{"internalType":"contract IPoolManager","name":"","type":"address"}]},{"inputs":[{"internalType":"int256","name":"amount0Delta","type":"int256"},{"internalType":"int256","name":"amount1Delta","type":"int256"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"uniswapV3SwapCallback"},{"inputs":[{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"unlockCallback","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[],"stateMutability":"payable","type":"receive"}],"devdoc":{"kind":"dev","methods":{"execute(bytes,bytes[])":{"params":{"commands":"A set of concatenated commands, each 1 byte in length","inputs":"An array of byte strings containing abi encoded inputs for each command"}},"execute(bytes,bytes[],uint256)":{"params":{"commands":"A set of concatenated commands, each 1 byte in length","deadline":"The deadline by which the transaction must be executed","inputs":"An array of byte strings containing abi encoded inputs for each command"}},"msgSender()":{"details":"overrides BaseActionsRouter.msgSender in V4Router"},"uniswapV3SwapCallback(int256,int256,bytes)":{"details":"In the implementation you must pay the pool tokens owed for the swap. The caller of this method must be checked to be a UniswapV3Pool deployed by the canonical UniswapV3Factory. amount0Delta and amount1Delta can both be 0 if no tokens were swapped.","params":{"amount0Delta":"The amount of token0 that was sent (negative) or must be received (positive) by the pool by the end of the swap. If positive, the callback must send that amount of token0 to the pool.","amount1Delta":"The amount of token1 that was sent (negative) or must be received (positive) by the pool by the end of the swap. If positive, the callback must send that amount of token1 to the pool.","data":"Any data passed through by the caller via the IUniswapV3PoolActions#swap call"}},"unlockCallback(bytes)":{"details":"We force the onlyPoolManager modifier by exposing a virtual function after the onlyPoolManager check.","params":{"data":"The data that was passed to the call to unlock"},"returns":{"_0":"Any data that you want to be returned from the unlock call"}}},"version":1},"userdoc":{"kind":"user","methods":{"V3_POSITION_MANAGER()":{"notice":"v3 PositionManager address"},"V4_POSITION_MANAGER()":{"notice":"v4 PositionManager address"},"execute(bytes,bytes[])":{"notice":"Executes encoded commands along with provided inputs."},"execute(bytes,bytes[],uint256)":{"notice":"Executes encoded commands along with provided inputs. Reverts if deadline has expired."},"msgSender()":{"notice":"Public view function to be used instead of msg.sender, as the contract performs self-reentrancy and at times msg.sender == address(this). Instead msgSender() returns the initiator of the lock"},"poolManager()":{"notice":"The Uniswap v4 PoolManager contract"},"uniswapV3SwapCallback(int256,int256,bytes)":{"notice":"Called to `msg.sender` after executing a swap via IUniswapV3Pool#swap."},"unlockCallback(bytes)":{"notice":"Called by the pool manager on `msg.sender` when the manager is unlocked"}},"version":1}},"settings":{"remappings":["@ensdomains/=lib/v4-periphery/lib/v4-core/node_modules/@ensdomains/","@openzeppelin/=lib/v4-periphery/lib/v4-core/lib/openzeppelin-contracts/","@openzeppelin/contracts/=lib/v4-periphery/lib/v4-core/lib/openzeppelin-contracts/contracts/","@uniswap/v2-core/=node_modules/@uniswap/v2-core/","@uniswap/v3-core/=node_modules/@uniswap/v3-core/","@uniswap/v3-periphery/=lib/v3-periphery/","@uniswap/v4-core/=lib/v4-periphery/lib/v4-core/","@uniswap/v4-periphery/=lib/v4-periphery/","ds-test/=lib/solmate/lib/ds-test/src/","erc4626-tests/=lib/v4-periphery/lib/v4-core/lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hardhat/=lib/v4-periphery/lib/v4-core/node_modules/hardhat/","openzeppelin-contracts/=lib/permit2/lib/openzeppelin-contracts/","permit2/=lib/permit2/","solmate/=lib/solmate/","v3-periphery/=lib/v3-periphery/contracts/","v4-core/=lib/v4-periphery/lib/v4-core/src/","v4-periphery/=lib/v4-periphery/"],"optimizer":{"enabled":true,"runs":44444444},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"contracts/UniversalRouter.sol":"UniversalRouter"},"evmVersion":"cancun","libraries":{},"viaIR":true},"sources":{"contracts/UniversalRouter.sol":{"keccak256":"0x5c7515720fa9b429bc83f0044f3a02cdd065fe1773b9fd32151dc5ff9042d368","urls":["bzz-raw://dd77517f3a73a07fdff8f3a52c268afca749a678ea11442140d401eb102f4404","dweb:/ipfs/QmeJiwCtgF1rMB7Foi6PrqWEaXktztPGQfHoAsw1BRhLU3"],"license":"GPL-3.0-or-later"},"contracts/base/Dispatcher.sol":{"keccak256":"0x1564339a5163c5d27f06a64f994a7457b061aa0f5046377bcc5078cd6907cc5d","urls":["bzz-raw://82dc3ed71c19d6e5d1f72304e62e360954fc40a4d92a2a94e862c5474490d58d","dweb:/ipfs/QmcNamJcGijcEetbHWVJHNjSE2WCyQsmEGEGDg9ZNwqSjR"],"license":"GPL-3.0-or-later"},"contracts/base/Lock.sol":{"keccak256":"0x92f953dda0d671178d054eeb3915b70f8ba80be33df8670a9146af4a4bc2c6ac","urls":["bzz-raw://f73faac9532c8a8870d31bcef68a0dde387579d7b755c342b3352a54a4b63682","dweb:/ipfs/QmXLvJb6vxfrUG84ASLhEf7tL62MN3oxkp7aXUxemrZTy3"],"license":"GPL-3.0-or-later"},"contracts/interfaces/IUniversalRouter.sol":{"keccak256":"0x2525b52d1edf5df89bfd093c5b933b9e8f65236f44f58096763a6c87a5cafb63","urls":["bzz-raw://5cc0fcfedd6b32586099ee0f6781bb81da99175c65013c06bb6f61a125babb18","dweb:/ipfs/QmcEkSzkjkPpp3YyJZaY232TjuNU4Pw6CSiTWz7sk2Sq5D"],"license":"GPL-3.0-or-later"},"contracts/libraries/Commands.sol":{"keccak256":"0xa08ae7be62972a4f17779257641065d41fa5cc2d5fc7050e5e5b76fbda9e6a9f","urls":["bzz-raw://0b94d73c5cd54aba5e1ad4ccfc33df13c1b04417f53fda188275fc15f95f02f2","dweb:/ipfs/QmNpigDf9g9AAbFr27gug5hAZjb6iuFekRqXonC6upoEcp"],"license":"GPL-3.0-or-later"},"contracts/libraries/Constants.sol":{"keccak256":"0xb668498f11a4bb576a0a61c183da7ca348249dd9176c57dcb6532912b1b49b0e","urls":["bzz-raw://87d8588baf0b7b72faec637843c7623ac416d45e0f7719d0a635afe7981b2cf2","dweb:/ipfs/QmSu7Jr8JM6mab2dddk1UaiPhyLZvsA8iLxC9MEcBUaMzT"],"license":"GPL-3.0-or-later"},"contracts/libraries/Locker.sol":{"keccak256":"0xfccb45f77b5c66f0f417d803b4b3f7ae97206d8d850a383ab7d97f25d0617cc0","urls":["bzz-raw://b47f3f4e74961f8e9d918c2cc3514cb8d097caee6ab2c20c10735235dec440ec","dweb:/ipfs/QmfTWUjP7g7zTw67C2RvoMhWRX6ExLNV3UYSb5LqfE4bqC"],"license":"GPL-3.0-or-later"},"contracts/libraries/MaxInputAmount.sol":{"keccak256":"0x2dd6efbcaf9991c852e29a726f9876a0a6d08f2271912e69efa5c6a5e8034739","urls":["bzz-raw://949ebd746eee3589d1e466c738884bd3532043d9e8a7b77c1521a098ba3c69b6","dweb:/ipfs/QmZC9idgGQDfLksqfz41FrcsVXhqkfRZCZH9MJXQkQavt6"],"license":"GPL-3.0-or-later"},"contracts/modules/MigratorImmutables.sol":{"keccak256":"0x666d1622a10509c69b679df9d175a3e0c176a62b9e18d1cee7634219aded8f68","urls":["bzz-raw://a88e472495d32648ba3e7964c4c88b68853b49540f40afbaf2ede6822372b49f","dweb:/ipfs/QmQoaWbCpwFYCnRgehM7ruYaa7za8fBghT5aQCRCPYJr1V"],"license":"GPL-3.0-or-later"},"contracts/modules/Payments.sol":{"keccak256":"0x19a103b3269ee2f7bc28a6e1850091b2087dd2558662494d1104ac8e5ac68524","urls":["bzz-raw://ba64c600f57bb13672a5549b6dba11ae4dfe49f688c24eadb3289dcc87d226a8","dweb:/ipfs/QmWkmVyeai1WeymuWqEk1fQE5R2frrQQjJv81cytrKvFuA"],"license":"GPL-3.0-or-later"},"contracts/modules/PaymentsImmutables.sol":{"keccak256":"0x9ca2535b69b15d3bdb7a15871c5bca83f5536cffb0191c64f4c6a2db4a154338","urls":["bzz-raw://dc85fb3ddd19481bf0d1a8a9f5d9631b396d86344a33e30b4c4ab6cd58d51169","dweb:/ipfs/QmeEGFqfHFUo1Mu6tRfCjvVGJYyoDu29ZspZgxxcj6ykvq"],"license":"GPL-3.0-or-later"},"contracts/modules/Permit2Payments.sol":{"keccak256":"0x887ec1f57144cd91a1b86d5a7b1d1119146f41dae6865e6fd0e849801e968628","urls":["bzz-raw://08b713e82f3f192976902497e1c02dd60bf7e90c83a471eb4c7ac7710b086f95","dweb:/ipfs/QmWJSGZ9Dj7FmFCnDWpDdL5fx76JYDgYWhggXCroxV7cjX"],"license":"GPL-3.0-or-later"},"contracts/modules/V3ToV4Migrator.sol":{"keccak256":"0x5ee3774b749b9a8d851dc6074c8de8c61f408a4cfd829c47c753840c839ba91c","urls":["bzz-raw://337e17b84f4fdad7e32be0e482e7b2471d7f927ba3b3174cae38cf2509d97443","dweb:/ipfs/QmbzgdyxAC5vpvWRGaemn3Qn7DRbNDjHSH3KbHSDPwJ8LY"],"license":"GPL-3.0-or-later"},"contracts/modules/uniswap/UniswapImmutables.sol":{"keccak256":"0xb810727f5e734a30871ff1d83d8c96d99150f1ce77bb39e032aec6254ca43cd0","urls":["bzz-raw://5eb9df8b6c81f8e33b8a6bace294ed0d81c541988f7ba42027e3041eff32e1bd","dweb:/ipfs/QmVPSWBv7WegGySGV4BoewKKx7iAetHsjydxQyKk3dh5yw"],"license":"GPL-3.0-or-later"},"contracts/modules/uniswap/v2/UniswapV2Library.sol":{"keccak256":"0x829d48c1b69d2e1bc078a57aae8d87dc31d920b01c62d6268d20d517fd24150c","urls":["bzz-raw://b87236ea4c1e64c12434f31abbd658ca3fc510ebe65be731d84d3ce8efa71c32","dweb:/ipfs/QmUerjg5Ebt3pfQZtk2sArUy414gQtHwvFNgsQNe4PhxbN"],"license":"GPL-3.0-or-later"},"contracts/modules/uniswap/v2/V2SwapRouter.sol":{"keccak256":"0x0fcb6ad6c4d5a7b25054dd9951432b2b41cb2c0077e6bc7ca0d0416115ef2326","urls":["bzz-raw://124b1dd54d27914306bdd1021e171111f0ae622fffb2974ccdee24eab31b359d","dweb:/ipfs/QmfKr2sbxdc31aPWv9d6ETA4GyfqHiKVZRKqhREnMkR5j9"],"license":"GPL-3.0-or-later"},"contracts/modules/uniswap/v3/BytesLib.sol":{"keccak256":"0xc3c23e83afd06781c4a0a5c418c20c40611e71d049766eb70987007ce372656e","urls":["bzz-raw://c62989beb75edad6de18c31be31eb68f0c3fb15c5f9e9bb380221afc6785fda5","dweb:/ipfs/QmVEsp5yivbmjP7HcXS5kJ1XJY5Uic3J3y4zjpwD1SNySD"],"license":"GPL-3.0-or-later"},"contracts/modules/uniswap/v3/V3Path.sol":{"keccak256":"0xf6abbf4c7cd0975ddabb0ddb641ea9ae3b0cc1dd9a1cabf5e7cc271a974eabc2","urls":["bzz-raw://1e0987fc9b81c65eada64cb65f981680c2054e489a6049d397b5ecbbf4c9a0a9","dweb:/ipfs/QmW7mbbHsfc2GLy2GkCUv3VwXV93y6UFtKDD7E9QEtzFH7"],"license":"GPL-3.0-or-later"},"contracts/modules/uniswap/v3/V3SwapRouter.sol":{"keccak256":"0x31fe8777a6de583c54a0f09ec11d318c253b7fe50c7a2af1608b2b89a03ca660","urls":["bzz-raw://780219ff0d6d333727655719d31d61ce345cdbca7f906467a2d00e3162b3c0aa","dweb:/ipfs/QmbauA5Kvj7m9P9hxe4hhnLY5w2TEXMMnCc9oWehVgj2jo"],"license":"GPL-3.0-or-later"},"contracts/modules/uniswap/v4/V4SwapRouter.sol":{"keccak256":"0x68b7666641ad5ba227b500c9845c4bc71eaaac6556d97d31d123fce41b51969a","urls":["bzz-raw://40a99bb5e9e407ad6741f5c210ac23a32950e7567c73f21975444e9729fc6cfb","dweb:/ipfs/QmUK98HjyQ7NDGR36DD9owjLDk7ujEj5b5uKt9zjUsCFG5"],"license":"GPL-3.0-or-later"},"contracts/types/RouterParameters.sol":{"keccak256":"0x9efe9912d44e56cff8fc23e1411c80b47ffc9f5c0ad5ca5c66ab77a1b7ddfcbf","urls":["bzz-raw://473acf49dc1be1ca997ad20258124e26e03b3cef15412a8827ecf9b52e4cef21","dweb:/ipfs/QmaGR2QL6im4XYJpubqhUuP82nFytemX7wwEk4cXECJYJN"],"license":"GPL-3.0-or-later"},"lib/permit2/src/interfaces/IAllowanceTransfer.sol":{"keccak256":"0x37f0ac203b6ef605c9533e1a739477e8e9dcea90710b40e645a367f8a21ace29","urls":["bzz-raw://e0104d72aeaec1cd66cc232e7de7b7ead08608efcc179491b8a66387614670b0","dweb:/ipfs/QmfAZDyuNC9FXXbnJUwqHNwmAK6uRrXxtWEytLsxjskPsN"],"license":"MIT"},"lib/permit2/src/interfaces/IEIP712.sol":{"keccak256":"0xfdccf2b9639070803cd0e4198427fb0df3cc452ca59bd3b8a0d957a9a4254138","urls":["bzz-raw://f7c936ac42ce89e827db905a1544397f8bdf46db34cdb6aa1b90dea42fdb4c72","dweb:/ipfs/QmVgurxo1N31qZqkPBirw9Z7S9tLYmv6jSwQp8R8ur2cBk"],"license":"MIT"},"lib/permit2/src/interfaces/IPermit2.sol":{"keccak256":"0xaa631cc9f53e699301d94233007110a345e6779011def484e8dd97b8fe0af771","urls":["bzz-raw://fc0502cf19c9c18f320a3001201e89e350393b75837f6b7971de18b2de06f30d","dweb:/ipfs/QmT9SfhdJ7VJNNrf94g4H5usyi7ShqWGx7Cqsz9jZTjX96"],"license":"MIT"},"lib/permit2/src/interfaces/ISignatureTransfer.sol":{"keccak256":"0xe6df9966f8841dc3958ee86169c89de97e7f614c81c28b9dc947b12d732df64e","urls":["bzz-raw://3d4eafdee7f48c3be8350a94eb6edd0bfb2af2c105df65787a77174f356c0317","dweb:/ipfs/QmY1j2adeeAhNpn6cUuthemxGCdLXHTfyMh9yTKsY4mZ2d"],"license":"MIT"},"lib/permit2/src/libraries/SafeCast160.sol":{"keccak256":"0x8a34e2beac108d74f89510c949983212b5f09307a93ee9e17a9d50e93f6bc8e9","urls":["bzz-raw://828697f9567ce617c5c1c8f76b6bcd250e93aea2c4f3ee188be6dff8443c19e7","dweb:/ipfs/QmafxeSPhUc9gGtNDLAw26oZooC5XNLhDMxHxYhJxL5Nwi"],"license":"MIT"},"lib/solmate/src/tokens/ERC20.sol":{"keccak256":"0xcdfd8db76b2a3415620e4d18cc5545f3d50de792dbf2c3dd5adb40cbe6f94b10","urls":["bzz-raw://57b3ab70cde374af1cf2c9888636e8de6cf660f087b1c9abd805e9271e19fa35","dweb:/ipfs/QmNrLDBAHYFjpjSd12jerm1AdBkDqEYUUaXgnT854BUZ97"],"license":"AGPL-3.0-only"},"lib/solmate/src/utils/SafeTransferLib.sol":{"keccak256":"0xbadf3d708cf532b12f75f78a1d423135954b63774a6d4ba15914a551d348db8a","urls":["bzz-raw://88ac8256bd520d1b8e6f9c4ac9e8777bffdc4a6c8afb1a848f596665779a55b4","dweb:/ipfs/QmXx7X1dxe6f5VM91vgQ5BA4r2eF97GWDcQDrgHytcvfjU"],"license":"AGPL-3.0-only"},"lib/v3-periphery/contracts/interfaces/IERC721Permit.sol":{"keccak256":"0x9e3c2a4ee65ddf95b2dfcb0815784eea3a295707e6f8b83e4c4f0f8fe2e3a1d4","urls":["bzz-raw://bfd939085b3618101b955f87c7fabf38338ba1aad480295acb8102ebc5d72471","dweb:/ipfs/QmauQD8bGDHTztmTDfaKXjzM7Wacrq2XU7VcTbwn1WrDBL"],"license":"GPL-2.0-or-later"},"lib/v3-periphery/contracts/interfaces/INonfungiblePositionManager.sol":{"keccak256":"0x3357b065654abb7f4a9ebd184a260bc39efde2afa4e99dca2e72ffc28e9c2984","urls":["bzz-raw://f7682dab014724be8e0a5a401b047788ff9c70b77fa5bd567ea6adc333cb3b56","dweb:/ipfs/QmatH1Gc6z3AkP4dHjAEBKfCBbgBfD4vCceF4TuZU2bCyW"],"license":"GPL-2.0-or-later"},"lib/v3-periphery/contracts/interfaces/IPeripheryImmutableState.sol":{"keccak256":"0x7affcfeb5127c0925a71d6a65345e117c33537523aeca7bc98085ead8452519d","urls":["bzz-raw://e16b291294210e71cb0f20cd0afe62ae2dc6878d627f5ccc19c4dc9cd80aec3f","dweb:/ipfs/QmQGitSyBr26nour81BZmpmDMyJpvZRqHQZvnCD1Acb127"],"license":"GPL-2.0-or-later"},"lib/v3-periphery/contracts/interfaces/IPeripheryPayments.sol":{"keccak256":"0xb547e10f1e69bed03621a62b73a503e260643066c6b4054867a4d1fef47eb274","urls":["bzz-raw://f9a90f58f5fd5fb42f7811f4094113b532f307b14a73764c91f977590747f407","dweb:/ipfs/QmSeNH2mfiDMKf3Q6V2sqtNxx1s72JNuA1VVxRM9HoMqYp"],"license":"GPL-2.0-or-later"},"lib/v3-periphery/contracts/interfaces/IPoolInitializer.sol":{"keccak256":"0x9d7695e8d94c22cc5fcced602017aabb988de89981ea7bee29ea629d5328a862","urls":["bzz-raw://61b50933026ee1017db2a6273af8cedc3238c95dca58880db0918dbdbb2f064f","dweb:/ipfs/QmUebR26pqG25d18aBELKz8aFFKkmHa8PxntzXTA7o9Ldu"],"license":"GPL-2.0-or-later"},"lib/v3-periphery/contracts/libraries/PoolAddress.sol":{"keccak256":"0xa72de315bd655a0fd5043ff97c7fd3868a1b5b1986afd75c6f5f8fd0f904985f","urls":["bzz-raw://a8838e68aba9caf2b2cb13bd4cb661b1f9c167cca4dfcd50ac72ae96691392df","dweb:/ipfs/QmfLq3cmsSQTuLLxiF4bgceaf2jx8CoiVXQd7BZXGgJG1E"],"license":"GPL-2.0-or-later"},"lib/v4-periphery/lib/v4-core/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0xc6a8ff0ea489379b61faa647490411b80102578440ab9d84e9a957cc12164e70","urls":["bzz-raw://0ea104e577e63faea3b69c415637e99e755dcbf64c5833d7140c35a714d6d90c","dweb:/ipfs/Qmau6x4Ns9XdyynRCNNp3RhLqijJjFm7z5fyZazfYFGYdq"],"license":"MIT"},"lib/v4-periphery/lib/v4-core/lib/openzeppelin-contracts/contracts/token/ERC721/IERC721.sol":{"keccak256":"0x5ef46daa3b58ef2702279d514780316efaa952915ee1aa3396f041ee2982b0b4","urls":["bzz-raw://2f8f2a76e23b02fc69e8cd24c3cb47da6c7af3a2d6c3a382f8ac25c6e094ade7","dweb:/ipfs/QmPV4ZS4tPVv4mTCf9ejyZ1ai57EEibDRj7mN2ARDCLV5n"],"license":"MIT"},"lib/v4-periphery/lib/v4-core/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/IERC721Enumerable.sol":{"keccak256":"0x3d6954a93ac198a2ffa384fa58ccf18e7e235263e051a394328002eff4e073de","urls":["bzz-raw://1f58c799bd939d3951c94893e83ef86acd56989d1d7db7f9d180c515e29e28ff","dweb:/ipfs/QmTgAxHAAys4kq9ZfU9YB24MWYoHLGAKSxnYUigPFrNW7g"],"license":"MIT"},"lib/v4-periphery/lib/v4-core/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/IERC721Metadata.sol":{"keccak256":"0x37d1aaaa5a2908a09e9dcf56a26ddf762ecf295afb5964695937344fc6802ce1","urls":["bzz-raw://ed0bfc1b92153c5000e50f4021367b931bbe96372ac6facec3c4961b72053d02","dweb:/ipfs/Qmbwp8VDerjS5SV1quwHH1oMXxPQ93fzfLVqJ2RCqbowGE"],"license":"MIT"},"lib/v4-periphery/lib/v4-core/lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b","urls":["bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df","dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL"],"license":"MIT"},"lib/v4-periphery/lib/v4-core/src/interfaces/IExtsload.sol":{"keccak256":"0x80b53ca4907d6f0088c3b931f2b72cad1dc4615a95094d96bd0fb8dff8d5ba43","urls":["bzz-raw://375c69148622aab7a3537d5fd37d373a8e9731022c8d87bdaee46233b0a99fe1","dweb:/ipfs/QmXFjdoYRxsA5B1kyuxEXgNf3FBoL1zPvy26Qy8EtpdFRN"],"license":"MIT"},"lib/v4-periphery/lib/v4-core/src/interfaces/IExttload.sol":{"keccak256":"0xc6b68283ebd8d1c789df536756726eed51c589134bb20821b236a0d22a135937","urls":["bzz-raw://294394f72dfc219689209f4130d85601dfd0d63c8d47578050d312db70f9b6c8","dweb:/ipfs/QmTDMQ3oxCGHgEBU48a3Lp4S1rRjc8vVCxkhE5ZNej1bsY"],"license":"MIT"},"lib/v4-periphery/lib/v4-core/src/interfaces/IHooks.sol":{"keccak256":"0x4c9571aed0c2b6ef11832545554fc11ffdb03746daaf5c73683c00600bfc7ec0","urls":["bzz-raw://e78b34b58ce9de91b91943b4f3cc3ce121d0b151e123e8a600ac5ef64d91db6c","dweb:/ipfs/QmRkaQnPCYwLrXgbpGujJTx32PaZK63KSPJJV1XmnQuCMb"],"license":"MIT"},"lib/v4-periphery/lib/v4-core/src/interfaces/IPoolManager.sol":{"keccak256":"0xb29607eefac17cb3b0a6f7ca1225a4f5a4baf4873fd1689c770e1fa0b3465399","urls":["bzz-raw://d1c9d83b6910d2cbd8b711438072b57f7feffcc18321330c0d83e73159c9c828","dweb:/ipfs/QmZfkdqayzYHAiGXrXLXYNaiS6JXSQmKyJLDQHvaXYi5Y2"],"license":"MIT"},"lib/v4-periphery/lib/v4-core/src/interfaces/IProtocolFees.sol":{"keccak256":"0x32a666e588a2f66334430357bb1e2424fe7eebeb98a3364b1dd16eb6ccca9848","urls":["bzz-raw://85751d302125881f72e5f8af051c2d5d9b1f606ebaea8ca7d04fccdd27cc252d","dweb:/ipfs/QmeRwomeh9NWm6A6fgNA4KZPQZHPpdKsPQyYsHSFmvud7J"],"license":"MIT"},"lib/v4-periphery/lib/v4-core/src/interfaces/callback/IUnlockCallback.sol":{"keccak256":"0x58c82f2bd9d7c097ed09bd0991fedc403b0ec270eb3d0158bfb095c06a03d719","urls":["bzz-raw://91168ca26a10980df2cdc3fbfe8ddf372c002b7ef19e3c59a0c9870d64198f1b","dweb:/ipfs/QmUSpaM825vd1SwvF38esgbdLgYiPwefKaFERTWvUi6uSK"],"license":"MIT"},"lib/v4-periphery/lib/v4-core/src/interfaces/external/IERC20Minimal.sol":{"keccak256":"0xeccadf1bf69ba2eb51f2fe4fa511bc7bb05bbd6b9f9a3cb8e5d83d9582613e0f","urls":["bzz-raw://118757369892687b99ef46ce28d6861f62c098285bd7687a4f17f7e44e5f81de","dweb:/ipfs/QmUxqbYqQtcEwwFbb9e6BBMePEaSgN8C45v6RKubD4ib8d"],"license":"MIT"},"lib/v4-periphery/lib/v4-core/src/interfaces/external/IERC6909Claims.sol":{"keccak256":"0xa586f345739e52b0488a0fe40b6e375cce67fdd25758408b0efcb5133ad96a48","urls":["bzz-raw://e8c557b7e52abdbbd82e415a1acc27921446a7fd090b7d4877e52be72619547f","dweb:/ipfs/QmXE2KNPbXmGX8BQF3ei6zhzRTnhoTQg39XmqMnkhbr6QK"],"license":"MIT"},"lib/v4-periphery/lib/v4-core/src/libraries/BitMath.sol":{"keccak256":"0x51b9be4f5c4fd3e80cbc9631a65244a2eb2be250b6b7f128a2035080e18aee8d","urls":["bzz-raw://fe98bbd5498e912146b9319827fc63621eb66ff55d5baae0fa02a7a972ab8d1e","dweb:/ipfs/QmY5hCuyrtgsJtk4AavrxcvBkRrChfr4N6ZnhdC8roPpNi"],"license":"MIT"},"lib/v4-periphery/lib/v4-core/src/libraries/CurrencyReserves.sol":{"keccak256":"0x1576616129933fcdf3b684cea33cffd9c95e18fafbd2832a8c48ac3d8526d4c3","urls":["bzz-raw://33b050efb9b81803b18f562271e7cca2ec5362c4d505860d6419b4a345636725","dweb:/ipfs/QmQtFtTwKZ5pFVGD2ENDUXvp7ECFvzqeCuJ1miJcUHdmiX"],"license":"BUSL-1.1"},"lib/v4-periphery/lib/v4-core/src/libraries/CustomRevert.sol":{"keccak256":"0x111ed3031b6990c80a93ae35dde6b6ac0b7e6af471388fdd7461e91edda9b7de","urls":["bzz-raw://c9ea883c98d6ae1829160d0977bb5195761cfd5bc81692d0a941f45717f594cd","dweb:/ipfs/QmZPwxzaeMNv536wzrAMrMswu7vMHuqPVpjcqL3YvCMoxt"],"license":"MIT"},"lib/v4-periphery/lib/v4-core/src/libraries/Lock.sol":{"keccak256":"0x9338be4b5695f1da5f3d3f7a3eeaf7a356c1045458289586ac0cbe9cef77c6d5","urls":["bzz-raw://485ec42ed6155469d612a9a0c18068ebfbad74448792a338a435503de3ef1b2c","dweb:/ipfs/QmVnnv5u74MYatfRmBgrcfFYQcsMAJMG9jQ6ju8UiydKNF"],"license":"BUSL-1.1"},"lib/v4-periphery/lib/v4-core/src/libraries/NonzeroDeltaCount.sol":{"keccak256":"0x0666ebd5d3528d7d52c48538296367a4cff97a578cf13365c51983fae3219b87","urls":["bzz-raw://d27f1be3bd09d85c53d3e6a539dd6529ddd8b2b764ccb47fd7765fc81f9add59","dweb:/ipfs/QmQdZujNXhKEXQBkKtF5jbdvo1yXMqPDUoBBaF9S5u3Kpm"],"license":"BUSL-1.1"},"lib/v4-periphery/lib/v4-core/src/libraries/SafeCast.sol":{"keccak256":"0x42c4a24f996a14d358be397b71f7ec9d7daf666aaec78002c63315a6ee67aa86","urls":["bzz-raw://c3db86e2ba3679105fc32edec656c70282e1fede6cab11217702443f6c26fa59","dweb:/ipfs/QmX4yaaSPdKQzYNRsezjTvZKsubzS8JRTEGFD3fPpTTCcj"],"license":"MIT"},"lib/v4-periphery/lib/v4-core/src/libraries/TickMath.sol":{"keccak256":"0x4e1a11e154eb06106cb1c4598f06cca5f5ca16eaa33494ba2f0e74981123eca8","urls":["bzz-raw://a79a57f7b240783b045168d1c4f774ac1812caf8f9a83cb6959a86b0b07b6c70","dweb:/ipfs/QmTb5kvxwDNW8jDuQaqdJ445cCFejNkUqEB17Bjo8UBiva"],"license":"MIT"},"lib/v4-periphery/lib/v4-core/src/libraries/TransientStateLibrary.sol":{"keccak256":"0x7d1e0875747bd89b32c25f1a48da2766e5f4aff1f671ad5f3c0c07ebbbcb946a","urls":["bzz-raw://d76cfeb1cb60595b41ecc51c8a12fb4bf63a7fc733d0b1a2e3adb55abeb1f9d5","dweb:/ipfs/Qmb8oX7DtsRpw3tTtdWZwGhauj1evq43d3PLwe4nSDAKkV"],"license":"MIT"},"lib/v4-periphery/lib/v4-core/src/types/BalanceDelta.sol":{"keccak256":"0xa719c8fe51e0a9524280178f19f6851bcc3b3b60e73618f3d60905d35ae5569f","urls":["bzz-raw://7436928dc9de35c6c7c5c636cb51adaf295cfd590da83b19a004ae33cbec9ef9","dweb:/ipfs/QmRJ9yZkUpzk4433GX3LgVVL8jwpbSYSUwXcucKisf3v4H"],"license":"MIT"},"lib/v4-periphery/lib/v4-core/src/types/BeforeSwapDelta.sol":{"keccak256":"0x2a774312d91285313d569da1a718c909655da5432310417692097a1d4dc83a78","urls":["bzz-raw://a2c7a0379955cff9c17ab9e61f95e42909aa5947c22740f86ce940d09856f782","dweb:/ipfs/QmaAuo8UBYXsGrVuKh8iRoAAdqwtg1jDq515cW1ZRP5m9K"],"license":"MIT"},"lib/v4-periphery/lib/v4-core/src/types/Currency.sol":{"keccak256":"0x4a0b84b282577ff6f8acf13ec9f4d32dbb9348748b49611d00e68bee96609c93","urls":["bzz-raw://45f9d62ab3d51b52957279e353853ba1547c3182c9a1e3d1846ada4a90263b01","dweb:/ipfs/QmS8NG84ccQS1yXVD8cv3eKX7J1UKxuJhbUfHTQR2opKF5"],"license":"MIT"},"lib/v4-periphery/lib/v4-core/src/types/PoolId.sol":{"keccak256":"0x308311916ea0f5c2fd878b6a2751eb223d170a69e33f601fae56dfe3c5d392af","urls":["bzz-raw://669c2cd7ac17690b5d8831e0bda72822376c3a04b36afed6d31df4d75fe60918","dweb:/ipfs/QmT6EpkxqU8VF3WsgrZ66F3s1cCQRffR95z1HDYZz7ph6y"],"license":"MIT"},"lib/v4-periphery/lib/v4-core/src/types/PoolKey.sol":{"keccak256":"0xf89856e0580d7a4856d3187a76858377ccee9d59702d230c338d84388221b786","urls":["bzz-raw://6f3118fa189025695c37fdf0bdd1190f085ad097484d3c88cf4c56d1db65f639","dweb:/ipfs/QmamXpgtB8GV1CaFLvqefPWSoikLDhMk1yU4heBnVzU8gi"],"license":"MIT"},"lib/v4-periphery/src/V4Router.sol":{"keccak256":"0x8ede1e538ae9b74984c52347a3bbaee7b3d69f00ed9b3a6db1f1bd6e058a2326","urls":["bzz-raw://8e370416fa9681ad124414e2b2fb57a5455e15dd873c9e61c964177ae5c2d544","dweb:/ipfs/QmWrM97ezNB9CpawqhkwpubXHcXUbMFWKYEbD3D6EyAe1w"],"license":"MIT"},"lib/v4-periphery/src/base/BaseActionsRouter.sol":{"keccak256":"0xca1ee500f88951ad351d18ba2adfb5fe23abef6d502f234ce5748a3497674a4c","urls":["bzz-raw://1f03ab458be27c29cef1b7ace5b11517d3fef8bf6131af7dd80d6297c224cf71","dweb:/ipfs/QmYoH6o8yeRzbeLoaMG9TjS8q2Fw7T1h4vXvvMnp3XfsUa"],"license":"MIT"},"lib/v4-periphery/src/base/DeltaResolver.sol":{"keccak256":"0x94a2da2be5c924df65a8e1e29f585bbe4c37777fedd43b45989c66d509a4a83c","urls":["bzz-raw://42bba590f6e817fd56328b74ae99bfdc4df57386d0a69ee22b9108341953ed36","dweb:/ipfs/QmdusastK7FWYouLz9gvV5J3z8MQbNKLJNNHTrc1vi7DWw"],"license":"MIT"},"lib/v4-periphery/src/base/ImmutableState.sol":{"keccak256":"0x1867c9fa2f9b4fa73bab0fcdc9d19ccef4eeac552273d8b84a170cd1cc90350a","urls":["bzz-raw://af2d699b439e13b599632fddfe82718aebd41055fba7c075f186675c588d1337","dweb:/ipfs/Qmc111gckSKb9aESn3wRFLeLiS4KGujaUcaYJgRnCRfwQU"],"license":"MIT"},"lib/v4-periphery/src/base/SafeCallback.sol":{"keccak256":"0xd78b583df1b9ee06d58e83b84fc9f08971389b34dd34bc13db072e0c13c710da","urls":["bzz-raw://c0a47f4bcd6060c4462153b9a7c52a60a460ace91acb6ddd5492eab28ec26173","dweb:/ipfs/QmdRCTRS1dhFjWEy6z577j4xz9J5HPfHBwcNzAic8G59oT"],"license":"MIT"},"lib/v4-periphery/src/interfaces/IEIP712_v4.sol":{"keccak256":"0xd7f7115476e307a0bfc32a0f0a0f5434e9e5ca62a6c5af1e18b75e48161bb408","urls":["bzz-raw://b1600b953556da38a7adc5ad2a2925ec5fb138fecf8eec48743646543195b736","dweb:/ipfs/QmarZi2aiLVAfHXgnDWV1cCFiZk2DdPW7KJnWHqzuRChJR"],"license":"MIT"},"lib/v4-periphery/src/interfaces/IERC721Permit_v4.sol":{"keccak256":"0x103adbba724ef536abc536fe8a4d7dc12880724c562109b69f2adce4a91fa017","urls":["bzz-raw://06f51b5a5a218e0bc866a83e7821be53c9db9de0ca921f16abd3d13ea0eab69d","dweb:/ipfs/QmbnhLy992hpQZyphTkj7fpr6jKKVva2AzfmLiDZEuqHAk"],"license":"MIT"},"lib/v4-periphery/src/interfaces/IImmutableState.sol":{"keccak256":"0x36ab3100e87457ecf04887f4f540e34fd7f21d8e3b83880cb679239e60b7b06b","urls":["bzz-raw://7f290c7ce8e4832608d637a51b13dff95abecf6549485448e647a11c8ed01341","dweb:/ipfs/QmfD1R6mTp8j4EjQXmQZW3vCh11EYFjnvoaw8rXRP27mMq"],"license":"MIT"},"lib/v4-periphery/src/interfaces/IMulticall_v4.sol":{"keccak256":"0x336bec303f7ff86497d2679464c5adad5040f412b3d0769ce5e1d2a42f7e2c08","urls":["bzz-raw://7734f047d98d331c8abc51ad9f358ceee0a6dcae8d89ac49084b84de0d2d42e7","dweb:/ipfs/QmWij2h7mU36LsXhb9P6pkYXrSCua4ixeWaVFSrsEcEmPQ"],"license":"MIT"},"lib/v4-periphery/src/interfaces/INotifier.sol":{"keccak256":"0xfdc5187a98240a1691aae98b7dd2444d4c2bfb4746f3c34de9f3d18399c17c5e","urls":["bzz-raw://683af56401ec4f8817e8dfe150e7b3febaf0baaf40efe8d0d0475f735275f746","dweb:/ipfs/QmRQ6S3nFnSc2jjDcQTvUJdTf4xKPojmvCkpvgyr6qTuVV"],"license":"MIT"},"lib/v4-periphery/src/interfaces/IPermit2Forwarder.sol":{"keccak256":"0xfad472937280e861125ff12aa6f9c2cf7440fbb20a2cc29485c24662ad4279c5","urls":["bzz-raw://31bfbc331f5972fc373d9469fd1ca1d14818db3275f21b7b590f20820cb4439d","dweb:/ipfs/QmX3Bv9wfYpAFZKBcxKsQSXUrSC8mqNBdzh6XVMS72aNx9"],"license":"MIT"},"lib/v4-periphery/src/interfaces/IPoolInitializer_v4.sol":{"keccak256":"0x2e4feda94650a2642039e0309ffdec480ee050bc40864bf5e1dba42bb4dc9e98","urls":["bzz-raw://964c178b4da8bab9ef898b94bb26d7c17cc44c5cf20485f55dcf5e9c7e1b1d92","dweb:/ipfs/QmVd2c3SYteyr5xZgUS4sDAiZF43dLwVAEKdCfvQbkZpRJ"],"license":"MIT"},"lib/v4-periphery/src/interfaces/IPositionManager.sol":{"keccak256":"0x62dfa0cbee8314ee7e6787db8bc1d364245c340f940875ac7ff11e89d074fc7e","urls":["bzz-raw://26f560c77d8a187bf93a710b827e3167eab3446922192fa8f92f208da2103834","dweb:/ipfs/Qmbzp5gSYdTpMBF9aAb2GraxMEQZb5LRJCyg8VaRUyjTFc"],"license":"MIT"},"lib/v4-periphery/src/interfaces/ISubscriber.sol":{"keccak256":"0x34ceadec4a63019680e543fe73197f198a55c825d86e18f327840354760b57e7","urls":["bzz-raw://31734feafe1fe162a0702ddf862fcc3bd97505931afb3c685033c0185d898051","dweb:/ipfs/QmQEANYVyaXTNzXKcjUVfPhLU71Bix5vxQH75BpPWMkWgw"],"license":"MIT"},"lib/v4-periphery/src/interfaces/IUnorderedNonce.sol":{"keccak256":"0xd7f32fee74dc7d1a3b078ca1263961baccaa6bf434c79e8fe0e092e30c3e0ec3","urls":["bzz-raw://e7d1e92d89d5f49c84aa82f3b259678c2c97a4473b22d753ca4411a6b0cec36d","dweb:/ipfs/QmNZoQyminStaAdaLqoDLoWaBU5QWrWjXFjmBm4aFhzL8i"],"license":"MIT"},"lib/v4-periphery/src/interfaces/IV4Router.sol":{"keccak256":"0xc4133fae25e61cc2447d7331729f6035322d7c1fe26b39b225422bf98cc63459","urls":["bzz-raw://3c24ff8428504e973e947a059f96289a66c520cd7f8ef47a3224f9cb6abdaf25","dweb:/ipfs/QmVqxYnngWXXcCiuTC143vTEJrjZK5NXWB92pjvVbuJBQ5"],"license":"MIT"},"lib/v4-periphery/src/interfaces/external/IWETH9.sol":{"keccak256":"0xe88abf12501ac275619aec0687240a07d26968aecbbcdfea88ba8bbd5d6e5e14","urls":["bzz-raw://7097065d4492b4eccb1a73f99af1e5bec45404c6b973b8f5965c4c91403f5f92","dweb:/ipfs/QmZK8oEqmjmTqhBoh3D3fBpyKGkUEFnptY8xwH9xpNjDm2"],"license":"MIT"},"lib/v4-periphery/src/libraries/ActionConstants.sol":{"keccak256":"0x3d6f0e5b4a7b1e60bad93e73dce5db67fb66bebef11c31ed8355014a79aa03b3","urls":["bzz-raw://6dfa42e24b1b5c7f66e75304ab034fbb6768518eb2410ccfff8b3defdd1658f2","dweb:/ipfs/QmQQ7fud9mmv7PEWPAQiNzeZhNkWf28Z6nCHc2e6WJFfa7"],"license":"MIT"},"lib/v4-periphery/src/libraries/Actions.sol":{"keccak256":"0x8efd4b8b289177ee27e557d9d0a5a9f973d66fe1eb1ef8959d316b11987ca830","urls":["bzz-raw://07fe35f194eb99465028f0546359befea574d844da53767d32f22b233c3bcc98","dweb:/ipfs/Qmc19631uFxABTHAbGrDrroexi9GdyxWntaum1v8npPYz5"],"license":"MIT"},"lib/v4-periphery/src/libraries/BipsLibrary.sol":{"keccak256":"0x37ebf99f5d086d9d9f6e7cecbf4d62167f47c63c30248cfcb921e828f0d7a359","urls":["bzz-raw://c4f8e68a66bb6c166d72cdba6ed6fb83a93f713b79c2c572e8058084eb90ab6c","dweb:/ipfs/QmY32FxtSBRf9PJzNUVzXqFY4i2ApTPHTUMpCBGovd2zo3"],"license":"MIT"},"lib/v4-periphery/src/libraries/CalldataDecoder.sol":{"keccak256":"0x26df49e13fb5410fd4db253cca877dfdfb3a1ba03e394d054c0e0514a88a56e5","urls":["bzz-raw://72a0c98c52171708f332f83d517deeb97fdd50ecf28f2510e1866e54593a6ff8","dweb:/ipfs/QmY4LiDUfSKGj86nML7B6a8euiPciUqwYehasAyAVnMCHq"],"license":"MIT"},"lib/v4-periphery/src/libraries/PathKey.sol":{"keccak256":"0xbbd79ffefe045f025263e389539021266fb4d371463aefba405e1ff1d3fcf9bc","urls":["bzz-raw://2d1c47b81a01218be46ee79f0a8837095479b94dc5cfd18abbf2006709f0ea89","dweb:/ipfs/QmRb6CQ13Zp7f3WF5jbZtsF2szhxpPgcuWs9mjwQXxzqtg"],"license":"MIT"},"lib/v4-periphery/src/libraries/PositionInfoLibrary.sol":{"keccak256":"0xc5ddf96bd088bc87ea50a20f907fc932fb28397a42682a301b268a11b7f34078","urls":["bzz-raw://7dfeb4dc747537240f8167243e8066b6f5f08057386fb8bda93f82973fc18ad6","dweb:/ipfs/Qmby9DAAaHj8hjsMUnqY3vjqCHKGAKrT5EULMmeGcjbbGx"],"license":"MIT"},"node_modules/@uniswap/v2-core/contracts/interfaces/IUniswapV2Pair.sol":{"keccak256":"0x7c9bc70e5996c763e02ff38905282bc24fb242b0ef2519a003b36824fc524a4b","urls":["bzz-raw://85d5ad2dd23ee127f40907a12865a1e8cb5828814f6f2480285e1827dd72dedf","dweb:/ipfs/QmayKQWJgWmr46DqWseADyUanmqxh662hPNdAkdHRjiQQH"],"license":null},"node_modules/@uniswap/v3-core/contracts/interfaces/IUniswapV3Pool.sol":{"keccak256":"0xfe6113d518466cd6652c85b111e01f33eb62157f49ae5ed7d5a3947a2044adb1","urls":["bzz-raw://1c42b9e6f5902ac38dd43e25750939baa7e0c1425dc75afd717c4412731065d5","dweb:/ipfs/QmWaoacnzsucTvBME2o7YgZBZMhaHv7fkj83htHMVWJKWh"],"license":"GPL-2.0-or-later"},"node_modules/@uniswap/v3-core/contracts/interfaces/callback/IUniswapV3SwapCallback.sol":{"keccak256":"0x3f485fb1a44e8fbeadefb5da07d66edab3cfe809f0ac4074b1e54e3eb3c4cf69","urls":["bzz-raw://095ce0626b41318c772b3ebf19d548282607f6a8f3d6c41c13edfbd5370c8652","dweb:/ipfs/QmVDZfJJ89UUCE1hMyzqpkZAtQ8jUsBgZNE5AMRG7RzRFS"],"license":"GPL-2.0-or-later"},"node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolActions.sol":{"keccak256":"0x9453dd0e7442188667d01d9b65de3f1e14e9511ff3e303179a15f6fc267f7634","urls":["bzz-raw://982f4328f956c3e60e67501e759eb292ac487f76460c774c50e9ae4fcc92aae5","dweb:/ipfs/QmRnzEDsaqtd9PJEVcgQi7p5aV5pMSvRUoGZJAdwFUJxgZ"],"license":"GPL-2.0-or-later"},"node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolDerivedState.sol":{"keccak256":"0xe603ac5b17ecdee73ba2b27efdf386c257a19c14206e87eee77e2017b742d9e5","urls":["bzz-raw://8febc9bdb399a4d94bb89f5377732652e2400e4a8dee808201ade6848f9004e7","dweb:/ipfs/QmaKDqYYFU4d2W2iN77aDHptfbFmYZRrMYXHeGpJmM8C1c"],"license":"GPL-2.0-or-later"},"node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolEvents.sol":{"keccak256":"0x8071514d0fe5d17d6fbd31c191cdfb703031c24e0ece3621d88ab10e871375cd","urls":["bzz-raw://d0b571930cc7488b1d546a7e9cea7c52d8b3c4e207da657ed0e0db7343b8cd03","dweb:/ipfs/QmaGK6vVwB95QSTR1XMYvrh7ivYAYZxi3fD7v6VMA4jZ39"],"license":"GPL-2.0-or-later"},"node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolImmutables.sol":{"keccak256":"0xf6e5d2cd1139c4c276bdbc8e1d2b256e456c866a91f1b868da265c6d2685c3f7","urls":["bzz-raw://b99c8c9ae8e27ee6559e5866bea82cbc9ffc8247f8d15b7422a4deb287d4d047","dweb:/ipfs/QmfL8gaqt3ffAnm6nVj5ksuNpLygXuL3xq5VBqrkwC2JJ3"],"license":"GPL-2.0-or-later"},"node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolOwnerActions.sol":{"keccak256":"0x759b78a2918af9e99e246dc3af084f654e48ef32bb4e4cb8a966aa3dcaece235","urls":["bzz-raw://64144fb96e1c7fdba87305acadb98a198d26a3d46c097cb3a666e567f6f29735","dweb:/ipfs/QmUnWVwN9FKB9uV5Pr8YfLpWZnYM2DENnRMaadZ492JS9u"],"license":"GPL-2.0-or-later"},"node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolState.sol":{"keccak256":"0x852dc1f5df7dcf7f11e7bb3eed79f0cea72ad4b25f6a9d2c35aafb48925fd49f","urls":["bzz-raw://ed63907c38ff36b0e22bc9ffc53e791ea74f0d4f0e7c257fdfb5aaf8825b1f0f","dweb:/ipfs/QmSQrckghEjs6HVsA5GVgpNpZWvTXMY5eQLF7cN6deFeEg"],"license":"GPL-2.0-or-later"},"node_modules/@uniswap/v3-core/contracts/libraries/SafeCast.sol":{"keccak256":"0x4c12bf820c0b011f5490a209960ca34dd8af34660ef9e01de0438393d15e3fd8","urls":["bzz-raw://fed11489e218e55d087d42b4f350a30e10cd2aedec8f432bd3cc712f648d5869","dweb:/ipfs/QmWfRnRxyXwHUDcTQPazxYYk5jxErGeQqdvnYtyg5nBPbU"],"license":"GPL-2.0-or-later"}},"version":1},"id":0}