@pendle/core-v2 4.2.6 → 4.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/artifacts/contracts/interfaces/IPPtLpOracle.sol/IPPtLpOracle.dbg.json +4 -0
- package/build/artifacts/contracts/interfaces/{IPPtOracle.sol/IPPtOracle.json → IPPtLpOracle.sol/IPPtLpOracle.json} +75 -3
- package/build/artifacts/contracts/limit/LimitRouterBase.sol/LimitRouterBase.dbg.json +1 -1
- package/build/artifacts/contracts/limit/LimitRouterBase.sol/LimitRouterBase.json +96 -0
- package/build/artifacts/contracts/limit/PendleLimitRouter.sol/PendleLimitRouter.dbg.json +1 -1
- package/build/artifacts/contracts/limit/PendleLimitRouter.sol/PendleLimitRouter.json +98 -2
- package/build/artifacts/contracts/oracles/PendlePtLpOracle.sol/PendlePtLpOracle.dbg.json +1 -1
- package/build/artifacts/contracts/oracles/PendlePtLpOracle.sol/PendlePtLpOracle.json +2 -2
- package/build/artifacts/contracts/oracles/samples/BoringLpGlpOracle.sol/BoringLpGlpOracle.dbg.json +1 -1
- package/build/artifacts/contracts/oracles/samples/BoringLpGlpOracle.sol/BoringLpGlpOracle.json +2 -2
- package/build/artifacts/contracts/oracles/samples/BoringPtUsdChainlinkOracle.sol/BoringPtUsdChainlinkOracle.dbg.json +1 -1
- package/build/artifacts/contracts/oracles/samples/BoringPtUsdChainlinkOracle.sol/BoringPtUsdChainlinkOracle.json +2 -2
- package/contracts/interfaces/{IPPtOracle.sol → IPPtLpOracle.sol} +8 -2
- package/contracts/limit/LimitRouterBase.sol +26 -9
- package/contracts/oracles/PendlePtLpOracle.sol +4 -2
- package/contracts/oracles/samples/BoringLpGlpOracle.sol +2 -2
- package/contracts/oracles/samples/BoringPtUsdChainlinkOracle.sol +3 -3
- package/deployments/1-core.json +1 -1
- package/deployments/1-markets/APXETH-MAR2025.json +13 -0
- package/deployments/10-core.json +1 -1
- package/deployments/42161-core.json +1 -1
- package/deployments/42161-markets/MLP-JUNE2024.json +12 -0
- package/deployments/56-core.json +1 -1
- package/package.json +1 -1
- package/typechain-types/IPPtLpOracle.ts +301 -0
- package/typechain-types/LimitRouterBase.ts +36 -0
- package/typechain-types/PendleLimitRouter.ts +36 -0
- package/typechain-types/factories/BoringLpGlpOracle__factory.ts +1 -1
- package/typechain-types/factories/BoringPtUsdChainlinkOracle__factory.ts +1 -1
- package/typechain-types/factories/IPPtLpOracle__factory.ts +166 -0
- package/typechain-types/factories/LimitRouterBase__factory.ts +96 -0
- package/typechain-types/factories/PendleLimitRouter__factory.ts +97 -1
- package/typechain-types/factories/PendlePtLpOracle__factory.ts +1 -1
- package/typechain-types/hardhat.d.ts +4 -4
- package/typechain-types/index.ts +2 -2
- package/build/artifacts/contracts/interfaces/IPPtOracle.sol/IPPtOracle.dbg.json +0 -4
|
@@ -165,7 +165,7 @@ const _abi = [
|
|
|
165
165
|
];
|
|
166
166
|
|
|
167
167
|
const _bytecode =
|
|
168
|
-
"0x6101206040523480156200001257600080fd5b506040516200157c3803806200157c8339810160408190526200003591620000f0565b63ffffffff84166080526001600160a01b0380841660a052821660c08190526040805163313ce56760e01b8152905163313ce567916004808201926020929091908290030181865afa15801562000090573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000b6919062000157565b60ff1660e0526001600160a01b0316610100525062000183915050565b80516001600160a01b0381168114620000eb57600080fd5b919050565b600080600080608085870312156200010757600080fd5b845163ffffffff811681146200011c57600080fd5b93506200012c60208601620000d3565b92506200013c60408601620000d3565b91506200014c60608601620000d3565b905092959194509250565b6000602082840312156200016a57600080fd5b815160ff811681146200017c57600080fd5b9392505050565b60805160a05160c05160e0516101005161135b6200022160003960008181608201528181610239015261030d015260008181610166015281816105320152818161056001526105a301526000818161010201526104ac015260008181610129015281816101bc01528181610268015261033c01526000818160c6015281816101de015281816102890152818161035d0152610423015261135b6000f3fe608060405234801561001057600080fd5b50600436106100785760003560e01c806305d7b9a21461007d57806326d89545146100c157806337a7b7d8146100fd57806380f5560514610124578063addccbb31461014b578063c23953d014610161578063e710b82f1461019a578063f9294d8b146101a2575b600080fd5b6100a47f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b6100e87f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff90911681526020016100b8565b6100a47f000000000000000000000000000000000000000000000000000000000000000081565b6100a47f000000000000000000000000000000000000000000000000000000000000000081565b6101536101ac565b6040519081526020016100b8565b6101887f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff90911681526020016100b8565b610153610234565b6101aa610306565b005b6000806102026001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000167f0000000000000000000000000000000000000000000000000000000000000000610455565b9050600061020e6104a7565b9050670de0b6b3a76400006102238383610eec565b61022d9190610f19565b9250505090565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663abca0eab7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006040518363ffffffff1660e01b81526004016102c5929190610f2d565b602060405180830381865afa1580156102e2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102029190610f4c565b60008060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663873e96007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006040518363ffffffff1660e01b8152600401610399929190610f2d565b606060405180830381865afa1580156103b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103da9190610f7a565b925092509250821561040a576040516333b3ceb360e01b815261ffff831660048201526024015b60405180910390fd5b8061045057604051631229555360e01b815263ffffffff7f0000000000000000000000000000000000000000000000000000000000000000166004820152602401610401565b505050565b6000806000610463856105e4565b91509150808210610481576104788585610814565b925050506104a1565b808261048d8787610814565b6104979190610eec565b6104789190610f19565b92915050565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166350d25bcd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610508573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061052c9190610f4c565b905060127f000000000000000000000000000000000000000000000000000000000000000060ff161061059e5761058460127f0000000000000000000000000000000000000000000000000000000000000000610fc6565b61058f90600a6110c3565b6105999082610f19565b6105de565b6105c97f00000000000000000000000000000000000000000000000000000000000000006012610fc6565b6105d490600a6110c3565b6105de9082610eec565b91505090565b600080600080846001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610628573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061064c91906110ea565b9250509150816001600160a01b0316633ba0b9a96040518163ffffffff1660e01b8152600401602060405180830381865afa15801561068f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106b39190610f4c565b93506000816001600160a01b031663d2a3584e6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106f5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107199190610f4c565b9050816001600160a01b031663516399df6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610759573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061077d9190611137565b80156107f2575043826001600160a01b03166360e0a9e16040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107e79190611152565b6001600160801b0316145b156107ff5780935061080c565b61080985826108e9565b93505b505050915091565b600080836001600160a01b031663e184c9be6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610855573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108799190610f4c565b905042811161089357670de0b6b3a76400009150506104a1565b600061089f8585610901565b905060006108ad428461117b565b905060006108c36108be8484610a28565b610a69565b90506108d7670de0b6b3a764000082610a7c565b9450505050506104a1565b5092915050565b60008183116108f857816108fa565b825b9392505050565b60408051600280825260608201835260009283929190602083019080368337019050509050828160008151811061093a5761093a6111a4565b63ffffffff9092166020928302919091019091015260405163883bdbfd60e01b81526000906001600160a01b0386169063883bdbfd9061097e9085906004016111ba565b600060405180830381865afa15801561099b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526109c3919081019061121b565b90508363ffffffff16816000815181106109df576109df6111a4565b6020026020010151826001815181106109fa576109fa6111a4565b6020026020010151610a0c91906112df565b610a1691906112ff565b6001600160d81b031695945050505050565b600080610a3a6201518061016d610eec565b610a448486610eec565b610a4e9190610f19565b9050610a61610a5c82610aab565b610ac1565b949350505050565b600080821215610a7857600080fd5b5090565b600080610a91670de0b6b3a764000085610eec565b9050828181610aa257610aa2610f03565b04949350505050565b60006001600160ff1b03821115610a7857600080fd5b6000680238fd42c5cf03ffff198212158015610ae6575068070c1cc73b00c800008213155b610b255760405162461bcd60e51b815260206004820152601060248201526f125b9d985b1a5908195e1c1bdb995b9d60821b6044820152606401610401565b6000821215610b5d57610b3a82600003610ac1565b6a0c097ce7bc90715b34b9f160241b81610b5657610b56610f03565b0592915050565b60006806f05b59d3b20000008312610b9b57506806f05b59d3b1ffffff199091019072195e54c5dd42177f53a27172fa9ec63026282760241b610bd1565b6803782dace9d90000008312610bcd57506803782dace9d8ffffff19909101906b1425982cf597cd205cef7380610bd1565b5060015b6064929092029168056bc75e2d6310000068ad78ebc5ac620000008412610c215768ad78ebc5ac61ffffff199093019268056bc75e2d631000006e01855144814a7ff805980ff008400082020590505b6856bc75e2d6310000008412610c5d576856bc75e2d630ffffff199093019268056bc75e2d631000006b02df0ab5a80a22c61ab5a70082020590505b682b5e3af16b188000008412610c9757682b5e3af16b187fffff199093019268056bc75e2d63100000693f1fce3da636ea5cf85082020590505b6815af1d78b58c4000008412610cd1576815af1d78b58c3fffff199093019268056bc75e2d63100000690127fa27722cc06cc5e282020590505b680ad78ebc5ac62000008412610d0a57680ad78ebc5ac61fffff199093019268056bc75e2d6310000068280e60114edb805d0382020590505b68056bc75e2d631000008412610d435768056bc75e2d630fffff199093019268056bc75e2d63100000680ebc5fb4174612111082020590505b6802b5e3af16b18800008412610d7c576802b5e3af16b187ffff199093019268056bc75e2d631000006808f00f760a4b2db55d82020590505b68015af1d78b58c400008412610db55768015af1d78b58c3ffff199093019268056bc75e2d631000006806f5f177578893793782020590505b68056bc75e2d631000008481019085906002908280020505918201919050600368056bc75e2d631000008783020505918201919050600468056bc75e2d631000008783020505918201919050600568056bc75e2d631000008783020505918201919050600668056bc75e2d631000008783020505918201919050600768056bc75e2d631000008783020505918201919050600868056bc75e2d631000008783020505918201919050600968056bc75e2d631000008783020505918201919050600a68056bc75e2d631000008783020505918201919050600b68056bc75e2d631000008783020505918201919050600c68056bc75e2d631000008783020505918201919050606468056bc75e2d63100000848402058502059695505050505050565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176104a1576104a1610ed6565b634e487b7160e01b600052601260045260246000fd5b600082610f2857610f28610f03565b500490565b6001600160a01b0392909216825263ffffffff16602082015260400190565b600060208284031215610f5e57600080fd5b5051919050565b80518015158114610f7557600080fd5b919050565b600080600060608486031215610f8f57600080fd5b610f9884610f65565b9250602084015161ffff81168114610faf57600080fd5b9150610fbd60408501610f65565b90509250925092565b60ff82811682821603908111156104a1576104a1610ed6565b600181815b8085111561101a57816000190482111561100057611000610ed6565b8085161561100d57918102915b93841c9390800290610fe4565b509250929050565b600082611031575060016104a1565b8161103e575060006104a1565b8160018114611054576002811461105e5761107a565b60019150506104a1565b60ff84111561106f5761106f610ed6565b50506001821b6104a1565b5060208310610133831016604e8410600b841016171561109d575081810a6104a1565b6110a78383610fdf565b80600019048211156110bb576110bb610ed6565b029392505050565b60006108fa60ff841683611022565b6001600160a01b03811681146110e757600080fd5b50565b6000806000606084860312156110ff57600080fd5b835161110a816110d2565b602085015190935061111b816110d2565b604085015190925061112c816110d2565b809150509250925092565b60006020828403121561114957600080fd5b6108fa82610f65565b60006020828403121561116457600080fd5b81516001600160801b03811681146108fa57600080fd5b818103818111156104a1576104a1610ed6565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6020808252825182820181905260009190848201906040850190845b818110156111f857835163ffffffff16835292840192918401916001016111d6565b50909695505050505050565b80516001600160d81b0381168114610f7557600080fd5b6000602080838503121561122e57600080fd5b82516001600160401b038082111561124557600080fd5b818501915085601f83011261125957600080fd5b81518181111561126b5761126b61118e565b8060051b604051601f19603f830116810181811085821117156112905761129061118e565b6040529182528482019250838101850191888311156112ae57600080fd5b938501935b828510156112d3576112c485611204565b845293850193928501926112b3565b98975050505050505050565b6001600160d81b038281168282160390808211156108e2576108e2610ed6565b60006001600160d81b038381168061131957611319610f03565b9216919091049291505056fea2646970667358221220b1d319135016ec64bcedf6dfbf43f808f1e16ad07933e151f9dfde2e05705c0364736f6c63430008170033";
|
|
168
|
+
"0x6101206040523480156200001257600080fd5b506040516200157c3803806200157c8339810160408190526200003591620000f0565b63ffffffff84166080526001600160a01b0380841660a052821660c08190526040805163313ce56760e01b8152905163313ce567916004808201926020929091908290030181865afa15801562000090573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000b6919062000157565b60ff1660e0526001600160a01b0316610100525062000183915050565b80516001600160a01b0381168114620000eb57600080fd5b919050565b600080600080608085870312156200010757600080fd5b845163ffffffff811681146200011c57600080fd5b93506200012c60208601620000d3565b92506200013c60408601620000d3565b91506200014c60608601620000d3565b905092959194509250565b6000602082840312156200016a57600080fd5b815160ff811681146200017c57600080fd5b9392505050565b60805160a05160c05160e0516101005161135b6200022160003960008181608201528181610239015261030d015260008181610166015281816105320152818161056001526105a301526000818161010201526104ac015260008181610129015281816101bc01528181610268015261033c01526000818160c6015281816101de015281816102890152818161035d0152610423015261135b6000f3fe608060405234801561001057600080fd5b50600436106100785760003560e01c806305d7b9a21461007d57806326d89545146100c157806337a7b7d8146100fd57806380f5560514610124578063addccbb31461014b578063c23953d014610161578063e710b82f1461019a578063f9294d8b146101a2575b600080fd5b6100a47f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b6100e87f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff90911681526020016100b8565b6100a47f000000000000000000000000000000000000000000000000000000000000000081565b6100a47f000000000000000000000000000000000000000000000000000000000000000081565b6101536101ac565b6040519081526020016100b8565b6101887f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff90911681526020016100b8565b610153610234565b6101aa610306565b005b6000806102026001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000167f0000000000000000000000000000000000000000000000000000000000000000610455565b9050600061020e6104a7565b9050670de0b6b3a76400006102238383610eec565b61022d9190610f19565b9250505090565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663abca0eab7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006040518363ffffffff1660e01b81526004016102c5929190610f2d565b602060405180830381865afa1580156102e2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102029190610f4c565b60008060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663873e96007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006040518363ffffffff1660e01b8152600401610399929190610f2d565b606060405180830381865afa1580156103b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103da9190610f7a565b925092509250821561040a576040516333b3ceb360e01b815261ffff831660048201526024015b60405180910390fd5b8061045057604051631229555360e01b815263ffffffff7f0000000000000000000000000000000000000000000000000000000000000000166004820152602401610401565b505050565b6000806000610463856105e4565b91509150808210610481576104788585610814565b925050506104a1565b808261048d8787610814565b6104979190610eec565b6104789190610f19565b92915050565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166350d25bcd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610508573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061052c9190610f4c565b905060127f000000000000000000000000000000000000000000000000000000000000000060ff161061059e5761058460127f0000000000000000000000000000000000000000000000000000000000000000610fc6565b61058f90600a6110c3565b6105999082610f19565b6105de565b6105c97f00000000000000000000000000000000000000000000000000000000000000006012610fc6565b6105d490600a6110c3565b6105de9082610eec565b91505090565b600080600080846001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610628573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061064c91906110ea565b9250509150816001600160a01b0316633ba0b9a96040518163ffffffff1660e01b8152600401602060405180830381865afa15801561068f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106b39190610f4c565b93506000816001600160a01b031663d2a3584e6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106f5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107199190610f4c565b9050816001600160a01b031663516399df6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610759573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061077d9190611137565b80156107f2575043826001600160a01b03166360e0a9e16040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107e79190611152565b6001600160801b0316145b156107ff5780935061080c565b61080985826108e9565b93505b505050915091565b600080836001600160a01b031663e184c9be6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610855573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108799190610f4c565b905042811161089357670de0b6b3a76400009150506104a1565b600061089f8585610901565b905060006108ad428461117b565b905060006108c36108be8484610a28565b610a69565b90506108d7670de0b6b3a764000082610a7c565b9450505050506104a1565b5092915050565b60008183116108f857816108fa565b825b9392505050565b60408051600280825260608201835260009283929190602083019080368337019050509050828160008151811061093a5761093a6111a4565b63ffffffff9092166020928302919091019091015260405163883bdbfd60e01b81526000906001600160a01b0386169063883bdbfd9061097e9085906004016111ba565b600060405180830381865afa15801561099b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526109c3919081019061121b565b90508363ffffffff16816000815181106109df576109df6111a4565b6020026020010151826001815181106109fa576109fa6111a4565b6020026020010151610a0c91906112df565b610a1691906112ff565b6001600160d81b031695945050505050565b600080610a3a6201518061016d610eec565b610a448486610eec565b610a4e9190610f19565b9050610a61610a5c82610aab565b610ac1565b949350505050565b600080821215610a7857600080fd5b5090565b600080610a91670de0b6b3a764000085610eec565b9050828181610aa257610aa2610f03565b04949350505050565b60006001600160ff1b03821115610a7857600080fd5b6000680238fd42c5cf03ffff198212158015610ae6575068070c1cc73b00c800008213155b610b255760405162461bcd60e51b815260206004820152601060248201526f125b9d985b1a5908195e1c1bdb995b9d60821b6044820152606401610401565b6000821215610b5d57610b3a82600003610ac1565b6a0c097ce7bc90715b34b9f160241b81610b5657610b56610f03565b0592915050565b60006806f05b59d3b20000008312610b9b57506806f05b59d3b1ffffff199091019072195e54c5dd42177f53a27172fa9ec63026282760241b610bd1565b6803782dace9d90000008312610bcd57506803782dace9d8ffffff19909101906b1425982cf597cd205cef7380610bd1565b5060015b6064929092029168056bc75e2d6310000068ad78ebc5ac620000008412610c215768ad78ebc5ac61ffffff199093019268056bc75e2d631000006e01855144814a7ff805980ff008400082020590505b6856bc75e2d6310000008412610c5d576856bc75e2d630ffffff199093019268056bc75e2d631000006b02df0ab5a80a22c61ab5a70082020590505b682b5e3af16b188000008412610c9757682b5e3af16b187fffff199093019268056bc75e2d63100000693f1fce3da636ea5cf85082020590505b6815af1d78b58c4000008412610cd1576815af1d78b58c3fffff199093019268056bc75e2d63100000690127fa27722cc06cc5e282020590505b680ad78ebc5ac62000008412610d0a57680ad78ebc5ac61fffff199093019268056bc75e2d6310000068280e60114edb805d0382020590505b68056bc75e2d631000008412610d435768056bc75e2d630fffff199093019268056bc75e2d63100000680ebc5fb4174612111082020590505b6802b5e3af16b18800008412610d7c576802b5e3af16b187ffff199093019268056bc75e2d631000006808f00f760a4b2db55d82020590505b68015af1d78b58c400008412610db55768015af1d78b58c3ffff199093019268056bc75e2d631000006806f5f177578893793782020590505b68056bc75e2d631000008481019085906002908280020505918201919050600368056bc75e2d631000008783020505918201919050600468056bc75e2d631000008783020505918201919050600568056bc75e2d631000008783020505918201919050600668056bc75e2d631000008783020505918201919050600768056bc75e2d631000008783020505918201919050600868056bc75e2d631000008783020505918201919050600968056bc75e2d631000008783020505918201919050600a68056bc75e2d631000008783020505918201919050600b68056bc75e2d631000008783020505918201919050600c68056bc75e2d631000008783020505918201919050606468056bc75e2d63100000848402058502059695505050505050565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176104a1576104a1610ed6565b634e487b7160e01b600052601260045260246000fd5b600082610f2857610f28610f03565b500490565b6001600160a01b0392909216825263ffffffff16602082015260400190565b600060208284031215610f5e57600080fd5b5051919050565b80518015158114610f7557600080fd5b919050565b600080600060608486031215610f8f57600080fd5b610f9884610f65565b9250602084015161ffff81168114610faf57600080fd5b9150610fbd60408501610f65565b90509250925092565b60ff82811682821603908111156104a1576104a1610ed6565b600181815b8085111561101a57816000190482111561100057611000610ed6565b8085161561100d57918102915b93841c9390800290610fe4565b509250929050565b600082611031575060016104a1565b8161103e575060006104a1565b8160018114611054576002811461105e5761107a565b60019150506104a1565b60ff84111561106f5761106f610ed6565b50506001821b6104a1565b5060208310610133831016604e8410600b841016171561109d575081810a6104a1565b6110a78383610fdf565b80600019048211156110bb576110bb610ed6565b029392505050565b60006108fa60ff841683611022565b6001600160a01b03811681146110e757600080fd5b50565b6000806000606084860312156110ff57600080fd5b835161110a816110d2565b602085015190935061111b816110d2565b604085015190925061112c816110d2565b809150509250925092565b60006020828403121561114957600080fd5b6108fa82610f65565b60006020828403121561116457600080fd5b81516001600160801b03811681146108fa57600080fd5b818103818111156104a1576104a1610ed6565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6020808252825182820181905260009190848201906040850190845b818110156111f857835163ffffffff16835292840192918401916001016111d6565b50909695505050505050565b80516001600160d81b0381168114610f7557600080fd5b6000602080838503121561122e57600080fd5b82516001600160401b038082111561124557600080fd5b818501915085601f83011261125957600080fd5b81518181111561126b5761126b61118e565b8060051b604051601f19603f830116810181811085821117156112905761129061118e565b6040529182528482019250838101850191888311156112ae57600080fd5b938501935b828510156112d3576112c485611204565b845293850193928501926112b3565b98975050505050505050565b6001600160d81b038281168282160390808211156108e2576108e2610ed6565b60006001600160d81b038381168061131957611319610f03565b9216919091049291505056fea26469706673582212202a8ba5e4f665b01afb5b3bf29725cb6340a339a075dcf498c63f58bf0e41e9f464736f6c63430008170033";
|
|
169
169
|
|
|
170
170
|
type BoringPtUsdChainlinkOracleConstructorParams =
|
|
171
171
|
| [signer?: Signer]
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
/* Autogenerated file. Do not edit manually. */
|
|
2
|
+
/* tslint:disable */
|
|
3
|
+
/* eslint-disable */
|
|
4
|
+
|
|
5
|
+
import { Contract, Signer, utils } from "ethers";
|
|
6
|
+
import { Provider } from "@ethersproject/providers";
|
|
7
|
+
import type { IPPtLpOracle, IPPtLpOracleInterface } from "../IPPtLpOracle";
|
|
8
|
+
|
|
9
|
+
const _abi = [
|
|
10
|
+
{
|
|
11
|
+
anonymous: false,
|
|
12
|
+
inputs: [
|
|
13
|
+
{
|
|
14
|
+
indexed: false,
|
|
15
|
+
internalType: "uint16",
|
|
16
|
+
name: "newBlockCycleNumerator",
|
|
17
|
+
type: "uint16",
|
|
18
|
+
},
|
|
19
|
+
],
|
|
20
|
+
name: "SetBlockCycleNumerator",
|
|
21
|
+
type: "event",
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
inputs: [
|
|
25
|
+
{
|
|
26
|
+
internalType: "address",
|
|
27
|
+
name: "market",
|
|
28
|
+
type: "address",
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
internalType: "uint32",
|
|
32
|
+
name: "duration",
|
|
33
|
+
type: "uint32",
|
|
34
|
+
},
|
|
35
|
+
],
|
|
36
|
+
name: "getLpToAssetRate",
|
|
37
|
+
outputs: [
|
|
38
|
+
{
|
|
39
|
+
internalType: "uint256",
|
|
40
|
+
name: "",
|
|
41
|
+
type: "uint256",
|
|
42
|
+
},
|
|
43
|
+
],
|
|
44
|
+
stateMutability: "view",
|
|
45
|
+
type: "function",
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
inputs: [
|
|
49
|
+
{
|
|
50
|
+
internalType: "address",
|
|
51
|
+
name: "market",
|
|
52
|
+
type: "address",
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
internalType: "uint32",
|
|
56
|
+
name: "duration",
|
|
57
|
+
type: "uint32",
|
|
58
|
+
},
|
|
59
|
+
],
|
|
60
|
+
name: "getLpToSyRate",
|
|
61
|
+
outputs: [
|
|
62
|
+
{
|
|
63
|
+
internalType: "uint256",
|
|
64
|
+
name: "",
|
|
65
|
+
type: "uint256",
|
|
66
|
+
},
|
|
67
|
+
],
|
|
68
|
+
stateMutability: "view",
|
|
69
|
+
type: "function",
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
inputs: [
|
|
73
|
+
{
|
|
74
|
+
internalType: "address",
|
|
75
|
+
name: "market",
|
|
76
|
+
type: "address",
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
internalType: "uint32",
|
|
80
|
+
name: "duration",
|
|
81
|
+
type: "uint32",
|
|
82
|
+
},
|
|
83
|
+
],
|
|
84
|
+
name: "getOracleState",
|
|
85
|
+
outputs: [
|
|
86
|
+
{
|
|
87
|
+
internalType: "bool",
|
|
88
|
+
name: "increaseCardinalityRequired",
|
|
89
|
+
type: "bool",
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
internalType: "uint16",
|
|
93
|
+
name: "cardinalityRequired",
|
|
94
|
+
type: "uint16",
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
internalType: "bool",
|
|
98
|
+
name: "oldestObservationSatisfied",
|
|
99
|
+
type: "bool",
|
|
100
|
+
},
|
|
101
|
+
],
|
|
102
|
+
stateMutability: "view",
|
|
103
|
+
type: "function",
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
inputs: [
|
|
107
|
+
{
|
|
108
|
+
internalType: "address",
|
|
109
|
+
name: "market",
|
|
110
|
+
type: "address",
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
internalType: "uint32",
|
|
114
|
+
name: "duration",
|
|
115
|
+
type: "uint32",
|
|
116
|
+
},
|
|
117
|
+
],
|
|
118
|
+
name: "getPtToAssetRate",
|
|
119
|
+
outputs: [
|
|
120
|
+
{
|
|
121
|
+
internalType: "uint256",
|
|
122
|
+
name: "",
|
|
123
|
+
type: "uint256",
|
|
124
|
+
},
|
|
125
|
+
],
|
|
126
|
+
stateMutability: "view",
|
|
127
|
+
type: "function",
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
inputs: [
|
|
131
|
+
{
|
|
132
|
+
internalType: "address",
|
|
133
|
+
name: "market",
|
|
134
|
+
type: "address",
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
internalType: "uint32",
|
|
138
|
+
name: "duration",
|
|
139
|
+
type: "uint32",
|
|
140
|
+
},
|
|
141
|
+
],
|
|
142
|
+
name: "getPtToSyRate",
|
|
143
|
+
outputs: [
|
|
144
|
+
{
|
|
145
|
+
internalType: "uint256",
|
|
146
|
+
name: "",
|
|
147
|
+
type: "uint256",
|
|
148
|
+
},
|
|
149
|
+
],
|
|
150
|
+
stateMutability: "view",
|
|
151
|
+
type: "function",
|
|
152
|
+
},
|
|
153
|
+
];
|
|
154
|
+
|
|
155
|
+
export class IPPtLpOracle__factory {
|
|
156
|
+
static readonly abi = _abi;
|
|
157
|
+
static createInterface(): IPPtLpOracleInterface {
|
|
158
|
+
return new utils.Interface(_abi) as IPPtLpOracleInterface;
|
|
159
|
+
}
|
|
160
|
+
static connect(
|
|
161
|
+
address: string,
|
|
162
|
+
signerOrProvider: Signer | Provider
|
|
163
|
+
): IPPtLpOracle {
|
|
164
|
+
return new Contract(address, _abi, signerOrProvider) as IPPtLpOracle;
|
|
165
|
+
}
|
|
166
|
+
}
|
|
@@ -227,6 +227,102 @@ const _abi = [
|
|
|
227
227
|
stateMutability: "view",
|
|
228
228
|
type: "function",
|
|
229
229
|
},
|
|
230
|
+
{
|
|
231
|
+
inputs: [
|
|
232
|
+
{
|
|
233
|
+
components: [
|
|
234
|
+
{
|
|
235
|
+
internalType: "uint256",
|
|
236
|
+
name: "salt",
|
|
237
|
+
type: "uint256",
|
|
238
|
+
},
|
|
239
|
+
{
|
|
240
|
+
internalType: "uint256",
|
|
241
|
+
name: "expiry",
|
|
242
|
+
type: "uint256",
|
|
243
|
+
},
|
|
244
|
+
{
|
|
245
|
+
internalType: "uint256",
|
|
246
|
+
name: "nonce",
|
|
247
|
+
type: "uint256",
|
|
248
|
+
},
|
|
249
|
+
{
|
|
250
|
+
internalType: "enum IPLimitOrderType.OrderType",
|
|
251
|
+
name: "orderType",
|
|
252
|
+
type: "uint8",
|
|
253
|
+
},
|
|
254
|
+
{
|
|
255
|
+
internalType: "address",
|
|
256
|
+
name: "token",
|
|
257
|
+
type: "address",
|
|
258
|
+
},
|
|
259
|
+
{
|
|
260
|
+
internalType: "address",
|
|
261
|
+
name: "YT",
|
|
262
|
+
type: "address",
|
|
263
|
+
},
|
|
264
|
+
{
|
|
265
|
+
internalType: "address",
|
|
266
|
+
name: "maker",
|
|
267
|
+
type: "address",
|
|
268
|
+
},
|
|
269
|
+
{
|
|
270
|
+
internalType: "address",
|
|
271
|
+
name: "receiver",
|
|
272
|
+
type: "address",
|
|
273
|
+
},
|
|
274
|
+
{
|
|
275
|
+
internalType: "uint256",
|
|
276
|
+
name: "makingAmount",
|
|
277
|
+
type: "uint256",
|
|
278
|
+
},
|
|
279
|
+
{
|
|
280
|
+
internalType: "uint256",
|
|
281
|
+
name: "lnImpliedRate",
|
|
282
|
+
type: "uint256",
|
|
283
|
+
},
|
|
284
|
+
{
|
|
285
|
+
internalType: "uint256",
|
|
286
|
+
name: "failSafeRate",
|
|
287
|
+
type: "uint256",
|
|
288
|
+
},
|
|
289
|
+
{
|
|
290
|
+
internalType: "bytes",
|
|
291
|
+
name: "permit",
|
|
292
|
+
type: "bytes",
|
|
293
|
+
},
|
|
294
|
+
],
|
|
295
|
+
internalType: "struct Order",
|
|
296
|
+
name: "order",
|
|
297
|
+
type: "tuple",
|
|
298
|
+
},
|
|
299
|
+
{
|
|
300
|
+
internalType: "bytes",
|
|
301
|
+
name: "signature",
|
|
302
|
+
type: "bytes",
|
|
303
|
+
},
|
|
304
|
+
],
|
|
305
|
+
name: "_checkSig",
|
|
306
|
+
outputs: [
|
|
307
|
+
{
|
|
308
|
+
internalType: "bytes32",
|
|
309
|
+
name: "",
|
|
310
|
+
type: "bytes32",
|
|
311
|
+
},
|
|
312
|
+
{
|
|
313
|
+
internalType: "uint256",
|
|
314
|
+
name: "",
|
|
315
|
+
type: "uint256",
|
|
316
|
+
},
|
|
317
|
+
{
|
|
318
|
+
internalType: "uint256",
|
|
319
|
+
name: "",
|
|
320
|
+
type: "uint256",
|
|
321
|
+
},
|
|
322
|
+
],
|
|
323
|
+
stateMutability: "view",
|
|
324
|
+
type: "function",
|
|
325
|
+
},
|
|
230
326
|
{
|
|
231
327
|
inputs: [
|
|
232
328
|
{
|
|
@@ -253,6 +253,102 @@ const _abi = [
|
|
|
253
253
|
stateMutability: "view",
|
|
254
254
|
type: "function",
|
|
255
255
|
},
|
|
256
|
+
{
|
|
257
|
+
inputs: [
|
|
258
|
+
{
|
|
259
|
+
components: [
|
|
260
|
+
{
|
|
261
|
+
internalType: "uint256",
|
|
262
|
+
name: "salt",
|
|
263
|
+
type: "uint256",
|
|
264
|
+
},
|
|
265
|
+
{
|
|
266
|
+
internalType: "uint256",
|
|
267
|
+
name: "expiry",
|
|
268
|
+
type: "uint256",
|
|
269
|
+
},
|
|
270
|
+
{
|
|
271
|
+
internalType: "uint256",
|
|
272
|
+
name: "nonce",
|
|
273
|
+
type: "uint256",
|
|
274
|
+
},
|
|
275
|
+
{
|
|
276
|
+
internalType: "enum IPLimitOrderType.OrderType",
|
|
277
|
+
name: "orderType",
|
|
278
|
+
type: "uint8",
|
|
279
|
+
},
|
|
280
|
+
{
|
|
281
|
+
internalType: "address",
|
|
282
|
+
name: "token",
|
|
283
|
+
type: "address",
|
|
284
|
+
},
|
|
285
|
+
{
|
|
286
|
+
internalType: "address",
|
|
287
|
+
name: "YT",
|
|
288
|
+
type: "address",
|
|
289
|
+
},
|
|
290
|
+
{
|
|
291
|
+
internalType: "address",
|
|
292
|
+
name: "maker",
|
|
293
|
+
type: "address",
|
|
294
|
+
},
|
|
295
|
+
{
|
|
296
|
+
internalType: "address",
|
|
297
|
+
name: "receiver",
|
|
298
|
+
type: "address",
|
|
299
|
+
},
|
|
300
|
+
{
|
|
301
|
+
internalType: "uint256",
|
|
302
|
+
name: "makingAmount",
|
|
303
|
+
type: "uint256",
|
|
304
|
+
},
|
|
305
|
+
{
|
|
306
|
+
internalType: "uint256",
|
|
307
|
+
name: "lnImpliedRate",
|
|
308
|
+
type: "uint256",
|
|
309
|
+
},
|
|
310
|
+
{
|
|
311
|
+
internalType: "uint256",
|
|
312
|
+
name: "failSafeRate",
|
|
313
|
+
type: "uint256",
|
|
314
|
+
},
|
|
315
|
+
{
|
|
316
|
+
internalType: "bytes",
|
|
317
|
+
name: "permit",
|
|
318
|
+
type: "bytes",
|
|
319
|
+
},
|
|
320
|
+
],
|
|
321
|
+
internalType: "struct Order",
|
|
322
|
+
name: "order",
|
|
323
|
+
type: "tuple",
|
|
324
|
+
},
|
|
325
|
+
{
|
|
326
|
+
internalType: "bytes",
|
|
327
|
+
name: "signature",
|
|
328
|
+
type: "bytes",
|
|
329
|
+
},
|
|
330
|
+
],
|
|
331
|
+
name: "_checkSig",
|
|
332
|
+
outputs: [
|
|
333
|
+
{
|
|
334
|
+
internalType: "bytes32",
|
|
335
|
+
name: "",
|
|
336
|
+
type: "bytes32",
|
|
337
|
+
},
|
|
338
|
+
{
|
|
339
|
+
internalType: "uint256",
|
|
340
|
+
name: "",
|
|
341
|
+
type: "uint256",
|
|
342
|
+
},
|
|
343
|
+
{
|
|
344
|
+
internalType: "uint256",
|
|
345
|
+
name: "",
|
|
346
|
+
type: "uint256",
|
|
347
|
+
},
|
|
348
|
+
],
|
|
349
|
+
stateMutability: "view",
|
|
350
|
+
type: "function",
|
|
351
|
+
},
|
|
256
352
|
{
|
|
257
353
|
inputs: [
|
|
258
354
|
{
|
|
@@ -928,7 +1024,7 @@ const _abi = [
|
|
|
928
1024
|
];
|
|
929
1025
|
|
|
930
1026
|
const _bytecode =
|
|
931
|
-
"0x60a0346200014357601f620056cc38819003918201601f19168301916001600160401b0383118484101762000148578084926020946040528339810103126200014357516001600160a01b0381168103620001435760805260015460ff8160a81c16620000ee5760ff808260a01c1603620000aa575b60405161556d90816200015f823960805181818161414e0152818161419d0152818161420b0152818161446a01526146bd0152f35b60ff60a01b191660ff60a01b1760015560405160ff81527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602090a13862000075565b60405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b6064820152608490fd5b600080fd5b634e487b7160e01b600052604160045260246000fdfe6080604052600436101561001b575b361561001957600080fd5b005b60003560e01c8063078dfbe71461017b5780630c0b8c9c146101765780632545e4bd14610171578063327075971461016c57806335ee3ffc146101675780633644e51514610162578063469048401461015d5780634e71e0c8146101585780635413fba7146101535780636122b1731461014e57806370ae92d21461014957806372c244a81461014457806384b0196e1461013f5780638da5cb5b1461013a578063bd61951d14610135578063c4d66de814610130578063c53a02921461012b578063c6a6fcf114610126578063cf6fc6e314610121578063e30c39781461011c578063e74b981b146101175763f1d4deb30361000e576115b2565b611523565b6114d1565b611464565b611399565b6112a3565b611111565b611053565b611001565b610f2f565b610df6565b610d8d565b610c03565b610af0565b6109a6565b610954565b61091b565b6108ef565b610896565b6106f0565b61060a565b6101c7565b73ffffffffffffffffffffffffffffffffffffffff81160361019e57565b600080fd5b602435906101b082610180565b565b35906101b082610180565b8015150361019e57565b3461019e5760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019e5760043561020281610180565b6024359061020f826101bd565b6044359061021c826101bd565b73ffffffffffffffffffffffffffffffffffffffff600093610242828654163314611677565b156103945781169182159081159161038c575b501561032e576102fe91610299610280855473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1690565b7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08580a373ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff00000000000000000000000000000000000000006000541617600055565b61032b7fffffffffffffffffffffffff000000000000000000000000000000000000000060015416600155565b80f35b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4f776e61626c653a207a65726f206164647265737300000000000000000000006044820152fd5b905038610255565b9150167fffffffffffffffffffffffff0000000000000000000000000000000000000000600154161760015580f35b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6060810190811067ffffffffffffffff82111761040e57604052565b6103c3565b610160810190811067ffffffffffffffff82111761040e57604052565b6040810190811067ffffffffffffffff82111761040e57604052565b67ffffffffffffffff811161040e57604052565b60a0810190811067ffffffffffffffff82111761040e57604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761040e57604052565b60405190610180820182811067ffffffffffffffff82111761040e57604052565b604051906101b082610460565b604051906101b082610430565b67ffffffffffffffff811161040e5760051b60200190565b6020807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc83011261019e576004359167ffffffffffffffff831161019e578060238401121561019e578260040135610567816104f8565b93610575604051958661047c565b8185526024602086019260051b82010192831161019e57602401905b82821061059f575050505090565b81358152908301908301610591565b90815180825260208080930193019160005b8281106105ce575050505090565b8351855293810193928101926001016105c0565b90916105f9610607936040845260408401906105ae565b9160208184039101526105ae565b90565b3461019e5761062061061b36610510565b611a35565b60005b82518110156106db57610636818461171d565b511561067d57807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61066a6001938661171d565b5101610676828661171d565b5201610623565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f4c4f503a20556e6b6e6f776e206f7264657200000000000000000000000000006044820152fd5b50906106ec604051928392836105e2565b0390f35b3461019e5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019e57602061073560043561073081610180565b611731565b604051908152f35b3590600482101561019e57565b67ffffffffffffffff811161040e57601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b81601f8201121561019e5780359061079b8261074a565b926107a9604051948561047c565b8284526020838301011161019e57816000926020809301838601378301015290565b91906101808382031261019e576107e06104bd565b928035845260208101356020850152604081013560408501526108056060820161073d565b6060850152610816608082016101b2565b608085015261082760a082016101b2565b60a085015261083860c082016101b2565b60c085015261084960e082016101b2565b60e0850152610100808201359085015261012080820135908501526101408082013590850152610160918282013567ffffffffffffffff811161019e576108909201610784565b90830152565b3461019e5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019e5760043567ffffffffffffffff811161019e576107356108ea60209236906004016107cb565b611912565b3461019e5761090061061b36610510565b906106ec604051928392836105e2565b600091031261019e57565b3461019e5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019e576020610735612d56565b3461019e5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019e57602073ffffffffffffffffffffffffffffffffffffffff60cb5416604051908152f35b3461019e576000807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610aed5773ffffffffffffffffffffffffffffffffffffffff8060015416803303610a8f5780610a64928454167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08580a373ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff00000000000000000000000000000000000000006000541617600055565b7fffffffffffffffffffffffff00000000000000000000000000000000000000006001541660015580f35b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f4f776e61626c653a2063616c6c657220213d2070656e64696e67206f776e65726044820152fd5b80fd5b3461019e577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc60208136011261019e576004359067ffffffffffffffff821161019e5761018090823603011261019e5761001990600401611ac3565b9181601f8401121561019e5782359167ffffffffffffffff831161019e576020838186019501011161019e57565b60005b838110610b8d5750506000910152565b8181015183820152602001610b7d565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602093610bd981518092818752878088019101610b7a565b0116010190565b909260809261060795948352602083015260408201528160608201520190610b9d565b3461019e5760a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019e5760043567ffffffffffffffff80821161019e573660238301121561019e578160040135602492610c61826104f8565b93604092610c72604051968761047c565b8086526020936024602088019260051b8501019336851161019e5760248101925b858410610cf7578888610ca46101a3565b60643582811161019e57610cbc903690600401610b4c565b505060843591821161019e576106ec92610cdd610ce7933690600401610784565b9160443591611c5a565b9060409492945194859485610be0565b833588811161019e57820160607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc823603011261019e57835191610d3a836103f2565b868201358a811161019e57610d54908836918501016107cb565b83526044820135928a841161019e5760648a9493610d7886958b3691840101610784565b85840152013586820152815201930192610c93565b3461019e5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019e5773ffffffffffffffffffffffffffffffffffffffff600435610ddd81610180565b1660005260666020526020604060002054604051908152f35b3461019e5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019e5760043560ff811680910361019e576000903382526066602052604082205490808201809211610ea4573383526066602052816040842055810390808211610ea45760408051928352602083019190915233917fdc0537f71d06d3708f52baf4ddf6918b25f1a145ba08873de27485682b35cac191819081015b0390a280f35b611d1d565b9193610f0f610607969495610f0173ffffffffffffffffffffffffffffffffffffffff947f0f00000000000000000000000000000000000000000000000000000000000000875260e0602088015260e0870190610b9d565b908582036040870152610b9d565b946060840152166080820152600060a082015260c08184039101526105ae565b3461019e5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019e576002541580610ff7575b15610f9957610f75612b49565b610f7d612c2c565b906106ec610f896119bd565b6040519384933091469186610ea9565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4549503731323a20556e696e697469616c697a656400000000000000000000006044820152fd5b5060035415610f68565b3461019e5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019e57602073ffffffffffffffffffffffffffffffffffffffff60005416604051908152f35b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019e5760043561108981610180565b60243567ffffffffffffffff811161019e576000916110ad83923690600401610b4c565b90816040519283928337810184815203915af46110c8611d66565b9061110d6040519283927f1934afc800000000000000000000000000000000000000000000000000000000845215156004840152604060248401526044830190610b9d565b0390fd5b3461019e5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019e5760043561114c81610180565b6111c26001549161117460ff8460a81c161580948195611291575b811561126e575b50611d96565b826111b9740100000000000000000000000000000000000000007fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff6001541617600155565b61122457611e21565b6111c857005b6111f57fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff60015416600155565b604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602090a1005b61126975010000000000000000000000000000000000000000007fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff6001541617600155565b611e21565b303b15915081611280575b503861116e565b60a01c60ff16600114905038611279565b9050600160ff8260a01c161090611167565b3461019e576000807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610aed573381526066602052604081205460018101808211610ea457610e9e7fdc0537f71d06d3708f52baf4ddf6918b25f1a145ba08873de27485682b35cac191338552606660205280604086205560405191829133958360209093929193604081019481520152565b9080601f8301121561019e576020908235611353816104f8565b93611361604051958661047c565b81855260208086019260051b82010192831161019e57602001905b82821061138a575050505090565b8135815290830190830161137c565b3461019e5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019e5767ffffffffffffffff60043581811161019e573660238201121561019e5780600401356113f4816104f8565b91611402604051938461047c565b8183526020916024602085019160051b8301019136831161019e57602401905b82821061144b576024358587821161019e57611445610019923690600401611339565b9061205b565b838091833561145981610180565b815201910190611422565b3461019e5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019e5773ffffffffffffffffffffffffffffffffffffffff6004356114b481610180565b166000526066602052602060243560406000205414604051908152f35b3461019e5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019e57602073ffffffffffffffffffffffffffffffffffffffff60015416604051908152f35b3461019e5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019e5760043561155e81610180565b73ffffffffffffffffffffffffffffffffffffffff9061158382600054163314611677565b167fffffffffffffffffffffffff000000000000000000000000000000000000000060cb54161760cb55600080f35b3461019e5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019e5767ffffffffffffffff60043581811161019e573660238201121561019e57806004013591821161019e5760059060243684841b830182011161019e57600093927ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe5d83360301945b84811061165157005b8281831b85010135908682121561019e5761167184600193870101611ac3565b01611648565b1561167e57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b8051156117185760200190565b6116dc565b80518210156117185760209160051b010190565b73ffffffffffffffffffffffffffffffffffffffff1660005260cc60205260406000205490811561175e57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f4c4f503a20666565206e6f7420736574000000000000000000000000000000006044820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600411156117f557565b6117bc565b9060048210156117f55752565b61018090939291936101a08101947f22742a2f8610a2d0e945db84f408aacc9d3081f99974bc30b023966fa2fd59318252805160208301526020810151604083015260408101516060830152611865606082015160808401906117fa565b608081015173ffffffffffffffffffffffffffffffffffffffff1660a083015260a081015173ffffffffffffffffffffffffffffffffffffffff1660c083015260c081015173ffffffffffffffffffffffffffffffffffffffff1660e083015260e08101516118ef610100918285019073ffffffffffffffffffffffffffffffffffffffff169052565b810151610120908184015281015190610140918284015201516101608201520152565b6106079060405161192281610413565b6101406000918281528260208201528260408201528260608201528260808201528260a08201528260c08201528260e0820152826101008201528261012082015201526119896119b561016083015160208151910120604051928391602083019586611807565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0810183528261047c565b519020612227565b6040516020810181811067ffffffffffffffff82111761040e5760405260008152906000368137565b906119f0826104f8565b6119fd604051918261047c565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0611a2b82946104f8565b0190602036910137565b805191611a41836119e6565b92611a4b816119e6565b9260009060005b838110611a5f5750505050565b80611a6c6001928461171d565b518452602060cd81526040808620905190611a8682610430565b54906fffffffffffffffffffffffffffffffff82169182825260801c9283910152611ab1838a61171d565b52611abc828a61171d565b5201611a52565b60c0810135611ad181610180565b73ffffffffffffffffffffffffffffffffffffffff33911603611be3576108ea611afc9136906107cb565b6001611b128260005260cd602052604060002090565b5460801c14611b8557611b5d611b328260005260cd602052604060002090565b7001000000000000000000000000000000006fffffffffffffffffffffffffffffffff825416179055565b337f35ab4a1a0e9bec7fd7ae164679b9cc00e6568e4db238d8055a75b1862f62ec2e600080a3565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4c4f503a20616c72656164792066696c6c6564000000000000000000000000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f4c4f503a204163636573732064656e69656400000000000000000000000000006044820152fd5b5160048110156117f55790565b60048210156117f55752565b91929092611c67836124e1565b611c7d6060611c758561170b565b515101611c41565b92611c87846117eb565b83158015611d0a575b15611ce857611ce094611cd191611caf611ca86104de565b9687611c4e565b602086015273ffffffffffffffffffffffffffffffffffffffff166040850152565b60608301526080820152612943565b929391929091565b611ce094611cfb91611caf611ca86104de565b60608301526080820152612776565b50611d14846117eb565b60028414611c90565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b91908201809211610ea457565b91908203918211610ea457565b3d15611d91573d90611d778261074a565b91611d85604051938461047c565b82523d6000602084013e565b606090565b15611d9d57565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152fd5b9060019160ff60015460a81c16611e3781612ccb565b337fffffffffffffffffffffffff0000000000000000000000000000000000000000600054161760005560405193611e6e85610430565b601b85526020907f50656e646c65204c696d6974204f726465722050726f746f636f6c00000000006020870152611ee360405193611eab85610430565b600185527f31000000000000000000000000000000000000000000000000000000000000006020860152611ede81612ccb565b612ccb565b85519167ffffffffffffffff831161040e57611f0983611f04600454612af6565b6139dc565b602091601f8411600114611f8e57505081611f6a9392611f62926101b09798600092611f83575b50507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8260011b9260031b1c19161790565b600455613ac0565b611f746000600255565b611f7e6000600355565b6121d6565b015190503880611f30565b600460009081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08516987f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b949390925b8a831061204457505050918391600193611f6a96956101b0999a1061200d575b505050811b01600455613ac0565b01517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88460031b161c19169055388080611fff565b838501518655948501949381019391810191611fdf565b61207e73ffffffffffffffffffffffffffffffffffffffff600054163314611677565b805191805183036121135760005b8381106120995750505050565b806120b16120a96001938561171d565b511515612171565b6120bb818461171d565b5161210c6120e66120cc848861171d565b5173ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1660005260cc602052604060002090565b550161208c565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f4c4f503a206c656e677468206d69736d617463680000000000000000000000006044820152fd5b1561217857565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4c4f503a207a65726f20666565206e6f7420616c6c6f776564000000000000006044820152fd5b73ffffffffffffffffffffffffffffffffffffffff906121fb82600054163314611677565b167fffffffffffffffffffffffff000000000000000000000000000000000000000060cb54161760cb55565b604290612232612d56565b90604051917f19010000000000000000000000000000000000000000000000000000000000008352600283015260228201522090565b1561226f57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f4c4f503a20656d707479206261746368000000000000000000000000000000006044820152fd5b9081602091031261019e575190565b6040513d6000823e3d90fd5b156122ef57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f4c4f503a205059206578706972656400000000000000000000000000000000006044820152fd5b1561235457565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4c4f503a206e6f742073616d65206f72646572547970650000000000000000006044820152fd5b156123b957565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f4c4f503a206e6f742073616d65205954000000000000000000000000000000006044820152fd5b1561241e57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f4c4f503a206f72646572206578706972656400000000000000000000000000006044820152fd5b1561248357565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4c4f503a206f7264657220696e76616c696461746564000000000000000000006044820152fd5b8051906124ef821515612268565b60a09061251d60a06125008361170b565b5151015173ffffffffffffffffffffffffffffffffffffffff1690565b9060609273ffffffffffffffffffffffffffffffffffffffff6125446060611c758561170b565b931690604093604051937fe184c9be000000000000000000000000000000000000000000000000000000008552602094602081600481885afa80156126ad576125979160009161267e575b5042106122e8565b60005b8881106125ac57505050505050505050565b806126786125bc6001938561171d565b51516125e7868c8301516125cf816117eb565b6125d8826117eb565b6125e1816117eb565b1461234d565b6126148861260e6102808a85015173ffffffffffffffffffffffffffffffffffffffff1690565b146123b2565b612622898201514210612417565b61267061264a60c08c84015193015173ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff166000526066602052604060002090565b54111561247c565b0161259a565b6126a0915060203d6020116126a6575b612698818361047c565b8101906122cd565b3861258f565b503d61268e565b6122dc565b156126b957565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4c4f503a206d617854616b696e672065786365656465640000000000000000006044820152fd5b60208183031261019e5780519067ffffffffffffffff821161019e570181601f8201121561019e57805161274a8161074a565b92612758604051948561047c565b8184526020828401011161019e576106079160208085019101610b7a565b606061283f602083019161278a8351612de1565b9097926127a587989398518a61279f81611731565b9161303f565b9182519760208401516127be6040860191825190611d4c565b9051809a6080839d829f6127d860608c01518711156126b2565b60018b516127e5816117eb565b6127ee816117eb565b0361293b5750985b73ffffffffffffffffffffffffffffffffffffffff9c8d9a8751612831604085015173ffffffffffffffffffffffffffffffffffffffff1690565b90858d019d8e519316613135565b015180516128af575b505050612860906101b09798993090339087166131b2565b61289b89612875835160a0880151908761326e565b9461289560cb5473ffffffffffffffffffffffffffffffffffffffff1690565b906134b7565b5193519060e060c085015194015194613621565b83999a50906128f0600093949260405195869485947feb3a7d4700000000000000000000000000000000000000000000000000000000865260048601610be0565b038183335af19687156126ad576101b09761286092600091612918575b5098978b9192612848565b61293591503d806000833e61292d818361047c565b810190612717565b3861290d565b9050986127f6565b90606091602081016129558151612de1565b6129668598949297939851836137cb565b9061297686518961279f81611731565b9182519661298a6040850198895190611d59565b9a8b9a602086015199519a8a8c9b9d9e6129aa60608401518311156126b2565b6129d5816129cf604086015173ffffffffffffffffffffffffffffffffffffffff1690565b8c6134b7565b60808301518051612a6f575b505050916101b098999a91612a5393516129fa816117eb565b612a03816117eb565b612a675750965b612a3584519860a08901998a519173ffffffffffffffffffffffffffffffffffffffff33911661395f565b60cb5473ffffffffffffffffffffffffffffffffffffffff16612895565b5193519160e060c085015194015194613621565b905096612a0a565b6000939d949b9c50612aaf9060405195869485947feb3a7d4700000000000000000000000000000000000000000000000000000000865260048601610be0565b038183335af19182156126ad576101b098612a53938d93600091612adb575b509a9981939c92946129e1565b612af091503d806000833e61292d818361047c565b38612ace565b90600182811c92168015612b3f575b6020831014612b1057565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b91607f1691612b05565b6040519060008260045491612b5d83612af6565b80835292602090600190818116908115612be95750600114612b88575b50506101b09250038361047c565b91509260046000527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b936000925b828410612bd157506101b09450505081016020013880612b7a565b85548885018301529485019487945092810192612bb6565b9050602093506101b09592507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091501682840152151560051b8201013880612b7a565b6040519060008260055491612c4083612af6565b80835292602090600190818116908115612be95750600114612c6a5750506101b09250038361047c565b91509260056000527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db0936000925b828410612cb357506101b09450505081016020013880612b7a565b85548885018301529485019487945092810192612c98565b15612cd257565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152fd5b612d5e613bfe565b612d66613c49565b6040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a0815260c0810181811067ffffffffffffffff82111761040e5760405251902090565b9081602091031261019e575161060781610180565b90815191612dee836119e6565b9260005b818110612eed57505060a0612500612e099261170b565b73ffffffffffffffffffffffffffffffffffffffff8116926040517fafd27bf50000000000000000000000000000000000000000000000000000000081526020908181600481895afa9081156126ad576004918391600091612ed0575b5096604051928380927fd94073d40000000000000000000000000000000000000000000000000000000082525afa9182156126ad57600092612ea757505092565b612ec69250803d10612ec9575b612ebe818361047c565b810190612dcc565b92565b503d612eb4565b612ee79150823d8411612ec957612ebe818361047c565b38612e66565b8060406001612efd81948761171d565b51612fdb8151612f7d612f40612f196020938487015190613cd4565b92919890960195612f39612f2e828951613e6c565b988980930301613e7e565b9201613e7e565b92612f64612f4c6104eb565b6fffffffffffffffffffffffffffffffff9095168552565b8301906fffffffffffffffffffffffffffffffff169052565b612f918560005260cd602052604060002090565b815160209092015160801b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff92909216919091179055565b52612fe6828861171d565b5201612df2565b60405190610100820182811067ffffffffffffffff82111761040e57604052606060e0836000815260006020820152600060408201526000838201528260808201528260a08201528260c08201520152565b919073ffffffffffffffffffffffffffffffffffffffff9061305f612fed565b5016604051907fe184c9be0000000000000000000000000000000000000000000000000000000082526020938483600481855afa80156126ad576130b086916000958691613118575b504290611d59565b926004604051809681937f1d52edc40000000000000000000000000000000000000000000000000000000083525af19283156126ad57610607956000946130f9575b5050613f00565b613110929450803d106126a657612698818361047c565b9138806130f2565b61312f9150833d85116126a657612698818361047c565b386130a8565b909182519360005b85811061314c57505050505050565b60019060c073ffffffffffffffffffffffffffffffffffffffff8082613172858b61171d565b5151015116818716146131ab576131a59161318d848a61171d565b51510151168561319d848761171d565b5191886140b4565b0161313d565b50506131a5565b929190826131c1575b50505050565b6131ca936140b4565b388080806131bb565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610ea45760010190565b90670de0b6b3a764000091828102928184041490151715610ea457565b81810292918115918404141715610ea457565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b8115613269570490565b613230565b92919080519161327d836119e6565b9460009081935b85831061329357505050505050565b60809794929395976132a981612500878561171d565b9360005b8a82108061349a575b156132df576132d36132d9916132cc848c61171d565b5190611d4c565b916131d3565b906132ad565b90979580939495929a979a73ffffffffffffffffffffffffffffffffffffffff808516938189168514613443578b61331a6001958692611d59565b0361336157505050505061334d6133549161333a60e0612500868861171d565b9086613346868a61171d565b51926141d9565b918961171d565b525b849190949394613284565b909193958d8c898c613378868b8f9c9a9c306141d9565b94925b8310613391575050505050505050505050613356565b899382848a8e8a8a8f978599986133a987809b61171d565b5151015173ffffffffffffffffffffffffffffffffffffffff16986133cd9161171d565b51906133d89161321d565b906133e29161325f565b6133ec848761171d565b528b8616141561250061341c976134159561340f9460e094613427575b5061171d565b9261171d565b51916134b7565b018e90898c8f61337b565b61343d908a613436858c61171d565b519161455a565b8f613409565b5050505050505b8581106134575750613356565b8061347e61346c60e06125006001958761171d565b613476838861171d565b5190866134b7565b613488818661171d565b51613493828b61171d565b520161344a565b506134b26134ac84612500858861171d565b87614119565b6132b6565b82156135b75773ffffffffffffffffffffffffffffffffffffffff16806135505750600080809381935af16134ea611d66565b50156134f257565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f6574682073656e64206661696c656400000000000000000000000000000000006044820152fd5b6040517fa9059cbb00000000000000000000000000000000000000000000000000000000602082015273ffffffffffffffffffffffffffffffffffffffff9290921660248301526044808301939093529181526101b0916135b260648361047c565b61489d565b505050565b156135c357565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f4c4f503a206661696c20736166650000000000000000000000000000000000006044820152fd5b919394909485519560005b878110613788575060005b878110613648575050505050505050565b80878782808080808c8c8c8c61365e858561171d565b51519761366a9161171d565b519860608801519a61367b8c6117eb565b60a089015173ffffffffffffffffffffffffffffffffffffffff1660809099015173ffffffffffffffffffffffffffffffffffffffff16976136bc9161171d565b51956136c79161171d565b519a6136d29161171d565b51966136dd9161171d565b51916136e89161171d565b515160c0015173ffffffffffffffffffffffffffffffffffffffff169061370e886117eb565b6040805173ffffffffffffffffffffffffffffffffffffffff958616815260208101949094528301989098526060820194909452608081019690965291821660a08601523360c086015216927f338aa396bce529256f46f1d51f463cc5be80195004e47cf0a1527507d38404479060e090a4600101613637565b806137c56137b361379b6001948b61171d565b516101406137a9858b61171d565b5151015190614608565b6137bd838a61171d565b5110156135bc565b0161362c565b919080516137d8816119e6565b93600080915b8382106137ec575050505050565b608096939495929661380281612500858a61171d565b936000985b87811080613930575b156138955761381f818a61171d565b515160c0015173ffffffffffffffffffffffffffffffffffffffff169960409a8b61384a848d61171d565b510151613857918961461f565b8a613862838c61171d565b51015161386e91611d4c565b99613879828b61171d565b510151613886828961171d565b52613890906131d3565b613807565b9598929490979693915073ffffffffffffffffffffffffffffffffffffffff808616908216148015613928575b61392057826138d191866146bb565b905b8581106138e7575050505b829092916137de565b600190604061390c8561390786846138ff878f61171d565b51015161321d565b61325f565b90613917838b61171d565b510152016138d3565b5050506138de565b5082156138c2565b5061393f83612500838c61171d565b73ffffffffffffffffffffffffffffffffffffffff808816911614613810565b909282519360005b85811061397657505050505050565b60019060e073ffffffffffffffffffffffffffffffffffffffff808261399c858b61171d565b5151015116818616146139d5576139cf916139b7848a61171d565b51510151166139c6838761171d565b519085886140b4565b01613967565b50506139cf565b601f81116139e8575050565b60009060046000527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b906020601f850160051c83019410613a44575b601f0160051c01915b828110613a3957505050565b818155600101613a2d565b9092508290613a24565b601f8111613a5a575050565b60009060056000527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db0906020601f850160051c83019410613ab6575b601f0160051c01915b828110613aab57505050565b818155600101613a9f565b9092508290613a96565b90815167ffffffffffffffff811161040e57613ae681613ae1600554612af6565b613a4e565b602080601f8311600114613b3a57508190613b359394600092611f835750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8260011b9260031b1c19161790565b600555565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0831694613b8b60056000527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db090565b926000905b878210613be6575050836001959610613baf575b505050811b01600555565b01517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88460031b161c19169055388080613ba4565b80600185968294968601518155019501930190613b90565b613c06612b49565b8051908115613c16576020012090565b50506002548015613c245790565b507fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47090565b613c51612c2c565b8051908115613c61576020012090565b50506003548015613c245790565b15613c7657565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f4c4f503a20626164207369676e617475726500000000000000000000000000006044820152fd5b91613cde83611912565b92600084815260209060cd825260408120948260405196613cfe88610430565b54966fffffffffffffffffffffffffffffffff88169788825260801c91829101528015600014613e41575073ffffffffffffffffffffffffffffffffffffffff928360c086015116613d50838a614b87565b93909560058510156117f5578a94159687613e35575b50508515613d87575b505050505090613d8161010092613c6f565b01519190565b849550908492939491604051613dd981611989888201947f1626ba7e000000000000000000000000000000000000000000000000000000009a8b87526024840152604060448401526064830190610b9d565b51915afa92613de6611d66565b9084613e28575b84613e06575b50613d8192508791503890508080613d6f565b90918093945082805181010312610aed5750015114613d816101003880613df3565b9350818151101593613ded565b16821495503880613d66565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0195949350505050565b9080821015613e79575090565b905090565b6fffffffffffffffffffffffffffffffff9081811161019e571690565b15613ea257565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4c4f503a2063616e27742073776170203020616d6f756e7400000000000000006044820152fd5b9392909193613f0d612fed565b94815193613f1a856119e6565b6080880152613f28856119e6565b60a0880152613f36856119e6565b60c0880152613f44856119e6565b60e0880152613f71613f6c82613f66613f616060611c758961170b565b614842565b96614cf7565b614892565b92600094602089019060408a01928a60608101985b8a8110613f9a575050505050505050505050565b888882600194613faa828861171d565b51908860408301928d8451156140a75761409c976140709760e0968895613fdd6140039561012061402a98510151614888565b9151613fed8860808b015161171d565b52613ffc8760808a015161171d565b5190615450565b906140248560a08897959701519360c089015190614024838c8c015161171d565b5261171d565b5261404461403c8460a084015161171d565b511515613e9b565b61405d61405584608084015161171d565b518251611d4c565b81526140786140708460a084015161171d565b518b51611d4c565b8a5261409361408b8460c084015161171d565b518c51611d4c565b8b52015161171d565b8a525b018b90613f86565b505050505050505061409f565b90926101b093604051937f23b872dd00000000000000000000000000000000000000000000000000000000602086015273ffffffffffffffffffffffffffffffffffffffff80921660248601521660448401526064830152606482526135b282610460565b73ffffffffffffffffffffffffffffffffffffffff808093169116818114928315614189575b831561414c575b50505090565b7f00000000000000000000000000000000000000000000000000000000000000001614915081614180575b50388080614146565b90501538614177565b9250801580614199575b9261413f565b50827f0000000000000000000000000000000000000000000000000000000000000000168214614193565b9081602091031261019e5751610607816101bd565b73ffffffffffffffffffffffffffffffffffffffff8381169594928615808015614466575b156143b957156143b057817f0000000000000000000000000000000000000000000000000000000000000000915b6040517f784367d600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff881660048201526020969290911692918682602481875afa9283156126ad5761430f938893600091614383575b501561437b5750879384915b60006040518096819582947f769f8e5d0000000000000000000000000000000000000000000000000000000084523060048501608091600093959460a083019673ffffffffffffffffffffffffffffffffffffffff809316845260208401521660408201528260608201520152565b03925af19485156126ad5760009561435c575b5050838581988484160361434b575b505050309082160361434257505050565b6101b0926134b7565b6143549261455a565b388385614331565b614373929550803d106126a657612698818361047c565b923880614322565b9384916142a0565b6143a39150843d86116143a9575b61439b818361047c565b8101906141c4565b38614294565b503d614391565b8160009161422c565b50916144369596506020949391600091604051978896879586937f769f8e5d00000000000000000000000000000000000000000000000000000000855260048501608091600093959460a083019673ffffffffffffffffffffffffffffffffffffffff809316845260208401521660408201528260608201520152565b0393165af19081156126ad5760009161444d575090565b610607915060203d6020116126a657612698818361047c565b50827f00000000000000000000000000000000000000000000000000000000000000001688146141fe565b73ffffffffffffffffffffffffffffffffffffffff1680614507575060003b1561019e576000600491604051928380927fd0e30db0000000000000000000000000000000000000000000000000000000008252845af180156126ad576144f45750565b806145016101b09261044c565b80610910565b803b1561019e576040517f2e1a7d4d00000000000000000000000000000000000000000000000000000000815260048101929092526000908290818381602481015b03925af180156126ad576144f45750565b73ffffffffffffffffffffffffffffffffffffffff91908216806145bf575016803b1561019e576000906004604051809481937fd0e30db00000000000000000000000000000000000000000000000000000000083525af180156126ad576144f45750565b915050803b1561019e576040517f2e1a7d4d0000000000000000000000000000000000000000000000000000000081526004810192909252600090829081838160248101614549565b670de0b6b3a76400009161461b9161321d565b0490565b90919073ffffffffffffffffffffffffffffffffffffffff16806146a657509050340361464857565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f657468206d69736d6174636800000000000000000000000000000000000000006044820152fd5b816146b057505050565b6101b09230916140b4565b7f0000000000000000000000000000000000000000000000000000000000000000929173ffffffffffffffffffffffffffffffffffffffff80821681861614806147ab575b908461443696602096959493614796575b505061471d83836149bd565b81811661478e5783905b6040518097819682957f20e8c56500000000000000000000000000000000000000000000000000000000845230600485016000929493606092608083019673ffffffffffffffffffffffffffffffffffffffff809216845216602083015260408201520152565b600090614727565b6147a1929350614491565b6000908338614711565b506040517ffa5a4f0600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff86166004820152939291906020856024818487165afa9485156126ad57614436966020968692600091614825575b5015929394955096509450614700565b61483c9150883d8a116143a95761439b818361047c565b38614815565b60048110156117f557806148565750600190565b61485f816117eb565b6001810361486d5750600290565b806148796002926117eb565b0361488357600390565b600490565b9061489291614cf7565b6000811261019e5790565b6040516149089173ffffffffffffffffffffffffffffffffffffffff166148c382610430565b6000806020958685527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656487860152868151910182855af1614902611d66565b91615355565b8051908282159283156149a5575b505050156149215750565b608490604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152fd5b6149b593508201810191016141c4565b388281614916565b919073ffffffffffffffffffffffffffffffffffffffff92838116938415614b80576040519485917fdd62ed3e0000000000000000000000000000000000000000000000000000000083523060048401528416602483015281604460209788935afa80156126ad576b7fffffffffffffffffffffff91600091614b63575b5010614a48575b50509050565b6040517f095ea7b30000000000000000000000000000000000000000000000000000000085820190815273ffffffffffffffffffffffffffffffffffffffff8416602483015260006044830181905291829190614aa88160648101611989565b519082855af1614ab6611d66565b81614b33575b5015614ad557614acd929350614d37565b803880614a42565b606484604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152600c60248201527f5361666520417070726f766500000000000000000000000000000000000000006044820152fd5b80518015925086908315614b4b575b50505038614abc565b614b5b93508201810191016141c4565b388581614b42565b614b7a9150863d88116126a657612698818361047c565b38614a3b565b5050509050565b906041815114600014614bb557614bb1916020820151906060604084015193015160001a90614e61565b9091565b5050600090600290565b929391937ffffffffffffffffffffffffffffffffffffffffffffffffff21f494c589c00009485830192808411610ea457670de0b6b3a7640000614c06614c0c938861321d565b0461321d565b821561326957829004948101908111610ea45781614c2d61461b928661321d565b0493613200565b614c4390949394929192613200565b91801561326957614c55920490614ef0565b917ffffffffffffffffffffffffffffffffffffffffffffffffff21f494c589c00008101908111610ea457614c93670de0b6b3a7640000918461321d565b04908290565b929391614c0691614cb691670de0b6b3a76400009384918761321d565b04927ffffffffffffffffffffffffffffffffffffffffffffffffff21f494c589c00008101818111610ea457614cec908461321d565b811561326957049190565b6301e1338091614d069161321d565b047f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811161019e5761060790614f79565b6040517f095ea7b3000000000000000000000000000000000000000000000000000000006020820190815273ffffffffffffffffffffffffffffffffffffffff90931660248201527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60448201526000928392918390614dba8160648101611989565b51925af1614dc6611d66565b81614e32575b5015614dd457565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f5361666520417070726f766500000000000000000000000000000000000000006044820152fd5b8051801592508215614e47575b505038614dcc565b614e5a92506020809183010191016141c4565b3880614e3f565b9291907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08311614ee45791608094939160ff602094604051948552168484015260408301526060820152600093849182805260015afa156126ad57815173ffffffffffffffffffffffffffffffffffffffff811615614ede579190565b50600190565b50505050600090600390565b9061325f90613200565b15614f0157565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f496e76616c6964206578706f6e656e74000000000000000000000000000000006044820152fd5b8015613269576ec097ce7bc90715b34b9f10000000000590565b7ffffffffffffffffffffffffffffffffffffffffffffffffdc702bd3a30fc000081121580615342575b614fac90614efa565b6000811261532d576064906806f05b59d3b200000081126152ca577ffffffffffffffffffffffffffffffffffffffffffffffff90fa4a62c4e0000000168056bc75e2d6310000082770195e54c5dd42177f53a27172fa9ec630262827000000000925b02819068ad78ebc5ac62000000811215615291575b6856bc75e2d631000000811215615257575b682b5e3af16b1880000081121561521f575b6815af1d78b58c4000008112156151e7575b680ad78ebc5ac62000008112156151b0575b82811215615179575b6802b5e3af16b1880000811215615142575b68015af1d78b58c4000081121561510b575b60028382800205058360038184840205056004828583020505600583868302050560068487830205056007858883020505906008868984020505926009878a8602050594600a888b8802050596600b898c8a02050599600c8a8d8d0205059b0101010101010101010101010205020590565b6806f5f17757889379377ffffffffffffffffffffffffffffffffffffffffffffffffea50e2874a73c000084920192020590615099565b6808f00f760a4b2db55d7ffffffffffffffffffffffffffffffffffffffffffffffffd4a1c50e94e78000084920192020590615087565b680ebc5fb417461211107ffffffffffffffffffffffffffffffffffffffffffffffffa9438a1d29cf0000084920192020590615075565b68280e60114edb805d037ffffffffffffffffffffffffffffffffffffffffffffffff5287143a539e000008492019202059061506c565b690127fa27722cc06cc5e27fffffffffffffffffffffffffffffffffffffffffffffffea50e2874a73c000008492019202059061505a565b693f1fce3da636ea5cf8507fffffffffffffffffffffffffffffffffffffffffffffffd4a1c50e94e780000084920192020590615048565b6b02df0ab5a80a22c61ab5a7007fffffffffffffffffffffffffffffffffffffffffffffffa9438a1d29cf00000084920192020590615036565b6e01855144814a7ff805980ff008400091507fffffffffffffffffffffffffffffffffffffffffffffff5287143a539e00000001615024565b6803782dace9d9000000811261531a577ffffffffffffffffffffffffffffffffffffffffffffffffc87d25316270000000168056bc75e2d63100000826b1425982cf597cd205cef73809261500f565b68056bc75e2d631000008260019261500f565b61533990600003614f79565b61060790614f5f565b5068070c1cc73b00c80000811315614fa3565b919290156153d05750815115615369575090565b3b156153725790565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152fd5b8251909150156153e35750805190602001fd5b61110d906040519182917f08c379a0000000000000000000000000000000000000000000000000000000008352602060048401526024830190610b9d565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052605160045260246000fd5b939291909380600414615498578060031461548e5780600214615484576001036154215761547d93614c99565b9192909190565b5061547d93614c34565b5061547d93614bbf565b507ffffffffffffffffffffffffffffffffffffffffffffffffff21f494c589c000094929193949384820195828711610ea457866154d59161321d565b918015613269576154e7920490614ef0565b928101818111610ea4576154fb908461321d565b8115613269570492670de0b6b3a764000093848102948186041490151715610ea4578015613269576155308161390785613200565b929304919056fea2646970667358221220922a5515429e3fde88185720541165dd506e7a40d51c512354e822eb00412dd164736f6c63430008170033";
|
|
1027
|
+
"0x60a0346200014357601f6200579e38819003918201601f19168301916001600160401b0383118484101762000148578084926020946040528339810103126200014357516001600160a01b0381168103620001435760805260015460ff8160a81c16620000ee5760ff808260a01c1603620000aa575b60405161563f90816200015f82396080518181816142e701528181614336015281816143a40152818161460301526148560152f35b60ff60a01b191660ff60a01b1760015560405160ff81527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602090a13862000075565b60405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b6064820152608490fd5b600080fd5b634e487b7160e01b600052604160045260246000fdfe6080604052600436101561001b575b361561001957600080fd5b005b60003560e01c8063078dfbe71461018b5780630b4e3350146101865780630c0b8c9c146101815780632545e4bd1461017c578063327075971461017757806335ee3ffc146101725780633644e5151461016d57806346904840146101685780634e71e0c8146101635780635413fba71461015e5780636122b1731461015957806370ae92d21461015457806372c244a81461014f57806384b0196e1461014a5780638da5cb5b14610145578063bd61951d14610140578063c4d66de81461013b578063c53a029214610136578063c6a6fcf114610131578063cf6fc6e31461012c578063e30c397814610127578063e74b981b146101225763f1d4deb30361000e5761164a565b6115bb565b611569565b6114fc565b611431565b61133b565b6111a9565b6110eb565b611099565b610fc7565b610e8e565b610e25565b610c9b565b610b88565b610a3e565b6109ec565b6109b3565b610987565b61092e565b6108e1565b6107fb565b610661565b6101d7565b73ffffffffffffffffffffffffffffffffffffffff8116036101ae57565b600080fd5b602435906101c082610190565b565b35906101c082610190565b801515036101ae57565b346101ae5760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ae5760043561021281610190565b6024359061021f826101cd565b6044359061022c826101cd565b73ffffffffffffffffffffffffffffffffffffffff60009361025282865416331461170f565b156103a45781169182159081159161039c575b501561033e5761030e916102a9610290855473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1690565b7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08580a373ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff00000000000000000000000000000000000000006000541617600055565b61033b7fffffffffffffffffffffffff000000000000000000000000000000000000000060015416600155565b80f35b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4f776e61626c653a207a65726f206164647265737300000000000000000000006044820152fd5b905038610265565b9150167fffffffffffffffffffffffff0000000000000000000000000000000000000000600154161760015580f35b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6060810190811067ffffffffffffffff82111761041e57604052565b6103d3565b6040810190811067ffffffffffffffff82111761041e57604052565b610160810190811067ffffffffffffffff82111761041e57604052565b67ffffffffffffffff811161041e57604052565b60a0810190811067ffffffffffffffff82111761041e57604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761041e57604052565b60405190610180820182811067ffffffffffffffff82111761041e57604052565b604051906101c082610470565b604051906101c082610423565b359060048210156101ae57565b67ffffffffffffffff811161041e57601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b81601f820112156101ae5780359061056682610515565b92610574604051948561048c565b828452602083830101116101ae57816000926020809301838601378301015290565b9190610180838203126101ae576105ab6104cd565b928035845260208101356020850152604081013560408501526105d060608201610508565b60608501526105e1608082016101c2565b60808501526105f260a082016101c2565b60a085015261060360c082016101c2565b60c085015261061460e082016101c2565b60e0850152610100808201359085015261012080820135908501526101408082013590850152610160918282013567ffffffffffffffff81116101ae5761065b920161054f565b90830152565b346101ae5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ae5767ffffffffffffffff6004358181116101ae576106b1903690600401610596565b906024359081116101ae576060916106d06106d692369060040161054f565b906117d9565b9060405192835260208301526040820152f35b67ffffffffffffffff811161041e5760051b60200190565b6020807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8301126101ae576004359167ffffffffffffffff83116101ae57806023840112156101ae578260040135610758816106e9565b93610766604051958661048c565b8185526024602086019260051b8201019283116101ae57602401905b828210610790575050505090565b81358152908301908301610782565b90815180825260208080930193019160005b8281106107bf575050505090565b8351855293810193928101926001016107b1565b90916107ea6107f89360408452604084019061079f565b91602081840391015261079f565b90565b346101ae5761081161080c36610701565b611cca565b60005b82518110156108cc5761082781846119e3565b511561086e57807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61085b600193866119e3565b510161086782866119e3565b5201610814565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f4c4f503a20556e6b6e6f776e206f7264657200000000000000000000000000006044820152fd5b50906108dd604051928392836107d3565b0390f35b346101ae5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ae57602061092660043561092181610190565b6119f7565b604051908152f35b346101ae5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ae5760043567ffffffffffffffff81116101ae576109266109826020923690600401610596565b611bd3565b346101ae5761099861080c36610701565b906108dd604051928392836107d3565b60009103126101ae57565b346101ae5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ae576020610926613023565b346101ae5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ae57602073ffffffffffffffffffffffffffffffffffffffff60cb5416604051908152f35b346101ae576000807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610b855773ffffffffffffffffffffffffffffffffffffffff8060015416803303610b275780610afc928454167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08580a373ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff00000000000000000000000000000000000000006000541617600055565b7fffffffffffffffffffffffff00000000000000000000000000000000000000006001541660015580f35b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f4f776e61626c653a2063616c6c657220213d2070656e64696e67206f776e65726044820152fd5b80fd5b346101ae577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc6020813601126101ae576004359067ffffffffffffffff82116101ae576101809082360301126101ae5761001990600401611d58565b9181601f840112156101ae5782359167ffffffffffffffff83116101ae57602083818601950101116101ae57565b60005b838110610c255750506000910152565b8181015183820152602001610c15565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602093610c7181518092818752878088019101610c12565b0116010190565b90926080926107f895948352602083015260408201528160608201520190610c35565b346101ae5760a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ae5760043567ffffffffffffffff8082116101ae57366023830112156101ae578160040135602492610cf9826106e9565b93604092610d0a604051968761048c565b8086526020936024602088019260051b850101933685116101ae5760248101925b858410610d8f578888610d3c6101b3565b6064358281116101ae57610d54903690600401610be4565b50506084359182116101ae576108dd92610d75610d7f93369060040161054f565b9160443591611eef565b9060409492945194859485610c78565b83358881116101ae57820160607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc82360301126101ae57835191610dd283610402565b868201358a81116101ae57610dec90883691850101610596565b83526044820135928a84116101ae5760648a9493610e1086958b369184010161054f565b85840152013586820152815201930192610d2b565b346101ae5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ae5773ffffffffffffffffffffffffffffffffffffffff600435610e7581610190565b1660005260666020526020604060002054604051908152f35b346101ae5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ae5760043560ff81168091036101ae576000903382526066602052604082205490808201809211610f3c573383526066602052816040842055810390808211610f3c5760408051928352602083019190915233917fdc0537f71d06d3708f52baf4ddf6918b25f1a145ba08873de27485682b35cac191819081015b0390a280f35b611fb2565b9193610fa76107f8969495610f9973ffffffffffffffffffffffffffffffffffffffff947f0f00000000000000000000000000000000000000000000000000000000000000875260e0602088015260e0870190610c35565b908582036040870152610c35565b946060840152166080820152600060a082015260c081840391015261079f565b346101ae5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ae57600254158061108f575b156110315761100d612dde565b611015612ec1565b906108dd611021611c52565b6040519384933091469186610f41565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4549503731323a20556e696e697469616c697a656400000000000000000000006044820152fd5b5060035415611000565b346101ae5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ae57602073ffffffffffffffffffffffffffffffffffffffff60005416604051908152f35b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ae5760043561112181610190565b60243567ffffffffffffffff81116101ae5760009161114583923690600401610be4565b90816040519283928337810184815203915af4611160611ffb565b906111a56040519283927f1934afc800000000000000000000000000000000000000000000000000000000845215156004840152604060248401526044830190610c35565b0390fd5b346101ae5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ae576004356111e481610190565b61125a6001549161120c60ff8460a81c161580948195611329575b8115611306575b5061202b565b82611251740100000000000000000000000000000000000000007fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff6001541617600155565b6112bc576120b6565b61126057005b61128d7fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff60015416600155565b604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602090a1005b61130175010000000000000000000000000000000000000000007fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff6001541617600155565b6120b6565b303b15915081611318575b5038611206565b60a01c60ff16600114905038611311565b9050600160ff8260a01c1610906111ff565b346101ae576000807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610b85573381526066602052604081205460018101808211610f3c57610f367fdc0537f71d06d3708f52baf4ddf6918b25f1a145ba08873de27485682b35cac191338552606660205280604086205560405191829133958360209093929193604081019481520152565b9080601f830112156101ae5760209082356113eb816106e9565b936113f9604051958661048c565b81855260208086019260051b8201019283116101ae57602001905b828210611422575050505090565b81358152908301908301611414565b346101ae5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ae5767ffffffffffffffff6004358181116101ae57366023820112156101ae57806004013561148c816106e9565b9161149a604051938461048c565b8183526020916024602085019160051b830101913683116101ae57602401905b8282106114e357602435858782116101ae576114dd6100199236906004016113d1565b906122f0565b83809183356114f181610190565b8152019101906114ba565b346101ae5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ae5773ffffffffffffffffffffffffffffffffffffffff60043561154c81610190565b166000526066602052602060243560406000205414604051908152f35b346101ae5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ae57602073ffffffffffffffffffffffffffffffffffffffff60015416604051908152f35b346101ae5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ae576004356115f681610190565b73ffffffffffffffffffffffffffffffffffffffff9061161b8260005416331461170f565b167fffffffffffffffffffffffff000000000000000000000000000000000000000060cb54161760cb55600080f35b346101ae5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ae5767ffffffffffffffff6004358181116101ae57366023820112156101ae5780600401359182116101ae5760059060243684841b83018201116101ae57600093927ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe5d83360301945b8481106116e957005b8281831b8501013590868212156101ae5761170984600193870101611d58565b016116e0565b1561171657565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b1561177b57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f4c4f503a20626164207369676e617475726500000000000000000000000000006044820152fd5b916117e383611bd3565b92600084815260209060cd82526040812094826040519661180388610423565b54966fffffffffffffffffffffffffffffffff88169788825260801c91829101528015600014611977575073ffffffffffffffffffffffffffffffffffffffff928360c086015116611855838a612feb565b9390956005851015611972578a94159687611966575b5050851561188c575b50505050509061188661010092611774565b01519190565b84955090849293949160405161190a816118de888201947f1626ba7e000000000000000000000000000000000000000000000000000000009a8b87526024840152604060448401526064830190610c35565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0810183528261048c565b51915afa92611917611ffb565b9084611959575b84611937575b5061188692508791503890508080611874565b90918093945082805181010312610b8557500151146118866101003880611924565b935081815110159361191e565b1682149550388061186b565b611a82565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0195949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b8051156119de5760200190565b6119a2565b80518210156119de5760209160051b010190565b73ffffffffffffffffffffffffffffffffffffffff1660005260cc602052604060002054908115611a2457565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f4c4f503a20666565206e6f7420736574000000000000000000000000000000006044820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6004111561197257565b9060048210156119725752565b61018090939291936101a08101947f22742a2f8610a2d0e945db84f408aacc9d3081f99974bc30b023966fa2fd59318252805160208301526020810151604083015260408101516060830152611b2660608201516080840190611abb565b608081015173ffffffffffffffffffffffffffffffffffffffff1660a083015260a081015173ffffffffffffffffffffffffffffffffffffffff1660c083015260c081015173ffffffffffffffffffffffffffffffffffffffff1660e083015260e0810151611bb0610100918285019073ffffffffffffffffffffffffffffffffffffffff169052565b810151610120908184015281015190610140918284015201516101608201520152565b6107f890604051611be38161043f565b6101406000918281528260208201528260408201528260608201528260808201528260a08201528260c08201528260e0820152826101008201528261012082015201526118de611c4a61016083015160208151910120604051928391602083019586611ac8565b5190206124bc565b6040516020810181811067ffffffffffffffff82111761041e5760405260008152906000368137565b90611c85826106e9565b611c92604051918261048c565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0611cc082946106e9565b0190602036910137565b805191611cd683611c7b565b92611ce081611c7b565b9260009060005b838110611cf45750505050565b80611d01600192846119e3565b518452602060cd81526040808620905190611d1b82610423565b54906fffffffffffffffffffffffffffffffff82169182825260801c9283910152611d46838a6119e3565b52611d51828a6119e3565b5201611ce7565b60c0810135611d6681610190565b73ffffffffffffffffffffffffffffffffffffffff33911603611e7857610982611d91913690610596565b6001611da78260005260cd602052604060002090565b5460801c14611e1a57611df2611dc78260005260cd602052604060002090565b7001000000000000000000000000000000006fffffffffffffffffffffffffffffffff825416179055565b337f35ab4a1a0e9bec7fd7ae164679b9cc00e6568e4db238d8055a75b1862f62ec2e600080a3565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4c4f503a20616c72656164792066696c6c6564000000000000000000000000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f4c4f503a204163636573732064656e69656400000000000000000000000000006044820152fd5b5160048110156119725790565b60048210156119725752565b91929092611efc83612776565b611f126060611f0a856119d1565b515101611ed6565b92611f1c84611ab1565b83158015611f9f575b15611f7d57611f7594611f6691611f44611f3d6104ee565b9687611ee3565b602086015273ffffffffffffffffffffffffffffffffffffffff166040850152565b60608301526080820152612bd8565b929391929091565b611f7594611f9091611f44611f3d6104ee565b60608301526080820152612a0b565b50611fa984611ab1565b60028414611f25565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b91908201809211610f3c57565b91908203918211610f3c57565b3d15612026573d9061200c82610515565b9161201a604051938461048c565b82523d6000602084013e565b606090565b1561203257565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152fd5b9060019160ff60015460a81c166120cc81612f60565b337fffffffffffffffffffffffff000000000000000000000000000000000000000060005416176000556040519361210385610423565b601b85526020907f50656e646c65204c696d6974204f726465722050726f746f636f6c000000000060208701526121786040519361214085610423565b600185527f3100000000000000000000000000000000000000000000000000000000000000602086015261217381612f60565b612f60565b85519167ffffffffffffffff831161041e5761219e83612199600454612d8b565b613ce3565b602091601f8411600114612223575050816121ff93926121f7926101c09798600092612218575b50507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8260011b9260031b1c19161790565b600455613dc7565b6122096000600255565b6122136000600355565b61246b565b0151905038806121c5565b600460009081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08516987f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b949390925b8a83106122d9575050509183916001936121ff96956101c0999a106122a2575b505050811b01600455613dc7565b01517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88460031b161c19169055388080612294565b838501518655948501949381019391810191612274565b61231373ffffffffffffffffffffffffffffffffffffffff60005416331461170f565b805191805183036123a85760005b83811061232e5750505050565b8061234661233e600193856119e3565b511515612406565b61235081846119e3565b516123a161237b61236184886119e3565b5173ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1660005260cc602052604060002090565b5501612321565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f4c4f503a206c656e677468206d69736d617463680000000000000000000000006044820152fd5b1561240d57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4c4f503a207a65726f20666565206e6f7420616c6c6f776564000000000000006044820152fd5b73ffffffffffffffffffffffffffffffffffffffff906124908260005416331461170f565b167fffffffffffffffffffffffff000000000000000000000000000000000000000060cb54161760cb55565b6042906124c7613023565b90604051917f19010000000000000000000000000000000000000000000000000000000000008352600283015260228201522090565b1561250457565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f4c4f503a20656d707479206261746368000000000000000000000000000000006044820152fd5b908160209103126101ae575190565b6040513d6000823e3d90fd5b1561258457565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f4c4f503a205059206578706972656400000000000000000000000000000000006044820152fd5b156125e957565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4c4f503a206e6f742073616d65206f72646572547970650000000000000000006044820152fd5b1561264e57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f4c4f503a206e6f742073616d65205954000000000000000000000000000000006044820152fd5b156126b357565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f4c4f503a206f72646572206578706972656400000000000000000000000000006044820152fd5b1561271857565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4c4f503a206f7264657220696e76616c696461746564000000000000000000006044820152fd5b8051906127848215156124fd565b60a0906127b260a0612795836119d1565b5151015173ffffffffffffffffffffffffffffffffffffffff1690565b9060609273ffffffffffffffffffffffffffffffffffffffff6127d96060611f0a856119d1565b931690604093604051937fe184c9be000000000000000000000000000000000000000000000000000000008552602094602081600481885afa80156129425761282c91600091612913575b50421061257d565b60005b88811061284157505050505050505050565b8061290d612851600193856119e3565b515161287c868c83015161286481611ab1565b61286d82611ab1565b61287681611ab1565b146125e2565b6128a9886128a36102908a85015173ffffffffffffffffffffffffffffffffffffffff1690565b14612647565b6128b78982015142106126ac565b6129056128df60c08c84015193015173ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff166000526066602052604060002090565b541115612711565b0161282f565b612935915060203d60201161293b575b61292d818361048c565b810190612562565b38612824565b503d612923565b612571565b1561294e57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4c4f503a206d617854616b696e672065786365656465640000000000000000006044820152fd5b6020818303126101ae5780519067ffffffffffffffff82116101ae570181601f820112156101ae5780516129df81610515565b926129ed604051948561048c565b818452602082840101116101ae576107f89160208085019101610c12565b6060612ad46020830191612a1f83516130ae565b909792612a3a87989398518a612a34816119f7565b9161330c565b918251976020840151612a536040860191825190611fe1565b9051809a6080839d829f612a6d60608c0151871115612947565b60018b51612a7a81611ab1565b612a8381611ab1565b03612bd05750985b73ffffffffffffffffffffffffffffffffffffffff9c8d9a8751612ac6604085015173ffffffffffffffffffffffffffffffffffffffff1690565b90858d019d8e519316613402565b01518051612b44575b505050612af5906101c097989930903390871661347f565b612b3089612b0a835160a088015190876135a0565b94612b2a60cb5473ffffffffffffffffffffffffffffffffffffffff1690565b90613853565b5193519060e060c085015194015194613958565b83999a5090612b85600093949260405195869485947feb3a7d4700000000000000000000000000000000000000000000000000000000865260048601610c78565b038183335af1968715612942576101c097612af592600091612bad575b5098978b9192612add565b612bca91503d806000833e612bc2818361048c565b8101906129ac565b38612ba2565b905098612a8b565b9060609160208101612bea81516130ae565b612bfb859894929793985183613ab4565b90612c0b865189612a34816119f7565b91825196612c1f6040850198895190611fee565b9a8b9a602086015199519a8a8c9b9d9e612c3f6060840151831115612947565b612c6a81612c64604086015173ffffffffffffffffffffffffffffffffffffffff1690565b8c613853565b60808301518051612d04575b505050916101c098999a91612ce89351612c8f81611ab1565b612c9881611ab1565b612cfc5750965b612cca84519860a08901998a519173ffffffffffffffffffffffffffffffffffffffff339116613c66565b60cb5473ffffffffffffffffffffffffffffffffffffffff16612b2a565b5193519160e060c085015194015194613958565b905096612c9f565b6000939d949b9c50612d449060405195869485947feb3a7d4700000000000000000000000000000000000000000000000000000000865260048601610c78565b038183335af1918215612942576101c098612ce8938d93600091612d70575b509a9981939c9294612c76565b612d8591503d806000833e612bc2818361048c565b38612d63565b90600182811c92168015612dd4575b6020831014612da557565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b91607f1691612d9a565b6040519060008260045491612df283612d8b565b80835292602090600190818116908115612e7e5750600114612e1d575b50506101c09250038361048c565b91509260046000527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b936000925b828410612e6657506101c09450505081016020013880612e0f565b85548885018301529485019487945092810192612e4b565b9050602093506101c09592507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091501682840152151560051b8201013880612e0f565b6040519060008260055491612ed583612d8b565b80835292602090600190818116908115612e7e5750600114612eff5750506101c09250038361048c565b91509260056000527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db0936000925b828410612f4857506101c09450505081016020013880612e0f565b85548885018301529485019487945092810192612f2d565b15612f6757565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152fd5b90604181511460001461301957613015916020820151906060604084015193015160001a90613f05565b9091565b5050600090600290565b61302b613f94565b613033613fdf565b6040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a0815260c0810181811067ffffffffffffffff82111761041e5760405251902090565b908160209103126101ae57516107f881610190565b908151916130bb83611c7b565b9260005b8181106131ba57505060a06127956130d6926119d1565b73ffffffffffffffffffffffffffffffffffffffff8116926040517fafd27bf50000000000000000000000000000000000000000000000000000000081526020908181600481895afa90811561294257600491839160009161319d575b5096604051928380927fd94073d40000000000000000000000000000000000000000000000000000000082525afa9182156129425760009261317457505092565b6131939250803d10613196575b61318b818361048c565b810190613099565b92565b503d613181565b6131b49150823d84116131965761318b818361048c565b38613133565b80604060016131ca8194876119e3565b516132a8815161324a61320d6131e660209384870151906117d9565b929198909601956132066131fb828951614005565b988980930301614017565b9201614017565b926132316132196104fb565b6fffffffffffffffffffffffffffffffff9095168552565b8301906fffffffffffffffffffffffffffffffff169052565b61325e8560005260cd602052604060002090565b815160209092015160801b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff92909216919091179055565b526132b382886119e3565b52016130bf565b60405190610100820182811067ffffffffffffffff82111761041e57604052606060e0836000815260006020820152600060408201526000838201528260808201528260a08201528260c08201520152565b919073ffffffffffffffffffffffffffffffffffffffff9061332c6132ba565b5016604051907fe184c9be0000000000000000000000000000000000000000000000000000000082526020938483600481855afa80156129425761337d869160009586916133e5575b504290611fee565b926004604051809681937f1d52edc40000000000000000000000000000000000000000000000000000000083525af1928315612942576107f8956000946133c6575b5050614099565b6133dd929450803d1061293b5761292d818361048c565b9138806133bf565b6133fc9150833d851161293b5761292d818361048c565b38613375565b909182519360005b85811061341957505050505050565b60019060c073ffffffffffffffffffffffffffffffffffffffff808261343f858b6119e3565b515101511681871614613478576134729161345a848a6119e3565b51510151168561346a84876119e3565b51918861424d565b0161340a565b5050613472565b9291908261348e575b50505050565b6134979361424d565b38808080613488565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610f3c5760010190565b90670de0b6b3a764000091828102928184041490151715610f3c57565b81810292918115918404141715610f3c57565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b8115613536570490565b6134fd565b1561354257565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f4c4f503a206661696c20736166650000000000000000000000000000000000006044820152fd5b9092918351906135af82611c7b565b94600080945b8482106135c457505050505050565b6080979496979591929395916135de8361279586886119e3565b9060005b89821080613836575b156136145761360861360e91613601848c6119e3565b5190611fe1565b916134a0565b906135e2565b999897959492939190969973ffffffffffffffffffffffffffffffffffffffff8083169181871683146137e057600161364d878c611fee565b036137025750505061367c915061366960e061279585886119e3565b908461367585896119e3565b5192614372565b613686828a6119e3565b525b84811061369b57505b83909493946135b5565b806136b76136ab600193866119e3565b51516130859051061590565b6136c2575b01613688565b6136fd6136cf82876119e3565b516136f66136dd848d6119e3565b51916101406136ec868a6119e3565b51510151906147a1565b111561353b565b6136bc565b61370e81858930614372565b8d89888c8e5b82106137295750505050505050505050613688565b81868682938d61373985896119e3565b5151015173ffffffffffffffffffffffffffffffffffffffff169361375d916119e3565b5190613768916134ea565b906137729161352c565b61377c83876119e3565b52898186848b83168d1415976137b9966137a89560e0956127959560019c6137c3575b505050506119e3565b6137b284876119e3565b5191613853565b018a908c8e613714565b6137d7936137d0916119e3565b51916146f3565b818f878c61379f565b50505050505b8481106137f35750613691565b8061381a61380860e0612795600195886119e3565b61381283886119e3565b519085613853565b61382481866119e3565b5161382f828b6119e3565b52016137e6565b5061384e61384886612795858b6119e3565b846142b2565b6135eb565b82156139535773ffffffffffffffffffffffffffffffffffffffff16806138ec5750600080809381935af1613886611ffb565b501561388e57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f6574682073656e64206661696c656400000000000000000000000000000000006044820152fd5b6040517fa9059cbb00000000000000000000000000000000000000000000000000000000602082015273ffffffffffffffffffffffffffffffffffffffff9290921660248301526044808301939093529181526101c09161394e60648361048c565b614a36565b505050565b919394909485519560005b878110613974575050505050505050565b80878782808080808c8c8c8c61398a85856119e3565b515197613996916119e3565b519860608801519a6139a78c611ab1565b60a089015173ffffffffffffffffffffffffffffffffffffffff1660809099015173ffffffffffffffffffffffffffffffffffffffff16976139e8916119e3565b51956139f3916119e3565b519a6139fe916119e3565b5196613a09916119e3565b5191613a14916119e3565b515160c0015173ffffffffffffffffffffffffffffffffffffffff1690613a3a88611ab1565b6040805173ffffffffffffffffffffffffffffffffffffffff958616815260208101949094528301989098526060820194909452608081019690965291821660a08601523360c086015216927f338aa396bce529256f46f1d51f463cc5be80195004e47cf0a1527507d38404479060e090a4600101613963565b9190918251613ac281611c7b565b93600090815b838110613ad6575050505050565b6080969496959395929192613aef8161279584876119e3565b946000935b88811080613c37575b15613b6b5780613b48613b1860c0612795613b66958b6119e3565b96613b3460409889613b2a868d6119e3565b510151908c6147b8565b87613b3f848b6119e3565b51015190611fe1565b95613b5382896119e3565b510151613b60828b6119e3565b526134a0565b613af4565b9590979493915097959773ffffffffffffffffffffffffffffffffffffffff808816908216148015613c2f575b613c275781613ba79188614854565b915b858110613bbc575050505b829192613ac8565b600190604080613bcc83886119e3565b51015190613be385613bde88856134ea565b61352c565b9182613bf26136ab868b6119e3565b613c0c575b5050613c0383886119e3565b51015201613ba9565b6136f6613c20926101406136ec888d6119e3565b3882613bf7565b505050613bb4565b508115613b98565b50613c468361279583896119e3565b73ffffffffffffffffffffffffffffffffffffffff808916911614613afd565b909282519360005b858110613c7d57505050505050565b60019060e073ffffffffffffffffffffffffffffffffffffffff8082613ca3858b6119e3565b515101511681861614613cdc57613cd691613cbe848a6119e3565b5151015116613ccd83876119e3565b5190858861424d565b01613c6e565b5050613cd6565b601f8111613cef575050565b60009060046000527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b906020601f850160051c83019410613d4b575b601f0160051c01915b828110613d4057505050565b818155600101613d34565b9092508290613d2b565b601f8111613d61575050565b60009060056000527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db0906020601f850160051c83019410613dbd575b601f0160051c01915b828110613db257505050565b818155600101613da6565b9092508290613d9d565b90815167ffffffffffffffff811161041e57613ded81613de8600554612d8b565b613d55565b602080601f8311600114613e4157508190613e3c93946000926122185750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8260011b9260031b1c19161790565b600555565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0831694613e9260056000527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db090565b926000905b878210613eed575050836001959610613eb6575b505050811b01600555565b01517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88460031b161c19169055388080613eab565b80600185968294968601518155019501930190613e97565b9291907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08311613f885791608094939160ff602094604051948552168484015260408301526060820152600093849182805260015afa1561294257815173ffffffffffffffffffffffffffffffffffffffff811615613f82579190565b50600190565b50505050600090600390565b613f9c612dde565b8051908115613fac576020012090565b50506002548015613fba5790565b507fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47090565b613fe7612ec1565b8051908115613ff7576020012090565b50506003548015613fba5790565b9080821015614012575090565b905090565b6fffffffffffffffffffffffffffffffff908181116101ae571690565b1561403b57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4c4f503a2063616e27742073776170203020616d6f756e7400000000000000006044820152fd5b93929091936140a66132ba565b948151936140b385611c7b565b60808801526140c185611c7b565b60a08801526140cf85611c7b565b60c08801526140dd85611c7b565b60e088015261410a614105826140ff6140fa6060611f0a896119d1565b6149db565b96614e58565b614a2b565b92600094602089019060408a01928a60608101985b8a8110614133575050505050505050505050565b88888260019461414382886119e3565b51908860408301928d84511561424057614235976142099760e096889561417661419c956101206141c398510151614a21565b91516141868860808b01516119e3565b526141958760808a01516119e3565b5190615522565b906141bd8560a08897959701519360c0890151906141bd838c8c01516119e3565b526119e3565b526141dd6141d58460a08401516119e3565b511515614034565b6141f66141ee8460808401516119e3565b518251611fe1565b81526142116142098460a08401516119e3565b518b51611fe1565b8a5261422c6142248460c08401516119e3565b518c51611fe1565b8b5201516119e3565b8a525b018b9061411f565b5050505050505050614238565b90926101c093604051937f23b872dd00000000000000000000000000000000000000000000000000000000602086015273ffffffffffffffffffffffffffffffffffffffff809216602486015216604484015260648301526064825261394e82610470565b73ffffffffffffffffffffffffffffffffffffffff808093169116818114928315614322575b83156142e5575b50505090565b7f00000000000000000000000000000000000000000000000000000000000000001614915081614319575b503880806142df565b90501538614310565b9250801580614332575b926142d8565b50827f000000000000000000000000000000000000000000000000000000000000000016821461432c565b908160209103126101ae57516107f8816101cd565b73ffffffffffffffffffffffffffffffffffffffff83811695949286158080156145ff575b15614552571561454957817f0000000000000000000000000000000000000000000000000000000000000000915b6040517f784367d600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff881660048201526020969290911692918682602481875afa928315612942576144a893889360009161451c575b50156145145750879384915b60006040518096819582947f769f8e5d0000000000000000000000000000000000000000000000000000000084523060048501608091600093959460a083019673ffffffffffffffffffffffffffffffffffffffff809316845260208401521660408201528260608201520152565b03925af1948515612942576000956144f5575b505083858198848416036144e4575b50505030908216036144db57505050565b6101c092613853565b6144ed926146f3565b3883856144ca565b61450c929550803d1061293b5761292d818361048c565b9238806144bb565b938491614439565b61453c9150843d8611614542575b614534818361048c565b81019061435d565b3861442d565b503d61452a565b816000916143c5565b50916145cf9596506020949391600091604051978896879586937f769f8e5d00000000000000000000000000000000000000000000000000000000855260048501608091600093959460a083019673ffffffffffffffffffffffffffffffffffffffff809316845260208401521660408201528260608201520152565b0393165af1908115612942576000916145e6575090565b6107f8915060203d60201161293b5761292d818361048c565b50827f0000000000000000000000000000000000000000000000000000000000000000168814614397565b73ffffffffffffffffffffffffffffffffffffffff16806146a0575060003b156101ae576000600491604051928380927fd0e30db0000000000000000000000000000000000000000000000000000000008252845af180156129425761468d5750565b8061469a6101c09261045c565b806109a8565b803b156101ae576040517f2e1a7d4d00000000000000000000000000000000000000000000000000000000815260048101929092526000908290818381602481015b03925af180156129425761468d5750565b73ffffffffffffffffffffffffffffffffffffffff9190821680614758575016803b156101ae576000906004604051809481937fd0e30db00000000000000000000000000000000000000000000000000000000083525af180156129425761468d5750565b915050803b156101ae576040517f2e1a7d4d00000000000000000000000000000000000000000000000000000000815260048101929092526000908290818381602481016146e2565b670de0b6b3a7640000916147b4916134ea565b0490565b90919073ffffffffffffffffffffffffffffffffffffffff168061483f5750905034036147e157565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f657468206d69736d6174636800000000000000000000000000000000000000006044820152fd5b8161484957505050565b6101c092309161424d565b7f0000000000000000000000000000000000000000000000000000000000000000929173ffffffffffffffffffffffffffffffffffffffff8082168186161480614944575b90846145cf9660209695949361492f575b50506148b68383614b56565b8181166149275783905b6040518097819682957f20e8c56500000000000000000000000000000000000000000000000000000000845230600485016000929493606092608083019673ffffffffffffffffffffffffffffffffffffffff809216845216602083015260408201520152565b6000906148c0565b61493a92935061462a565b60009083386148aa565b506040517ffa5a4f0600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff86166004820152939291906020856024818487165afa948515612942576145cf9660209686926000916149be575b5015929394955096509450614899565b6149d59150883d8a1161454257614534818361048c565b386149ae565b600481101561197257806149ef5750600190565b6149f881611ab1565b60018103614a065750600290565b80614a12600292611ab1565b03614a1c57600390565b600490565b90614a2b91614e58565b600081126101ae5790565b604051614aa19173ffffffffffffffffffffffffffffffffffffffff16614a5c82610423565b6000806020958685527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656487860152868151910182855af1614a9b611ffb565b91615427565b805190828215928315614b3e575b50505015614aba5750565b608490604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152fd5b614b4e935082018101910161435d565b388281614aaf565b919073ffffffffffffffffffffffffffffffffffffffff92838116938415614d19576040519485917fdd62ed3e0000000000000000000000000000000000000000000000000000000083523060048401528416602483015281604460209788935afa8015612942576b7fffffffffffffffffffffff91600091614cfc575b5010614be1575b50509050565b6040517f095ea7b30000000000000000000000000000000000000000000000000000000085820190815273ffffffffffffffffffffffffffffffffffffffff8416602483015260006044830181905291829190614c4181606481016118de565b519082855af1614c4f611ffb565b81614ccc575b5015614c6e57614c66929350614e98565b803880614bdb565b606484604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152600c60248201527f5361666520417070726f766500000000000000000000000000000000000000006044820152fd5b80518015925086908315614ce4575b50505038614c55565b614cf4935082018101910161435d565b388581614cdb565b614d139150863d881161293b5761292d818361048c565b38614bd4565b5050509050565b929391937ffffffffffffffffffffffffffffffffffffffffffffffffff21f494c589c00009485830192808411610f3c57670de0b6b3a7640000614d67614d6d93886134ea565b046134ea565b821561353657829004948101908111610f3c5781614d8e6147b492866134ea565b04936134cd565b614da4909493949291926134cd565b91801561353657614db6920490614fc2565b917ffffffffffffffffffffffffffffffffffffffffffffffffff21f494c589c00008101908111610f3c57614df4670de0b6b3a764000091846134ea565b04908290565b929391614d6791614e1791670de0b6b3a7640000938491876134ea565b04927ffffffffffffffffffffffffffffffffffffffffffffffffff21f494c589c00008101818111610f3c57614e4d90846134ea565b811561353657049190565b6301e1338091614e67916134ea565b047f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81116101ae576107f89061504b565b6040517f095ea7b3000000000000000000000000000000000000000000000000000000006020820190815273ffffffffffffffffffffffffffffffffffffffff90931660248201527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60448201526000928392918390614f1b81606481016118de565b51925af1614f27611ffb565b81614f93575b5015614f3557565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f5361666520417070726f766500000000000000000000000000000000000000006044820152fd5b8051801592508215614fa8575b505038614f2d565b614fbb925060208091830101910161435d565b3880614fa0565b9061352c906134cd565b15614fd357565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f496e76616c6964206578706f6e656e74000000000000000000000000000000006044820152fd5b8015613536576ec097ce7bc90715b34b9f10000000000590565b7ffffffffffffffffffffffffffffffffffffffffffffffffdc702bd3a30fc000081121580615414575b61507e90614fcc565b600081126153ff576064906806f05b59d3b2000000811261539c577ffffffffffffffffffffffffffffffffffffffffffffffff90fa4a62c4e0000000168056bc75e2d6310000082770195e54c5dd42177f53a27172fa9ec630262827000000000925b02819068ad78ebc5ac62000000811215615363575b6856bc75e2d631000000811215615329575b682b5e3af16b188000008112156152f1575b6815af1d78b58c4000008112156152b9575b680ad78ebc5ac6200000811215615282575b8281121561524b575b6802b5e3af16b1880000811215615214575b68015af1d78b58c400008112156151dd575b60028382800205058360038184840205056004828583020505600583868302050560068487830205056007858883020505906008868984020505926009878a8602050594600a888b8802050596600b898c8a02050599600c8a8d8d0205059b0101010101010101010101010205020590565b6806f5f17757889379377ffffffffffffffffffffffffffffffffffffffffffffffffea50e2874a73c00008492019202059061516b565b6808f00f760a4b2db55d7ffffffffffffffffffffffffffffffffffffffffffffffffd4a1c50e94e78000084920192020590615159565b680ebc5fb417461211107ffffffffffffffffffffffffffffffffffffffffffffffffa9438a1d29cf0000084920192020590615147565b68280e60114edb805d037ffffffffffffffffffffffffffffffffffffffffffffffff5287143a539e000008492019202059061513e565b690127fa27722cc06cc5e27fffffffffffffffffffffffffffffffffffffffffffffffea50e2874a73c000008492019202059061512c565b693f1fce3da636ea5cf8507fffffffffffffffffffffffffffffffffffffffffffffffd4a1c50e94e78000008492019202059061511a565b6b02df0ab5a80a22c61ab5a7007fffffffffffffffffffffffffffffffffffffffffffffffa9438a1d29cf00000084920192020590615108565b6e01855144814a7ff805980ff008400091507fffffffffffffffffffffffffffffffffffffffffffffff5287143a539e000000016150f6565b6803782dace9d900000081126153ec577ffffffffffffffffffffffffffffffffffffffffffffffffc87d25316270000000168056bc75e2d63100000826b1425982cf597cd205cef7380926150e1565b68056bc75e2d63100000826001926150e1565b61540b9060000361504b565b6107f890615031565b5068070c1cc73b00c80000811315615075565b919290156154a2575081511561543b575090565b3b156154445790565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152fd5b8251909150156154b55750805190602001fd5b6111a5906040519182917f08c379a0000000000000000000000000000000000000000000000000000000008352602060048401526024830190610c35565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052605160045260246000fd5b93929190938060041461556a57806003146155605780600214615556576001036154f35761554f93614dfa565b9192909190565b5061554f93614d95565b5061554f93614d20565b507ffffffffffffffffffffffffffffffffffffffffffffffffff21f494c589c000094929193949384820195828711610f3c57866155a7916134ea565b918015613536576155b9920490614fc2565b928101818111610f3c576155cd90846134ea565b8115613536570492670de0b6b3a764000093848102948186041490151715610f3c5780156135365761560281613bde856134cd565b929304919056fea264697066735822122053ce7fb96e9764edc098c125fe871bedbccb3117901ba5020e104bf3fb7c76eb64736f6c63430008170033";
|
|
932
1028
|
|
|
933
1029
|
type PendleLimitRouterConstructorParams =
|
|
934
1030
|
| [signer?: Signer]
|