diff --git a/.env.sample b/.env.sample index 29e073c7..896b3db9 100755 --- a/.env.sample +++ b/.env.sample @@ -14,4 +14,11 @@ AURORA_RPC="https://mainnet.aurora.dev" DOGECHAIN_PK_DEPLOYER="1111111111111111111111111111111111111111111111111111111111111111" DOGECHAIN_RPC="https://rpc01-sg.dogechain.dog" +ZKSYNC_PK_DEPLOYER="1111111111111111111111111111111111111111111111111111111111111111" +ZKSYNC_RPC="https://mainnet.era.zksync.io" +ZKSYNC_VERIFY_URL="https://zksync2-mainnet-explorer.zksync.io/contract_verification" + +ETHEREUM_MAINNET_RPC="https://eth.llamarpc.com" + + ETHERSCAN_API_KEY="UEPS5EZJFNJM3N8GEMAJKZMTSYAAY8X1FP" \ No newline at end of file diff --git a/.gitignore b/.gitignore index 09d315ee..eb29ad9c 100755 --- a/.gitignore +++ b/.gitignore @@ -3,10 +3,12 @@ package-lock.json node_modules playground artifacts +artifacts-zk .DS_Store .scripts .vscode cache +cache-zk .env out .vscode \ No newline at end of file diff --git a/hardhat.config.js b/hardhat.config.js index ee0f2b78..2b1d5f48 100755 --- a/hardhat.config.js +++ b/hardhat.config.js @@ -6,8 +6,13 @@ require('hardhat-deploy-ethers'); require('hardhat-abi-exporter'); require("hardhat-gas-reporter"); require('hardhat-log-remover'); -require("hardhat-tracer"); require('hardhat-deploy'); +require("hardhat-tracer"); +require("@matterlabs/hardhat-zksync-deploy"); +require("@matterlabs/hardhat-zksync-solc"); +require("@matterlabs/hardhat-zksync-toolbox"); +require("@matterlabs/hardhat-zksync-verify"); + // Tasks require('./src/tasks/update-hop-tokens') @@ -23,11 +28,15 @@ const ARBITRUM_RPC = getEnvValSafe('ARBITRUM_RPC') const OPTIMISM_RPC = getEnvValSafe('OPTIMISM_RPC') const AURORA_RPC = getEnvValSafe('AURORA_RPC') const DOGECHAIN_RPC = getEnvValSafe('DOGECHAIN_RPC') +const ZKSYNC_RPC = getEnvValSafe('ZKSYNC_RPC') +const ZKSYNC_VERIFY_URL = getEnvValSafe('ZKSYNC_VERIFY_URL') +const ETHEREUM_MAINNET_RPC = getEnvValSafe('ETHEREUM_MAINNET_RPC') const AVALANCHE_PK_DEPLOYER = getEnvValSafe('AVALANCHE_PK_DEPLOYER') const ARBITRUM_PK_DEPLOYER = getEnvValSafe('ARBITRUM_PK_DEPLOYER') const OPTIMISM_PK_DEPLOYER = getEnvValSafe('OPTIMISM_PK_DEPLOYER') const AURORA_PK_DEPLOYER = getEnvValSafe('AURORA_PK_DEPLOYER') const DOGECHAIN_PK_DEPLOYER = getEnvValSafe('DOGECHAIN_PK_DEPLOYER') +const ZKSYNC_PK_DEPLOYER = getEnvValSafe("ZKSYNC_PK_DEPLOYER") const ETHERSCAN_API_KEY = getEnvValSafe('ETHERSCAN_API_KEY', false) function getEnvValSafe(key, required=true) { @@ -52,6 +61,11 @@ module.exports = { } } }, + zksolc: { + version: "1.3.8", + compilerSource: "binary", + settings: {}, + }, namedAccounts: { deployer: { default: 0, @@ -63,6 +77,7 @@ module.exports = { defaultNetwork: 'hardhat', networks: { hardhat: { + zksync: false, chainId: 43114, forking: { url: AVALANCHE_RPC, @@ -74,36 +89,50 @@ module.exports = { } }, avalanche: { + zksync: false, chainId: 43114, gasPrice: 225000000000, url: AVALANCHE_RPC, accounts: [ AVALANCHE_PK_DEPLOYER ] }, fuji: { + zksync: false, chainId: 43113, url: FUJI_RPC, accounts: [ AVALANCHE_PK_DEPLOYER ], }, arbitrum: { + zksync: false, chainId: 42161, url: ARBITRUM_RPC, accounts: [ ARBITRUM_PK_DEPLOYER ], }, optimism: { + zksync: false, chainId: 10, url: OPTIMISM_RPC, accounts: [ OPTIMISM_PK_DEPLOYER ], }, aurora: { + zksync: false, chainId: 1313161554, url: AURORA_RPC, accounts: [ AURORA_PK_DEPLOYER ], }, dogechain: { + zksync: false, chainId: 2000, url: DOGECHAIN_RPC, accounts: [ DOGECHAIN_PK_DEPLOYER ], }, + zksync: { + zksync: true, + chainId: 324, + url: ZKSYNC_RPC, + ethNetwork: ETHEREUM_MAINNET_RPC, + accounts: [ ZKSYNC_PK_DEPLOYER ], + verifyURL: ZKSYNC_VERIFY_URL, + } }, paths: { deployments: './src/deployments', diff --git a/package.json b/package.json index 59816b8c..97306649 100755 --- a/package.json +++ b/package.json @@ -21,26 +21,33 @@ "author": "", "license": "ISC", "devDependencies": { - "@nomiclabs/hardhat-ethers": "^2.0.2", + "@matterlabs/hardhat-zksync-chai-matchers": "^0.1.2", + "@matterlabs/hardhat-zksync-deploy": "^0.6.3", + "@matterlabs/hardhat-zksync-solc": "^0.3.16", + "@matterlabs/hardhat-zksync-toolbox": "^0.1.1", + "@matterlabs/hardhat-zksync-verify": "^0.1.5", + "@nomicfoundation/hardhat-chai-matchers": "^1.0.6", + "@nomiclabs/hardhat-ethers": "^2.2.3", "@nomiclabs/hardhat-waffle": "^2.0.1", "@openzeppelin/contracts": "^4.7.3", "chai": "^4.3.4", "ethereum-waffle": "^3.3.0", "ethereumjs-util": "^7.0.10", - "ethers": "^5.1.3", - "hardhat": "^2.12.7", + "ethers": "~5.7.2", + "hardhat": "^2.14.0", "hardhat-abi-exporter": "^2.2.1", "hardhat-contract-sizer": "^2.0.3", - "hardhat-deploy": "^0.7.10", + "hardhat-deploy": "^0.11.26", "hardhat-deploy-ethers": "0.3.0-beta.13", "hardhat-gas-reporter": "^1.0.4", "hardhat-log-remover": "^2.0.2", - "husky": "^8.0.1" + "husky": "^8.0.1", + "zksync-web3": "^0.14.3" }, "dependencies": { - "@nomiclabs/hardhat-etherscan": "^2.1.8", + "@nomiclabs/hardhat-etherscan": "^3.1.7", "dotenv": "^8.2.0", - "hardhat-tracer": "^1.0.0-alpha.5", + "hardhat-tracer": "^2.2.2", "minimist": "^1.2.6", "prettier": "^2.7.1", "prettier-plugin-solidity": "^1.0.0-beta.24", diff --git a/src/contracts/YakAdapter.sol b/src/contracts/YakAdapter.sol index d80cf564..9449db10 100755 --- a/src/contracts/YakAdapter.sol +++ b/src/contracts/YakAdapter.sol @@ -61,7 +61,8 @@ abstract contract YakAdapter is Maintainable { function recoverAVAX(uint256 _amount) external onlyMaintainer { require(_amount > 0, "YakAdapter: Nothing to recover"); - payable(msg.sender).transfer(_amount); + (bool success, )= msg.sender.call{value: _amount}(""); + require(success, "Transfer failed."); emit Recovered(address(0), _amount); } diff --git a/src/contracts/YakRouter.sol b/src/contracts/YakRouter.sol index e56250a5..e0bff77e 100755 --- a/src/contracts/YakRouter.sol +++ b/src/contracts/YakRouter.sol @@ -124,7 +124,8 @@ contract YakRouter is Maintainable, Recoverable, IYakRouter { ) internal { if (address(this) != _to) { if (_token == NATIVE) { - payable(_to).transfer(_amount); + (bool success, )= _to.call{value: _amount}(""); + require(success, "Transfer failed."); } else { IERC20(_token).safeTransfer(_to, _amount); } diff --git a/src/contracts/adapters/SyncSwapAdapter.sol b/src/contracts/adapters/SyncSwapAdapter.sol new file mode 100644 index 00000000..d5822238 --- /dev/null +++ b/src/contracts/adapters/SyncSwapAdapter.sol @@ -0,0 +1,105 @@ +// ╟╗ ╔╬ +// ╞╬╬ ╬╠╬ +// ╔╣╬╬╬ ╠╠╠╠╦ +// ╬╬╬╬╬╩ ╘╠╠╠╠╬ +// ║╬╬╬╬╬ ╘╠╠╠╠╬ +// ╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╒╬╬╬╬╬╬╬╜ ╠╠╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╬╬╬╬╬╬╬╬╠╠╠╠╠╠╠╠ +// ╙╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╕ ╬╬╬╬╬╬╬╜ ╣╠╠╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╬╬╬╬╬╬╬╬╬╠╠╠╠╠╠╠╩ +// ╙╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╔╬╬╬╬╬╬╬ ╔╠╠╠╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╣╬╬╬╬╬╬╬╬╬╬╬╠╠╠╠╝╙ +// ╘╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╒╠╠╠╬╠╬╩╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╣╬╬╬╬╬╬╬╙ +// ╣╬╬╬╬╬╬╬╬╬╬╠╣ ╣╬╠╠╠╬╩ ╚╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬ +// ╣╬╬╬╬╬╬╬╬╬╣ ╣╬╠╠╠╬╬ ╣╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬ +// ╟╬╬╬╬╬╬╬╩ ╬╬╠╠╠╠╬╬╬╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╠╬╬╬╬╬╬╬ +// ╬╬╬╬╬╬╬ ╒╬╬╠╠╬╠╠╬╬╬╬╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╣╬╬╬╬╬╬╬ +// ╬╬╬╬╬╬╬ ╬╬╬╠╠╠╠╝╝╝╝╝╝╝╠╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╚╬╬╬╬╬╬╬╬ +// ╬╬╬╬╬╬╬ ╣╬╬╬╬╠╠╩ ╘╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╙╬╬╬╬╬╬╬╬ +// + +// SPDX-License-Identifier: GPL-3.0-only +pragma solidity ^0.8.0; + +import "../interface/IERC20.sol"; +import "../lib/SafeERC20.sol"; +import "../YakAdapter.sol"; + +interface IFactory { + function getPool(address, address) external view returns (address); +} + +interface IPair { + function getAmountOut(address, uint, address) external view returns (uint256); + + function swap( + bytes calldata data, + address sender, + address callback, + bytes calldata callbackData + ) external returns (address token, uint amount); +} + +interface IVault { + function deposit(address token, address to) external returns (uint amount); +} + +contract SyncSwapAdapter is YakAdapter { + using SafeERC20 for IERC20; + + uint8 constant WITHDRAW_MODE = 2; // receive WETH + + address immutable FACTORY; + address immutable STABLE_FACTORY; + address immutable VAULT; + + constructor( + string memory _name, + address _factory, + address _stableFactory, + address _vault, + uint256 _swapGasEstimate + ) YakAdapter(_name, _swapGasEstimate) { + FACTORY = _factory; + STABLE_FACTORY = _stableFactory; + VAULT = _vault; + } + + function _getQuoteAndPair( + uint256 _amountIn, + address _tokenIn, + address _tokenOut + ) internal view returns (uint256 amountOut, address pair) { + pair = IFactory(FACTORY).getPool(_tokenIn, _tokenOut); + if (pair > address(0)) amountOut = IPair(pair).getAmountOut(_tokenIn, _amountIn, address(this)); + + address stablePair = IFactory(STABLE_FACTORY).getPool(_tokenIn, _tokenOut); + if (stablePair > address(0)) { + uint256 amountOutStable = IPair(stablePair).getAmountOut(_tokenIn, _amountIn, address(this)); + if (amountOutStable > amountOut) { + amountOut = amountOutStable; + pair = stablePair; + } + } + } + + function _query( + uint256 _amountIn, + address _tokenIn, + address _tokenOut + ) internal view override returns (uint256 amountOut) { + if (_tokenIn != _tokenOut && _amountIn != 0) (amountOut, ) = _getQuoteAndPair(_amountIn, _tokenIn, _tokenOut); + } + + function _swap( + uint256 _amountIn, + uint256 _amountOut, + address _tokenIn, + address _tokenOut, + address _to + ) internal override { + (uint256 amountOut, address pair) = _getQuoteAndPair(_amountIn, _tokenIn, _tokenOut); + require(amountOut >= _amountOut, "Insufficent amount out"); + IERC20(_tokenIn).safeTransfer(VAULT, _amountIn); + IVault(VAULT).deposit(_tokenIn, pair); + bytes memory data = abi.encode(_tokenIn, _to, WITHDRAW_MODE); + IPair(pair).swap(data, address(this), address(0), ""); + } +} diff --git a/src/contracts/adapters/VelocoreAdapter.sol b/src/contracts/adapters/VelocoreAdapter.sol new file mode 100644 index 00000000..2fc908fd --- /dev/null +++ b/src/contracts/adapters/VelocoreAdapter.sol @@ -0,0 +1,96 @@ +// ╟╗ ╔╬ +// ╞╬╬ ╬╠╬ +// ╔╣╬╬╬ ╠╠╠╠╦ +// ╬╬╬╬╬╩ ╘╠╠╠╠╬ +// ║╬╬╬╬╬ ╘╠╠╠╠╬ +// ╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╒╬╬╬╬╬╬╬╜ ╠╠╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╬╬╬╬╬╬╬╬╠╠╠╠╠╠╠╠ +// ╙╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╕ ╬╬╬╬╬╬╬╜ ╣╠╠╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╬╬╬╬╬╬╬╬╬╠╠╠╠╠╠╠╩ +// ╙╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╔╬╬╬╬╬╬╬ ╔╠╠╠╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╣╬╬╬╬╬╬╬╬╬╬╬╠╠╠╠╝╙ +// ╘╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╒╠╠╠╬╠╬╩╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╣╬╬╬╬╬╬╬╙ +// ╣╬╬╬╬╬╬╬╬╬╬╠╣ ╣╬╠╠╠╬╩ ╚╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬ +// ╣╬╬╬╬╬╬╬╬╬╣ ╣╬╠╠╠╬╬ ╣╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬ +// ╟╬╬╬╬╬╬╬╩ ╬╬╠╠╠╠╬╬╬╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╠╬╬╬╬╬╬╬ +// ╬╬╬╬╬╬╬ ╒╬╬╠╠╬╠╠╬╬╬╬╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╣╬╬╬╬╬╬╬ +// ╬╬╬╬╬╬╬ ╬╬╬╠╠╠╠╝╝╝╝╝╝╝╠╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╚╬╬╬╬╬╬╬╬ +// ╬╬╬╬╬╬╬ ╣╬╬╬╬╠╠╩ ╘╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╙╬╬╬╬╬╬╬╬ +// + +// SPDX-License-Identifier: GPL-3.0-only +pragma solidity ^0.8.0; + +import "../interface/IERC20.sol"; +import "../lib/SafeERC20.sol"; +import "../YakAdapter.sol"; + +interface IFactory { + function getPair(address,address,bool) external view returns (address); +} + +interface IPair { + function getAmountOut(uint256, address) external view returns (uint256); + function swap( + uint256 amount0Out, + uint256 amount1Out, + address to, + bytes calldata data + ) external; +} + +contract VelocoreAdapter is YakAdapter { + using SafeERC20 for IERC20; + + address immutable FACTORY; + + constructor( + string memory _name, + address _factory, + uint256 _swapGasEstimate + ) YakAdapter(_name, _swapGasEstimate) { + FACTORY = _factory; + } + + function getQuoteAndPair( + uint256 _amountIn, + address _tokenIn, + address _tokenOut + ) internal view returns (uint256 amountOut, address pair) { + address stablePair = IFactory(FACTORY).getPair(_tokenIn, _tokenOut, true); + uint amountOutStable; + if (stablePair > address(0)) + amountOutStable = IPair(stablePair).getAmountOut(_amountIn, _tokenIn); + + pair = IFactory(FACTORY).getPair(_tokenIn, _tokenOut, false); + if (pair > address(0)) + amountOut = IPair(pair).getAmountOut(_amountIn, _tokenIn); + + if (amountOutStable > amountOut) { + amountOut = amountOutStable; + pair = stablePair; + } + } + + function _query( + uint256 _amountIn, + address _tokenIn, + address _tokenOut + ) internal view override returns (uint256 amountOut) { + if (_tokenIn != _tokenOut && _amountIn != 0) + (amountOut, ) = getQuoteAndPair(_amountIn, _tokenIn, _tokenOut); + } + + function _swap( + uint256 _amountIn, + uint256 _amountOut, + address _tokenIn, + address _tokenOut, + address to + ) internal override { + (uint256 amountOut, address pair) = getQuoteAndPair(_amountIn, _tokenIn, _tokenOut); + require(amountOut >= _amountOut, "Insufficent amount out"); + (uint256 amount0Out, uint256 amount1Out) = (_tokenIn < _tokenOut) + ? (uint256(0), amountOut) + : (amountOut, uint256(0)); + IERC20(_tokenIn).safeTransfer(pair, _amountIn); + IPair(pair).swap(amount0Out, amount1Out, to, new bytes(0)); + } +} diff --git a/src/contracts/adapters/WNativeAdapter.sol b/src/contracts/adapters/WNativeAdapter.sol index 2320c0ef..742bd0ae 100644 --- a/src/contracts/adapters/WNativeAdapter.sol +++ b/src/contracts/adapters/WNativeAdapter.sol @@ -27,7 +27,7 @@ contract WNativeAdapter is YakAdapter { constructor( address _wNative, uint256 _swapGasEstimate - ) YakAdapter("WAvaxAdapter", _swapGasEstimate) { + ) YakAdapter("WNativeAdapter", _swapGasEstimate) { WNATIVE = _wNative; setSwapGasEstimate(_swapGasEstimate); } diff --git a/src/contracts/lib/Recoverable.sol b/src/contracts/lib/Recoverable.sol index cee649dc..369692ba 100644 --- a/src/contracts/lib/Recoverable.sol +++ b/src/contracts/lib/Recoverable.sol @@ -30,7 +30,8 @@ abstract contract Recoverable is Maintainable { */ function recoverNative(uint _amount) external onlyMaintainer { require(_amount > 0, "Nothing to recover"); - payable(msg.sender).transfer(_amount); + (bool success, )= msg.sender.call{value: _amount}(""); + require(success, "Transfer failed."); emit Recovered(address(0), _amount); } diff --git a/src/contracts/test/NTInjector.sol b/src/contracts/test/NTInjector.sol deleted file mode 100644 index 72ea53ff..00000000 --- a/src/contracts/test/NTInjector.sol +++ /dev/null @@ -1,9 +0,0 @@ -// SPDX-License-Identifier: MIT -pragma solidity ^0.8.0; - -// Inject native-token into contract without fallback function -contract NTInjector { - constructor(address payable _reciever) payable { - selfdestruct(_reciever); - } -} diff --git a/src/deploy/zksync/routers/adapters/mute/mute.js b/src/deploy/zksync/routers/adapters/mute/mute.js new file mode 100644 index 00000000..84960304 --- /dev/null +++ b/src/deploy/zksync/routers/adapters/mute/mute.js @@ -0,0 +1,12 @@ +const { deployAdapter, addresses } = require('../../../../utils') +const { factory } = addresses.zksync.mute + +const networkName = 'zksync' +const tags = [ 'mute' ] +const name = 'MuteAdapter' +const contractName = 'VelocoreAdapter' + +const gasEstimate = 280_000 +const args = [ name, factory, gasEstimate ] + +module.exports = deployAdapter(networkName, tags, name, contractName, args) \ No newline at end of file diff --git a/src/deploy/zksync/routers/adapters/space/space.js b/src/deploy/zksync/routers/adapters/space/space.js new file mode 100755 index 00000000..5ee4e6c7 --- /dev/null +++ b/src/deploy/zksync/routers/adapters/space/space.js @@ -0,0 +1,9 @@ +const { deployUniV2Contract, addresses } = require("../../../../utils"); +const { space: factory } = addresses.zksync.univ2Factories; + +const networkName = "zksync"; +const name = "SpaceAdapter"; +const tags = ["space"]; +const fee = 3; + +module.exports = deployUniV2Contract(networkName, tags, name, factory, fee); diff --git a/src/deploy/zksync/routers/adapters/syncswap/syncswap.js b/src/deploy/zksync/routers/adapters/syncswap/syncswap.js new file mode 100644 index 00000000..f22342ba --- /dev/null +++ b/src/deploy/zksync/routers/adapters/syncswap/syncswap.js @@ -0,0 +1,12 @@ +const { deployAdapter, addresses } = require('../../../../utils') +const { factory, stableFactory, vault } = addresses.zksync.syncSwap + +const networkName = 'zksync' +const tags = [ 'syncswap' ] +const name = 'SyncSwapAdapter' +const contractName = 'SyncSwapAdapter' + +const gasEstimate = 280_000 +const args = [ name, factory, stableFactory, vault, gasEstimate ] + +module.exports = deployAdapter(networkName, tags, name, contractName, args) \ No newline at end of file diff --git a/src/deploy/zksync/routers/adapters/velocore/velocore.js b/src/deploy/zksync/routers/adapters/velocore/velocore.js new file mode 100644 index 00000000..e10bc691 --- /dev/null +++ b/src/deploy/zksync/routers/adapters/velocore/velocore.js @@ -0,0 +1,12 @@ +const { deployAdapter, addresses } = require('../../../../utils') +const { factory } = addresses.zksync.velocore + +const networkName = 'zksync' +const tags = [ 'velocore' ] +const name = 'VelocoreAdapter' +const contractName = 'VelocoreAdapter' + +const gasEstimate = 280_000 +const args = [ name, factory, gasEstimate ] + +module.exports = deployAdapter(networkName, tags, name, contractName, args) \ No newline at end of file diff --git a/src/deploy/zksync/routers/adapters/weth.js b/src/deploy/zksync/routers/adapters/weth.js new file mode 100755 index 00000000..113b5bd7 --- /dev/null +++ b/src/deploy/zksync/routers/adapters/weth.js @@ -0,0 +1,13 @@ +const { deployAdapter, addresses } = require("../../../utils"); +const { WETH } = addresses.zksync.assets; + +const networkName = "zksync"; +const tags = ["weth"]; +const name = "WETHAdapter"; +const contractName = "WNativeAdapter"; + +const gasEstimate = 80_000; +const wnative = WETH; +const args = [wnative, gasEstimate]; + +module.exports = deployAdapter(networkName, tags, name, contractName, args); diff --git a/src/deploy/zksync/routers/yakrouter.js b/src/deploy/zksync/routers/yakrouter.js new file mode 100755 index 00000000..7ba5bca3 --- /dev/null +++ b/src/deploy/zksync/routers/yakrouter.js @@ -0,0 +1,4 @@ +const { deployRouter } = require("../../utils"); + +const networkName = "zksync"; +module.exports = deployRouter(networkName); diff --git a/src/deployments/zksync/.chainId b/src/deployments/zksync/.chainId new file mode 100644 index 00000000..5f1a9f39 --- /dev/null +++ b/src/deployments/zksync/.chainId @@ -0,0 +1 @@ +324 \ No newline at end of file diff --git a/src/deployments/zksync/MuteAdapter.json b/src/deployments/zksync/MuteAdapter.json new file mode 100644 index 00000000..921b888e --- /dev/null +++ b/src/deployments/zksync/MuteAdapter.json @@ -0,0 +1,759 @@ +{ + "address": "0x96A67C93EDB849E8341538742627758097685584", + "abi": [ + { + "inputs": [ + { + "internalType": "string", + "name": "_name", + "type": "string" + }, + { + "internalType": "address", + "name": "_factory", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_swapGasEstimate", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "Recovered", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "previousAdminRole", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "newAdminRole", + "type": "bytes32" + } + ], + "name": "RoleAdminChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "RoleGranted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "RoleRevoked", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_adapter", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_newEstimate", + "type": "uint256" + } + ], + "name": "UpdatedGasEstimate", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_tokenFrom", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "_tokenTo", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_amountIn", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_amountOut", + "type": "uint256" + } + ], + "name": "YakAdapterSwap", + "type": "event" + }, + { + "inputs": [], + "name": "DEFAULT_ADMIN_ROLE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "MAINTAINER_ROLE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "addedMaintainer", + "type": "address" + } + ], + "name": "addMaintainer", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + } + ], + "name": "getRoleAdmin", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "grantRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "hasRole", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_amountIn", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_tokenIn", + "type": "address" + }, + { + "internalType": "address", + "name": "_tokenOut", + "type": "address" + } + ], + "name": "query", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "recoverAVAX", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_tokenAddress", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_tokenAmount", + "type": "uint256" + } + ], + "name": "recoverERC20", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "removedMaintainer", + "type": "address" + } + ], + "name": "removeMaintainer", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "renounceRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + } + ], + "name": "renounceRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_token", + "type": "address" + }, + { + "internalType": "address", + "name": "_spender", + "type": "address" + } + ], + "name": "revokeAllowance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "revokeRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_estimate", + "type": "uint256" + } + ], + "name": "setSwapGasEstimate", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_amountIn", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_amountOut", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_fromToken", + "type": "address" + }, + { + "internalType": "address", + "name": "_toToken", + "type": "address" + }, + { + "internalType": "address", + "name": "_to", + "type": "address" + } + ], + "name": "swap", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "swapGasEstimate", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "stateMutability": "payable", + "type": "receive" + } + ], + "transactionHash": "0x7365403957fb611f050aae70d0895466fe8910287f4164197ae0b4205f729160", + "receipt": { + "to": "0x0000000000000000000000000000000000008006", + "from": "0x1A267D3f9f5116dF6ae00A4aD698CdcF27b71920", + "contractAddress": "0x96A67C93EDB849E8341538742627758097685584", + "transactionIndex": 1, + "gasUsed": "3101340", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0x2eea7394dd168b744b540a3bcb373f5761d3e4a62667547d4f9a03f44e9cfead", + "transactionHash": "0x7365403957fb611f050aae70d0895466fe8910287f4164197ae0b4205f729160", + "logs": [ + { + "transactionIndex": 1, + "blockNumber": 2162121, + "transactionHash": "0x7365403957fb611f050aae70d0895466fe8910287f4164197ae0b4205f729160", + "address": "0x000000000000000000000000000000000000800A", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000001a267d3f9f5116df6ae00a4ad698cdcf27b71920", + "0x0000000000000000000000000000000000000000000000000000000000008001" + ], + "data": "0x000000000000000000000000000000000000000000000000000526a10b04b000", + "logIndex": 3, + "blockHash": "0x2eea7394dd168b744b540a3bcb373f5761d3e4a62667547d4f9a03f44e9cfead" + }, + { + "transactionIndex": 1, + "blockNumber": 2162121, + "transactionHash": "0x7365403957fb611f050aae70d0895466fe8910287f4164197ae0b4205f729160", + "address": "0x96A67C93EDB849E8341538742627758097685584", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000001a267d3f9f5116df6ae00a4ad698cdcf27b71920", + "0x0000000000000000000000001a267d3f9f5116df6ae00a4ad698cdcf27b71920" + ], + "data": "0x", + "logIndex": 4, + "blockHash": "0x2eea7394dd168b744b540a3bcb373f5761d3e4a62667547d4f9a03f44e9cfead" + }, + { + "transactionIndex": 1, + "blockNumber": 2162121, + "transactionHash": "0x7365403957fb611f050aae70d0895466fe8910287f4164197ae0b4205f729160", + "address": "0x96A67C93EDB849E8341538742627758097685584", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0x339759585899103d2ace64958e37e18ccb0504652c81d4a1b8aa80fe2126ab95", + "0x0000000000000000000000001a267d3f9f5116df6ae00a4ad698cdcf27b71920", + "0x0000000000000000000000001a267d3f9f5116df6ae00a4ad698cdcf27b71920" + ], + "data": "0x", + "logIndex": 5, + "blockHash": "0x2eea7394dd168b744b540a3bcb373f5761d3e4a62667547d4f9a03f44e9cfead" + }, + { + "transactionIndex": 1, + "blockNumber": 2162121, + "transactionHash": "0x7365403957fb611f050aae70d0895466fe8910287f4164197ae0b4205f729160", + "address": "0x96A67C93EDB849E8341538742627758097685584", + "topics": [ + "0xf43f23b7a28e6f8ce6843a21bd7b48bce778aa913b8c8cf459edf7d770e8d38a", + "0x00000000000000000000000096a67c93edb849e8341538742627758097685584" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000445c0", + "logIndex": 6, + "blockHash": "0x2eea7394dd168b744b540a3bcb373f5761d3e4a62667547d4f9a03f44e9cfead" + }, + { + "transactionIndex": 1, + "blockNumber": 2162121, + "transactionHash": "0x7365403957fb611f050aae70d0895466fe8910287f4164197ae0b4205f729160", + "address": "0x0000000000000000000000000000000000008006", + "topics": [ + "0x290afdae231a3fc0bbae8b1af63698b0a1d79b21ad17df0342dfb952fe74f8e5", + "0x0000000000000000000000001a267d3f9f5116df6ae00a4ad698cdcf27b71920", + "0x010005edcc64d829a4aa1136a5de6730b0cad492ee05c52f67fc698c88eeb26a", + "0x00000000000000000000000096a67c93edb849e8341538742627758097685584" + ], + "data": "0x", + "logIndex": 7, + "blockHash": "0x2eea7394dd168b744b540a3bcb373f5761d3e4a62667547d4f9a03f44e9cfead" + }, + { + "transactionIndex": 1, + "blockNumber": 2162121, + "transactionHash": "0x7365403957fb611f050aae70d0895466fe8910287f4164197ae0b4205f729160", + "address": "0x000000000000000000000000000000000000800A", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000008001", + "0x0000000000000000000000001a267d3f9f5116df6ae00a4ad698cdcf27b71920" + ], + "data": "0x000000000000000000000000000000000000000000000000000265774bc2ea00", + "logIndex": 8, + "blockHash": "0x2eea7394dd168b744b540a3bcb373f5761d3e4a62667547d4f9a03f44e9cfead" + } + ], + "blockNumber": 2162121, + "cumulativeGasUsed": "0", + "status": 1, + "byzantium": true + }, + "args": [ + "MuteAdapter", + "0x40be1cBa6C5B47cDF9da7f963B6F761F4C60627D", + 280000 + ], + "numDeployments": 1, + "solcInputHash": "ba937bbd09cce40de1141f1bc2a91d0b", + "metadata": { + "optimizer_settings": "M3B3", + "solc_metadata": "{\"compiler\":{\"version\":\"0.8.4+commit.c7e474f2\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"_factory\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_swapGasEstimate\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Recovered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_adapter\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_newEstimate\",\"type\":\"uint256\"}],\"name\":\"UpdatedGasEstimate\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_tokenFrom\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_tokenTo\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amountIn\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amountOut\",\"type\":\"uint256\"}],\"name\":\"YakAdapterSwap\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MAINTAINER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"addedMaintainer\",\"type\":\"address\"}],\"name\":\"addMaintainer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amountIn\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_tokenIn\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_tokenOut\",\"type\":\"address\"}],\"name\":\"query\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"recoverAVAX\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_tokenAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenAmount\",\"type\":\"uint256\"}],\"name\":\"recoverERC20\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"removedMaintainer\",\"type\":\"address\"}],\"name\":\"removeMaintainer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_spender\",\"type\":\"address\"}],\"name\":\"revokeAllowance\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_estimate\",\"type\":\"uint256\"}],\"name\":\"setSwapGasEstimate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amountIn\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_amountOut\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_fromToken\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_toToken\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"}],\"name\":\"swap\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"swapGasEstimate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event.\"},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event.\"},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/contracts/adapters/VelocoreAdapter.sol\":\"VelocoreAdapter\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[],\"viaIR\":true},\"sources\":{\"@openzeppelin/contracts/access/AccessControl.sol\":{\"keccak256\":\"0x5b35d8e68aeaccc685239bd9dd79b9ba01a0357930f8a3307ab85511733d9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba8eb2d22f9321bd4660f6617c181d9611ff30a9b089408b8c6e2216d6d5cdc5\",\"dweb:/ipfs/QmTSJvhjHfnUV1j4hsqDv8PmLvGBLRs9gHLjTUXrUJ5Y9q\"]},\"@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a\",\"dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0xaf159a8b1923ad2a26d516089bceca9bdeaeacd04be50983ea00ba63070f08a3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f2cf1c531122bc7ca96b8c8db6a60deae60441e5223065e792553d4849b5638\",\"dweb:/ipfs/QmPBdJmBBABMDCfyDjCbdxgiqRavgiSL88SYPGibgbPas9\"]},\"@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"src/contracts/YakAdapter.sol\":{\"keccak256\":\"0x377c666774047a318fa2f7c6f82eccbe64343e18d26df56abfa991e5ea88361a\",\"license\":\"GPL-3.0-only\",\"urls\":[\"bzz-raw://97ff18d18e5a0a7b1fd2a6d484abd2831911bd68889c9b7506d18800e3ac7ba1\",\"dweb:/ipfs/QmdbTGqS9f6ugkrXKDGhKXvTiGvi1QhjFmrWo9TcDtrvL7\"]},\"src/contracts/adapters/VelocoreAdapter.sol\":{\"keccak256\":\"0x5967f32f616e9889e12267d4ff6f15ccd1ca273dbc6bf8e2638cc53fa46086c4\",\"license\":\"GPL-3.0-only\",\"urls\":[\"bzz-raw://a7c1737c6de514bd5d9e0070927dc768d727f7028b9e48a311419a9a836dfd4c\",\"dweb:/ipfs/Qmdhvn4HMfdx4b2oaJAaecdnvLHgtmyhtcm13X4PAQXY13\"]},\"src/contracts/interface/IERC20.sol\":{\"keccak256\":\"0x7b2d64b5cf6350bd5590f96eaea048fcf0182b50fc22f1075adeed1a98325932\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a46d7b05a39141be8f75a706b5525bd1d42f18c3acb20f71abe68bcc5b9513c\",\"dweb:/ipfs/QmYHYnVyVYoNp69BDmDwn4USKn5jFExzSRhXfEeQonz6C5\"]},\"src/contracts/lib/Maintainable.sol\":{\"keccak256\":\"0xcf17b3f89386f661ee6230c9774bc88a119f2385111279497bbb443209ad6bb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e0018ced83e9f5a9d7e51eff74e5bb4cb4ab56ef8cfe008a1d1b4c5623478baf\",\"dweb:/ipfs/QmUeaoPLux58rffKpD3jWkp7fZB1YFV4sDYm2985tB8pAZ\"]},\"src/contracts/lib/SafeERC20.sol\":{\"keccak256\":\"0x2d77601f615804eb7471002f23f9a4593f86ac295e7353c2e7545f51d4f81728\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://587682afca9226a1b032c66bcc536d191dc7d1cc91fee950278bad70d46b4fa1\",\"dweb:/ipfs/QmPC5y2N2gLAkpJgHmgwHdDH6d3oNPLFVqWCqUhiKNZJip\"]}},\"version\":1}", + "zk_version": "1.3.8" + }, + "bytecode": "0x0004000000000002000100000000000200000000030100190000006003300270000005930430019700030000004103550002000000010355000005930030019d000100000000001f00000001012001900000002b0000c13d0000008001000039000000400010043f0000000001000031000000040210008c000000aa0000413d0000000201000367000000000101043b000000e0011002700000059a0210009c000000b40000213d000005a80210009c000000ca0000213d000005af0210009c0000010f0000a13d000005b00210009c000001820000613d000005b10210009c0000019f0000613d000005b20110009c0000024f0000c13d0000000001000416000000000110004c0000024f0000c13d0000000001000031164504280000040f164509b10000040f0000059301000041000000400200043d000005930320009c00000000010240190000004001100210000016460001042e000000a001000039000000400010043f0000000001000416000000000110004c0000024f0000c13d00000000040000310000001f02400039000000200100008a000000000512016f000000400300043d0000000002350019000000000552004b00000000050000190000000105004039000005940620009c000000ae0000213d0000000105500190000000ae0000c13d000000400020043f0000001f0240018f000000020500036700000005064002720000004b0000613d000000000700001900000005087002100000000009830019000000000885034f000000000808043b00000000008904350000000107700039000000000867004b000000430000413d000000000720004c0000005a0000613d0000000506600210000000000565034f00000000066300190000000302200210000000000706043300000000072701cf000000000727022f000000000505043b0000010002200089000000000525022f00000000022501cf000000000272019f00000000002604350000059502000041000000600540008c000000000500001900000000050240190000059506400197000000000760004c000000000200a019000005950660009c000000000205c019000000000220004c0000024f0000c13d0000000025030434000005940650009c0000024f0000213d000000000643001900000000043500190000001f054000390000059507000041000000000865004b0000000008000019000000000807801900000595055001970000059509600197000000000a95004b0000000007008019000000000595013f000005950550009c00000000050800190000000005076019000000000550004c0000024f0000c13d0000000005040433000005940750009c000000ae0000213d0000003f07500039000000000717016f000000400100043d0000000007710019000000000817004b00000000080000190000000108004039000005940970009c000000ae0000213d0000000108800190000000ae0000c13d000000400070043f000000000051043500000020075000390000000008470019000000000668004b0000024f0000213d000000000650004c0000009b0000613d000000000600001900000020066000390000000008160019000000000946001900000000090904330000000000980435000000000856004b000000900000413d000000000456004b0000009b0000a13d000000000417001900000000000404350000000002020433000005960420009c0000024f0000213d00000040033000390000000003030433164502510000040f000000800100043d0000014000000443000001600010044300000020010000390000010000100443000000010100003900000120001004430000059701000041000016460001042e000000000110004c0000024f0000c13d0000000001000019000016460001042e000005980100004100000000001004350000004101000039000000040010043f000005990100004100001647000104300000059b0210009c000000ed0000213d000005a20210009c000001340000a13d000005a30210009c000001ab0000613d000005a40210009c000001c00000613d000005a50110009c0000024f0000c13d0000000001000416000000000110004c0000024f0000c13d0000000001000031164504280000040f164514da0000040f0000059301000041000000400200043d000005930320009c00000000010240190000004001100210000016460001042e000005a90210009c000001530000a13d000005aa0210009c000001d90000613d000005ab0210009c000001e50000613d000005ac0110009c0000024f0000c13d0000000001000416000000000110004c0000024f0000c13d000000040100008a00000000011000310000059502000041000000200310008c000000000300001900000000030240190000059501100197000000000410004c000000000200a019000005950110009c00000000010300190000000001026019000000000110004c0000024f0000c13d00000004010000390000000201100367000000000101043b164510d90000040f0000059301000041000000400200043d000005930320009c00000000010240190000004001100210000016460001042e0000059c0210009c000001720000a13d0000059d0210009c000001f10000613d0000059e0210009c000001ff0000613d0000059f0110009c0000024f0000c13d0000000001000416000000000110004c0000024f0000c13d000000040100008a00000000011000310000059502000041000000000310004c000000000300001900000000030240190000059501100197000000000410004c000000000200a019000005950110009c00000000010300190000000001026019000000000110004c0000024f0000c13d000000400100043d000005b50200004100000000002104350000059302000041000005930310009c00000000010280190000004001100210000005b6011001c7000016460001042e000005b30210009c0000020b0000613d000005b40110009c0000024f0000c13d0000000001000416000000000110004c0000024f0000c13d000000040100008a00000000011000310000059502000041000000000310004c000000000300001900000000030240190000059501100197000000000410004c000000000200a019000005950110009c00000000010300190000000001026019000000000110004c0000024f0000c13d164515d60000040f0000000002010019000000400100043d000100000001001d164504a20000040f000000010400002900000000014100490000059302000041000005930310009c0000000001028019000005930340009c000000000204401900000040022002100000006001100210000000000121019f000016460001042e000005a60210009c0000021c0000613d000005a70110009c0000024f0000c13d0000000001000416000000000110004c0000024f0000c13d000000040100008a00000000011000310000059502000041000000200310008c000000000300001900000000030240190000059501100197000000000410004c000000000200a019000005950110009c00000000010300190000000001026019000000000110004c0000024f0000c13d00000004010000390000000201100367000000000101043b1645093f0000040f0000059301000041000000400200043d000005930320009c00000000010240190000004001100210000016460001042e000005ad0210009c000002280000613d000005ae0110009c0000024f0000c13d0000000001000416000000000110004c0000024f0000c13d000000040100008a00000000011000310000059502000041000000000310004c000000000300001900000000030240190000059501100197000000000410004c000000000200a019000005950110009c00000000010300190000000001026019000000000110004c0000024f0000c13d0000000101000039000000000101041a000000400200043d00000000001204350000059301000041000005930320009c00000000010240190000004001100210000005b6011001c7000016460001042e000005a00210009c000002430000613d000005a10110009c0000024f0000c13d0000000001000416000000000110004c0000024f0000c13d0000000001000031164504700000040f16450a230000040f0000059301000041000000400200043d000005930320009c00000000010240190000004001100210000016460001042e0000000001000416000000000110004c0000024f0000c13d000000040100008a00000000011000310000059502000041000000200310008c000000000300001900000000030240190000059501100197000000000410004c000000000200a019000005950110009c00000000010300190000000001026019000000000110004c0000024f0000c13d00000004010000390000000201100367000000000101043b164508310000040f000000400200043d00000000001204350000059301000041000005930320009c00000000010240190000004001100210000005b6011001c7000016460001042e0000000001000416000000000110004c0000024f0000c13d0000000001000031164504280000040f164513dd0000040f0000059301000041000000400200043d000005930320009c00000000010240190000004001100210000016460001042e0000000001000416000000000110004c0000024f0000c13d0000000001000031164504280000040f000100000002001d164510c90000040f0000000102000029164510b80000040f000000000101041a000000ff011001900000000001000019000000010100c039000000400200043d00000000001204350000059301000041000005930320009c00000000010240190000004001100210000005b6011001c7000016460001042e0000000001000416000000000110004c0000024f0000c13d000000040100008a00000000011000310000059502000041000000000310004c000000000300001900000000030240190000059501100197000000000410004c000000000200a019000005950110009c00000000010300190000000001026019000000000110004c0000024f0000c13d000000400100043d00000000000104350000059302000041000005930310009c00000000010280190000004001100210000005b6011001c7000016460001042e0000000001000416000000000110004c0000024f0000c13d0000000001000031164503e30000040f164507340000040f0000059301000041000000400200043d000005930320009c00000000010240190000004001100210000016460001042e0000000001000416000000000110004c0000024f0000c13d0000000001000031164503f80000040f1645113d0000040f0000059301000041000000400200043d000005930320009c00000000010240190000004001100210000016460001042e0000000001000416000000000110004c0000024f0000c13d0000000001000031164504550000040f164504cd0000040f000000400200043d00000000001204350000059301000041000005930320009c00000000010240190000004001100210000005b6011001c7000016460001042e0000000001000416000000000110004c0000024f0000c13d0000000001000031164503e30000040f16450f6c0000040f0000059301000041000000400200043d000005930320009c00000000010240190000004001100210000016460001042e0000000001000416000000000110004c0000024f0000c13d00000000010000311645043f0000040f000005b701100197000005b80210009c00000000020000190000000102006039000005b90110009c00000000010000190000000101006039000000000121019f000000010110018f000000800010043f000005ba01000041000016460001042e0000000001000416000000000110004c0000024f0000c13d0000000001000031164504110000040f164512160000040f0000059301000041000000400200043d000005930320009c00000000010240190000004001100210000016460001042e0000000001000416000000000110004c0000024f0000c13d000000040100008a00000000011000310000059502000041000000200310008c000000000300001900000000030240190000059501100197000000000410004c000000000200a019000005950110009c00000000010300190000000001026019000000000110004c0000024f0000c13d00000004010000390000000201100367000000000101043b164513190000040f0000059301000041000000400200043d000005930320009c00000000010240190000004001100210000016460001042e0000000001000416000000000110004c0000024f0000c13d0000000001000031164503e30000040f164508430000040f0000059301000041000000400200043d000005930320009c00000000010240190000004001100210000016460001042e000000000100001900001647000104300008000000000002000600000003001d000500000002001d000700000001001d0000000000000435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f00000001022001900000039c0000613d000000000101043b0000000002000411000400000002001d0000059602200197000800000002001d0000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f00000001022001900000039c0000613d000000000101043b000000000101041a000000ff01100190000002aa0000c13d0000000000000435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f00000001022001900000039c0000613d000000000101043b00000008020000290000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f00000001022001900000039c0000613d000000000101043b000000000201041a000001000300008a000000000232016f00000001022001bf000000000021041b000000400100043d00000593020000410000000003000414000005930430009c0000000003028019000005930410009c00000000010280190000004001100210000000c002300210000000000112019f000005bc011001c70000800d020000390000000403000039000005bd040000410000000005000019000000040600002900000000070600191645163b0000040f00000001012001900000039c0000613d000005b5010000410000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f00000001022001900000039c0000613d000000000101043b00000008020000290000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f00000001022001900000039c0000613d000000000101043b000000000101041a000000ff01100190000002fe0000c13d000005b5010000410000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f00000001022001900000039c0000613d000000000101043b00000008020000290000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f00000001022001900000039c0000613d000000000101043b000000000201041a000001000300008a000000000232016f00000001022001bf000000000021041b000000400100043d00000593020000410000000003000414000005930430009c0000000003028019000005930410009c00000000010280190000004001100210000000c002300210000000000112019f000005bc011001c70000800d020000390000000403000039000005bd04000041000005b505000041000000040600002900000000070600191645163b0000040f00000001012001900000039c0000613d00000007060000290000000058060434000000000180004c0000039e0000613d000005be0180009c000003b00000813d0000000207000039000000000107041a000000010210019000000001011002700000007f0310018f000000000401001900000000040360190000001f0140008c00000000010000190000000101002039000000010110018f000000000112004b000003b60000c13d000000000184019f000000200110008c00000000010000190000032a0000413d000100000004001d000200000005001d000300000008001d000400000007001d000000000070043500000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bf011001c70000801002000039164516400000040f00000001022001900000039c0000613d000000000101043b00000007060000290000000407000029000000030800002900000002050000290000000104000029000000200240008c0000033b0000413d0000001f028000390000000502200270000000200380008c000000000302001900000000030040190000001f02400039000000050220027000000000022100190000000003310019000000000423004b0000033b0000813d000000000003041b0000000103300039000000000423004b000003370000413d0000001f0280008c000003590000a13d000000200200008a000000000328017000000020020000390000034b0000613d0000002002000039000000000400001900000000056200190000000005050433000000000051041b000000200220003900000001011000390000002004400039000000000534004b000003430000413d000000000383004b000003560000813d0000000303800210000000f80330018f000000010400008a000000000334022f000000000343013f00000000026200190000000002020433000000000232016f000000000021041b00000001010000390000000102800210000003600000013d0000000301800210000000010200008a000000000112022f000000000121013f0000000002050433000000000212016f0000000101800210000000000112019f000000000017041b000005b5010000410000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f00000001022001900000039c0000613d000000000101043b00000008020000290000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f00000001022001900000039c0000613d000000000101043b000000000101041a000000ff01100190000003bc0000613d0000000602000029000000000120004c000003d10000613d0000000101000039000000000021041b000000400100043d000000000021043500000593020000410000000003000414000005930430009c0000000003028019000005930410009c00000000010280190000004001100210000000c002300210000000000112019f000005bf011001c70000800d020000390000000203000039000005c00400004100000000050004101645163b0000040f00000001012001900000039c0000613d0000000501000029000000800010043f000000000001042d00000000010000190000164700010430000000400100043d0000004402100039000005c7030000410000000000320435000000240210003900000014030000390000000000320435000005c20200004100000000002104350000000402100039000000200300003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c3011001c70000164700010430000005980100004100000000001004350000004101000039000000040010043f00000599010000410000164700010430000005980100004100000000001004350000002201000039000000040010043f00000599010000410000164700010430000000400100043d0000006402100039000005c40300004100000000003204350000004402100039000005c5030000410000000000320435000000240210003900000028030000390000000000320435000005c20200004100000000002104350000000402100039000000200300003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c6011001c70000164700010430000000400100043d0000004402100039000005c1030000410000000000320435000000240210003900000014030000390000000000320435000005c20200004100000000002104350000000402100039000000200300003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c3011001c70000164700010430000000040110008a00000595020000410000001f0310008c000000000300001900000000030220190000059501100197000000000410004c0000000002008019000005950110009c00000000010300190000000001026019000000000110004c000003f60000613d00000004010000390000000201100367000000000101043b000005960210009c000003f60000213d000000000001042d00000000010000190000164700010430000000040110008a00000595020000410000003f0310008c000000000300001900000000030220190000059501100197000000000410004c0000000002008019000005950110009c00000000010300190000000001026019000000000110004c0000040f0000613d00000002020003670000000401200370000000000101043b000005960310009c0000040f0000213d0000002402200370000000000202043b000005960320009c0000040f0000213d000000000001042d00000000010000190000164700010430000000040110008a00000595020000410000003f0310008c000000000300001900000000030220190000059501100197000000000410004c0000000002008019000005950110009c00000000010300190000000001026019000000000110004c000004260000613d00000002020003670000000401200370000000000101043b000005960310009c000004260000213d0000002402200370000000000202043b000000000001042d00000000010000190000164700010430000000040110008a00000595020000410000003f0310008c000000000300001900000000030220190000059501100197000000000410004c0000000002008019000005950110009c00000000010300190000000001026019000000000110004c0000043d0000613d00000002010003670000002402100370000000000202043b000005960320009c0000043d0000213d0000000401100370000000000101043b000000000001042d00000000010000190000164700010430000000040110008a00000595020000410000001f0310008c000000000300001900000000030220190000059501100197000000000410004c0000000002008019000005950110009c00000000010300190000000001026019000000000110004c000004530000613d00000004010000390000000201100367000000000101043b000005b702100197000000000221004b000004530000c13d000000000001042d00000000010000190000164700010430000000040110008a00000595020000410000005f0310008c000000000300001900000000030220190000059501100197000000000410004c0000000002008019000005950110009c00000000010300190000000001026019000000000110004c0000046e0000613d00000002030003670000000401300370000000000101043b0000002402300370000000000202043b000005960420009c0000046e0000213d0000004403300370000000000303043b000005960430009c0000046e0000213d000000000001042d00000000010000190000164700010430000000040110008a00000595020000410000009f0310008c000000000300001900000000030220190000059501100197000000000410004c0000000002008019000005950110009c00000000010300190000000001026019000000000110004c0000048f0000613d00000002050003670000002401500370000000000201043b0000000401500370000000000101043b0000004403500370000000000303043b000005960430009c0000048f0000213d0000006404500370000000000404043b000005960640009c0000048f0000213d0000008405500370000000000505043b000005960650009c0000048f0000213d000000000001042d0000000001000019000016470001043000000000030100190000000004030433000000000140004c0000000001240019000004a10000613d000000000500001900000000062500190000002005500039000000000735001900000000070704330000000000760435000000000645004b000004970000413d000000000245004b000004a10000a13d0000000000010435000000000001042d00000020030000390000000004310436000000000302043300000000003404350000004001100039000000000430004c000004b50000613d000000000400001900000000051400190000002004400039000000000624001900000000060604330000000000650435000000000534004b000004aa0000413d000000000234004b000004b50000a13d000000000213001900000000000204350000001f02300039000000200300008a000000000232016f0000000001120019000000000001042d0000001f02200039000000200300008a000000000232016f0000000001120019000000000221004b00000000020000190000000102004039000005940310009c000004c70000213d0000000102200190000004c70000c13d000000400010043f000000000001042d000005980100004100000000001004350000004101000039000000040010043f0000059901000041000016470001043000060000000000020000000005010019000000000123013f00000596011001980000000001000019000006af0000613d000000000450004c000006af0000613d000400000003001d000500000002001d000300000005001d000005c801000041000000000010043900000000010004120000000400100443000000240000044300000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005c9011001c70000800502000039164516400000040f0000000102200190000006b00000613d000000000101043b000005ca0200004100000000002004390000059601100197000600000001001d000000040010044300000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005cb011001c70000800202000039164516400000040f00000006050000290000000102200190000006b00000613d000000000101043b000000000110004c000006b00000613d000000400900043d000005cc0100004100000000001904350000004402900039000000000100041400000001030000390000000000320435000000040200002900000596032001970000002402900039000200000003001d0000000000320435000000050200002900000596032001970000000402900039000500000003001d0000000000320435000000040250008c000005100000c13d0000000103000031000005430000013d0000059302000041000005930310009c0000000001028019000005930390009c00000000020940190000004002200210000000c001100210000000000121019f000005c3011001c70000000002050019000400000009001d164516400000040f0000000409000029000000000301001900000060033002700000059303300197000000200430008c000000200500003900000000050340190000001f0450018f00000005055002720000052f0000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b000005270000413d000000000640004c0000053e0000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f000300000001035500000001022001900000000605000029000006b80000613d0000001f01300039000000200200008a000400000002001d000000000221016f0000000001920019000000000221004b00000000020000190000000102004039000005940310009c000006b20000213d0000000102200190000006b20000c13d000000400010043f00000595010000410000000102000031000000200320008c000000000300001900000000030140190000059502200197000000000420004c000000000100a019000005950220009c000000000103c019000000000110004c000006b00000c13d0000000004090433000005960140009c000006b00000213d000000000140004c0000000001000019000005cf0000613d000005ca010000410000000000100439000000040040044300000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005cb011001c70000800202000039000100000004001d164516400000040f000000010400002900000006050000290000000102200190000006b00000613d000000000101043b000000000110004c000006b00000613d000000400900043d000005cd0100004100000000001904350000002402900039000000000100041400000005030000290000000000320435000000040290003900000003030000290000000000320435000000040240008c000005830000c13d0000000103000031000005b60000013d0000059302000041000005930310009c0000000001028019000005930390009c00000000020940190000004002200210000000c001100210000000000121019f000005ce011001c70000000002040019000100000009001d164516400000040f0000000109000029000000000301001900000060033002700000059303300197000000200430008c000000200500003900000000050340190000001f0450018f0000000505500272000005a20000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b0000059a0000413d000000000640004c000005b10000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f000300000001035500000001022001900000000605000029000006f60000613d0000001f013000390000000402000029000000000221016f0000000001920019000000000221004b00000000020000190000000102004039000005940310009c000006b20000213d0000000102200190000006b20000c13d000000400010043f00000595010000410000000102000031000000200320008c000000000300001900000000030140190000059502200197000000000420004c000000000100a019000005950220009c000000000103c019000000000110004c000006b00000c13d0000000001090433000100000001001d000005ca010000410000000000100439000000040050044300000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005cb011001c70000800202000039164516400000040f00000006040000290000000102200190000006b00000613d000000000101043b000000000110004c000006b00000613d000000400900043d000005cc010000410000000000190435000000240290003900000000010004140000000203000029000000000032043500000004029000390000000503000029000000000032043500000044029000390000000000020435000000040240008c000005f10000c13d0000000103000031000006230000013d0000059302000041000005930310009c0000000001028019000005930390009c00000000020940190000004002200210000000c001100210000000000121019f000005c3011001c70000000002040019000600000009001d164516400000040f0000000609000029000000000301001900000060033002700000059303300197000000200430008c000000200500003900000000050340190000001f0450018f0000000505500272000006100000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b000006080000413d000000000640004c0000061f0000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f00030000000103550000000102200190000006d70000613d0000001f013000390000000402000029000000000221016f0000000001920019000000000221004b00000000020000190000000102004039000005940310009c000006b20000213d0000000102200190000006b20000c13d000000400010043f00000595010000410000000102000031000000200320008c000000000300001900000000030140190000059502200197000000000420004c000000000100a019000005950220009c000000000103c019000000000110004c000006b00000c13d0000000004090433000005960140009c000006b00000213d000000000140004c0000000001000019000006ac0000613d000005ca010000410000000000100439000000040040044300000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005cb011001c70000800202000039000600000004001d164516400000040f00000006040000290000000102200190000006b00000613d000000000101043b000000000110004c000006b00000613d000000400900043d000005cd0100004100000000001904350000002402900039000000000100041400000005030000290000000000320435000000040290003900000003030000290000000000320435000000040240008c000006610000c13d0000000103000031000006930000013d0000059302000041000005930310009c0000000001028019000005930390009c00000000020940190000004002200210000000c001100210000000000121019f000005ce011001c70000000002040019000600000009001d164516400000040f0000000609000029000000000301001900000060033002700000059303300197000000200430008c000000200500003900000000050340190000001f0450018f0000000505500272000006800000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b000006780000413d000000000640004c0000068f0000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f00030000000103550000000102200190000007150000613d0000001f013000390000000402000029000000000221016f0000000001920019000000000221004b00000000020000190000000102004039000005940310009c000006b20000213d0000000102200190000006b20000c13d000000400010043f00000595010000410000000102000031000000200320008c000000000300001900000000030140190000059502200197000000000420004c000000000100a019000005950220009c000000000103c019000000000110004c000006b00000c13d00000000010904330000000103000029000000000213004b0000000001032019000000000001042d00000000010000190000164700010430000005980100004100000000001004350000004101000039000000040010043f000005990100004100001647000104300000001f0430018f0000000502300272000006c30000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b000006bc0000413d000000000340004c000006d10000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000593010000410000000102000031000005930320009c0000000001024019000000600110021000001647000104300000001f0430018f0000000502300272000006e20000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b000006db0000413d000000000340004c000006f00000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000593010000410000000102000031000005930320009c0000000001024019000000600110021000001647000104300000001f0430018f0000000502300272000007010000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b000006fa0000413d000000000340004c0000070f0000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000593010000410000000102000031000005930320009c0000000001024019000000600110021000001647000104300000001f0430018f0000000502300272000007200000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b000007190000413d000000000340004c0000072e0000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000593010000410000000102000031000005930320009c0000000001024019000000600110021000001647000104300003000000000002000300000001001d000005b5010000410000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000007be0000613d000000000101043b0000000101100039000000000101041a000100000001001d0000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000007be0000613d000000000101043b0000000002000411000200000002001d00000596022001970000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000007be0000613d000000000101043b000000000101041a000000ff01100190000007c00000613d000005b5010000410000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000007be0000613d000000000101043b00000003020000290000059602200197000100000002001d0000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000007be0000613d000000000101043b000000000101041a000000ff01100190000007bd0000c13d000005b5010000410000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000007be0000613d000000000101043b00000001020000290000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000007be0000613d000000000101043b000000000201041a000001000300008a000000000232016f00000001022001bf000000000021041b000000400100043d00000593020000410000000003000414000005930430009c0000000003028019000005930410009c00000000010280190000004001100210000000c002300210000000000112019f000005bc011001c70000800d020000390000000403000039000005bd04000041000005b505000041000000030600002900000002070000291645163b0000040f0000000101200190000007be0000613d000000000001042d00000000010000190000164700010430000000400100043d0000000007010019000005cf0110009c000007ca0000413d000005980100004100000000001004350000004101000039000000040010043f0000059901000041000016470001043000000000020700190000006001200039000000400010043f0000002a01000039000000000112043600000000020000310000000202200367000000000300001900000005043002100000000005410019000000000442034f000000000404043b00000000004504350000000103300039000000020430008c000007d20000413d0000000002070433000000000220004c000007e40000613d0000000002010433000005d002200197000005d1022001c700000000002104350000000002070433000000020220008c000007ea0000813d000005980100004100000000001004350000003201000039000000040010043f0000059901000041000016470001043000000021027000390000000003020433000005d003300197000005d2033001c700000000003204350000002902000039000000020500002900000000030500190000000004070433000000000424004b000007e40000a13d0000000f0430018f0000000304400210000000f80440015f000005d305000041000000000445022f00000000051200190000000006050433000005d006600197000000f804400210000000000446019f00000000004504350000000405300270000000010220008a000000010420008c000007f10000213d000000100130008c00000000010000190000000101004039000200000007001d164516270000040f000000010100002916450f160000040f000000400400043d000300000004001d0000002002400039000005d4030000410000000000320435000100000001001d00000037024000390000000201000029164504910000040f000005d502000041000000000021043500000011021000390000000101000029164504910000040f00000003030000290000000002310049000000200120008a00000000001304350000000001030019164504ba0000040f000005c201000041000000400200043d000200000002001d000000000012043500000004012000390000000302000029164504a20000040f000000020400002900000000014100490000059302000041000005930310009c0000000001028019000005930340009c000000000204401900000040022002100000006001100210000000000121019f00001647000104300000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000008410000613d000000000101043b0000000101100039000000000101041a000000000001042d000000000100001900001647000104300003000000000002000300000001001d000005b5010000410000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000008cc0000613d000000000101043b0000000101100039000000000101041a000100000001001d0000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000008cc0000613d000000000101043b0000000002000411000200000002001d00000596022001970000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000008cc0000613d000000000101043b000000000101041a000000ff01100190000008ce0000613d000005b5010000410000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000008cc0000613d000000000101043b00000003020000290000059602200197000100000002001d0000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000008cc0000613d000000000101043b000000000101041a000000ff01100190000008cb0000613d000005b5010000410000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000008cc0000613d000000000101043b00000001020000290000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000008cc0000613d000000000101043b000000000201041a000001000300008a000000000232016f000000000021041b000000400100043d00000593020000410000000003000414000005930430009c0000000003028019000005930410009c00000000010280190000004001100210000000c002300210000000000112019f000005bc011001c70000800d020000390000000403000039000005d604000041000005b505000041000000030600002900000002070000291645163b0000040f0000000101200190000008cc0000613d000000000001042d00000000010000190000164700010430000000400100043d0000000007010019000005cf0110009c000008d80000413d000005980100004100000000001004350000004101000039000000040010043f0000059901000041000016470001043000000000020700190000006001200039000000400010043f0000002a01000039000000000112043600000000020000310000000202200367000000000300001900000005043002100000000005410019000000000442034f000000000404043b00000000004504350000000103300039000000020430008c000008e00000413d0000000002070433000000000220004c000008f20000613d0000000002010433000005d002200197000005d1022001c700000000002104350000000002070433000000020220008c000008f80000813d000005980100004100000000001004350000003201000039000000040010043f0000059901000041000016470001043000000021027000390000000003020433000005d003300197000005d2033001c700000000003204350000002902000039000000020500002900000000030500190000000004070433000000000424004b000008f20000a13d0000000f0430018f0000000304400210000000f80440015f000005d305000041000000000445022f00000000051200190000000006050433000005d006600197000000f804400210000000000446019f00000000004504350000000405300270000000010220008a000000010420008c000008ff0000213d000000100130008c00000000010000190000000101004039000200000007001d164516270000040f000000010100002916450f160000040f000000400400043d000300000004001d0000002002400039000005d4030000410000000000320435000100000001001d00000037024000390000000201000029164504910000040f000005d502000041000000000021043500000011021000390000000101000029164504910000040f00000003030000290000000002310049000000200120008a00000000001304350000000001030019164504ba0000040f000005c201000041000000400200043d000200000002001d000000000012043500000004012000390000000302000029164504a20000040f000000020400002900000000014100490000059302000041000005930310009c0000000001028019000005930340009c000000000204401900000040022002100000006001100210000000000121019f0000164700010430000300000000000200000000030004110000059602300197000300000002001d000100000003001d000005d70230009c0000099c0000813d000200000001001d0000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f00000001022001900000099a0000613d000000000101043b00000003020000290000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f00000001022001900000099a0000613d000000000101043b000000000101041a000000ff01100190000009990000613d00000002010000290000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f00000001022001900000099a0000613d000000000101043b00000003020000290000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f00000001022001900000099a0000613d000000000101043b000000000201041a000001000300008a000000000232016f000000000021041b000000400100043d00000593020000410000000003000414000005930430009c0000000003028019000005930410009c00000000010280190000004001100210000000c002300210000000000112019f000005bc011001c70000800d020000390000000403000039000005d6040000410000000205000029000000010600002900000003070000291645163b0000040f00000001012001900000099a0000613d000000000001042d00000000010000190000164700010430000000400100043d0000006402100039000005d80300004100000000003204350000004402100039000005d903000041000000000032043500000024021000390000002f030000390000000000320435000005c20200004100000000002104350000000402100039000000200300003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c6011001c700001647000104300003000000000002000100000002001d00000596022001970000000003000411000300000002001d000000000232004b00000a0e0000c13d000200000001001d0000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f000000010220019000000a0c0000613d000000000101043b00000003020000290000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f000000010220019000000a0c0000613d000000000101043b000000000101041a000000ff0110019000000a0b0000613d00000002010000290000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f000000010220019000000a0c0000613d000000000101043b00000003020000290000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f000000010220019000000a0c0000613d000000000101043b000000000201041a000001000300008a000000000232016f000000000021041b000000400100043d00000593020000410000000003000414000005930430009c0000000003028019000005930410009c00000000010280190000004001100210000000c002300210000000000112019f000005bc011001c70000800d020000390000000403000039000005d6040000410000000205000029000000010600002900000003070000291645163b0000040f000000010120019000000a0c0000613d000000000001042d00000000010000190000164700010430000000400100043d0000006402100039000005d80300004100000000003204350000004402100039000005d903000041000000000032043500000024021000390000002f030000390000000000320435000005c20200004100000000002104350000000402100039000000200300003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c6011001c70000164700010430000d000000000002000d00000005001d000700000003001d000600000002001d000900000001001d000005ca010000410000000000100439000300000004001d0000059601400197000c00000001001d000000040010044300000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005cb011001c70000800202000039164516400000040f000000010220019000000de90000613d000000000101043b000000000110004c00000de90000613d000000400900043d000005da0100004100000000001904350000000d01000029000005960310019700000004029000390000000001000414000500000003001d00000000003204350000000c02000029000000040320008c00000a490000c13d000000010300003100000a7b0000013d0000059304000041000005930310009c0000000001048019000005930390009c000000000304001900000000030940190000004003300210000000c001100210000000000131019f00000599011001c7000d00000009001d164516400000040f0000000d09000029000000000301001900000060033002700000059303300197000000200430008c000000200500003900000000050340190000001f0450018f000000050550027200000a680000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b00000a600000413d000000000640004c00000a770000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f0003000000010355000000010220019000000e3d0000613d0000001f01300039000000200200008a000d00000002001d000000000221016f0000000001920019000000000221004b00000000020000190000000102004039000005940310009c00000deb0000213d000000010220019000000deb0000c13d000000400010043f00000595010000410000000102000031000000200320008c000000000300001900000000030140190000059502200197000000000420004c000000000100a019000005950220009c000000000103c019000000000110004c00000de90000c13d0000000001090433000200000001001d000005c801000041000000000010043900000000010004120000000400100443000000240000044300000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005c9011001c70000800502000039164516400000040f000000010220019000000de90000613d000000000101043b000005ca0200004100000000002004390000059601100197000b00000001001d000000040010044300000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005cb011001c70000800202000039164516400000040f0000000b05000029000000010220019000000de90000613d000000000101043b000000000110004c00000de90000613d000000400900043d000005cc010000410000000000190435000000440290003900000000010004140000000103000039000000000032043500000024029000390000000c03000029000000000032043500000007020000290000059603200197000800000003001d00000004029000390000000000320435000000040250008c00000acc0000c13d000000010300003100000aff0000013d0000059302000041000005930310009c0000000001028019000005930390009c00000000020940190000004002200210000000c001100210000000000121019f000005c3011001c70000000002050019000a00000009001d164516400000040f0000000a09000029000000000301001900000060033002700000059303300197000000200430008c000000200500003900000000050340190000001f0450018f000000050550027200000aeb0000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b00000ae30000413d000000000640004c00000afa0000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f000300000001035500000001022001900000000b0500002900000e5c0000613d0000001f013000390000000d02000029000000000221016f0000000001920019000000000221004b00000000020000190000000102004039000005940310009c00000deb0000213d000000010220019000000deb0000c13d000000400010043f00000595010000410000000102000031000000200320008c000000000300001900000000030140190000059502200197000000000420004c000000000100a019000005950220009c000000000103c019000000000110004c00000de90000c13d0000000001090433000a00000001001d000005960110009c00000de90000213d0000000a01000029000000000110004c000000000100001900000b8c0000613d000005ca0100004100000000001004390000000a01000029000000040010044300000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005cb011001c70000800202000039164516400000040f0000000b050000290000000102200190000000080300002900000de90000613d000000000101043b000000000110004c00000de90000613d000000400900043d000005cd0100004100000000001904350000002402900039000000000100041400000000003204350000000402900039000000090300002900000000003204350000000a02000029000000040320008c00000b400000c13d000000010300003100000b730000013d0000059304000041000005930310009c0000000001048019000005930390009c000000000304001900000000030940190000004003300210000000c001100210000000000131019f000005ce011001c7000400000009001d164516400000040f0000000409000029000000000301001900000060033002700000059303300197000000200430008c000000200500003900000000050340190000001f0450018f000000050550027200000b5f0000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b00000b570000413d000000000640004c00000b6e0000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f000300000001035500000001022001900000000b0500002900000ed80000613d0000001f013000390000000d02000029000000000221016f0000000001920019000000000221004b00000000020000190000000102004039000005940310009c00000deb0000213d000000010220019000000deb0000c13d000000400010043f00000595010000410000000102000031000000200320008c000000000300001900000000030140190000059502200197000000000420004c000000000100a019000005950220009c000000000103c019000000000110004c00000de90000c13d0000000001090433000400000001001d000005ca010000410000000000100439000000040050044300000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005cb011001c70000800202000039164516400000040f0000000b040000290000000102200190000000080600002900000de90000613d000000000101043b000000000110004c00000de90000613d000000400900043d000005cc010000410000000000190435000000240290003900000000010004140000000c0300002900000000003204350000000402900039000000000062043500000044029000390000000000020435000000040240008c00000bae0000c13d000000010300003100000be10000013d0000059302000041000005930310009c0000000001028019000005930390009c00000000020940190000004002200210000000c001100210000000000121019f000005c3011001c70000000002040019000b00000009001d164516400000040f0000000b09000029000000000301001900000060033002700000059303300197000000200430008c000000200500003900000000050340190000001f0450018f000000050550027200000bcd0000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b00000bc50000413d000000000640004c00000bdc0000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f00030000000103550000000102200190000000080600002900000e7b0000613d0000001f013000390000000d02000029000000000221016f0000000001920019000000000221004b00000000020000190000000102004039000005940310009c00000deb0000213d000000010220019000000deb0000c13d000000400010043f00000595020000410000000103000031000000200430008c000000000400001900000000040240190000059503300197000000000530004c000000000200a019000005950330009c000000000204c019000000000220004c00000de90000c13d0000000007090433000005960270009c00000de90000213d000000000270004c000000000200001900000c6c0000613d000005ca010000410000000000100439000000040070044300000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005cb011001c70000800202000039000b00000007001d164516400000040f0000000b070000290000000806000029000000010220019000000de90000613d000000000101043b000000000110004c00000de90000613d000000400900043d000005cd010000410000000000190435000000240290003900000000010004140000000000620435000000040290003900000009030000290000000000320435000000040270008c00000c1f0000c13d000000010300003100000c530000013d0000059302000041000005930310009c0000000001028019000005930390009c00000000020940190000004002200210000000c001100210000000000121019f000005ce011001c70000000002070019000100000009001d164516400000040f0000000109000029000000000301001900000060033002700000059303300197000000200430008c000000200500003900000000050340190000001f0450018f000000050550027200000c3e0000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b00000c360000413d000000000640004c00000c4d0000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f0003000000010355000000010220019000000008060000290000000b0700002900000ef70000613d0000001f013000390000000d02000029000000000221016f0000000001920019000000000221004b00000000020000190000000102004039000005940310009c00000deb0000213d000000010220019000000deb0000c13d000000400010043f00000595020000410000000103000031000000200430008c000000000400001900000000040240190000059503300197000000000530004c000000000200a019000005950330009c000000000204c019000000000220004c00000de90000c13d00000000020904330000000404000029000000000324004b0000000a03000029000000000a070019000000000a032019000000000302001900000000030420190000000602000029000000000223004b0000004402100039000000240410003900000df10000413d000000090500002900000000005204350000002002100039000005db0500004100000000005204350000000000a404350000000c04000029000000000446004b00000000040000190000000004034019000400000004001d0000000003004019000a00000003001d00000044030000390000000000310435000005dc0310009c00000deb0000213d0000008003100039000000400030043f0000000003000414000000040460008c000b0000000a001d00000c920000c13d0000000103000031000000000200001900000ca80000013d0000059304000041000005930520009c000000000204801900000040022002100000000001010433000005930510009c00000000010480190000006001100210000000000121019f000005930230009c00000000020400190000000002034019000000c002200210000000000121019f00000000020600191645163b0000040f0000000b0a000029000000010220015f00030000000103550000006001100270000105930010019d00000593031001970000006001000039000000000430004c00000cd60000613d0000003f013000390000000d04000029000000000441016f000000400100043d0000000004410019000000000514004b00000000050000190000000105004039000005940640009c00000deb0000213d000000010550019000000deb0000c13d000000400040043f0000000003310436000000030400036700000001060000310000001f0560018f000000050660027200000cc70000613d000000000700001900000005087002100000000009830019000000000884034f000000000808043b00000000008904350000000107700039000000000867004b00000cbf0000413d000000000750004c00000cd60000613d0000000506600210000000000464034f00000000036300190000000305500210000000000603043300000000065601cf000000000656022f000000000404043b0000010005500089000000000454022f00000000045401cf000000000464019f0000000000430435000000010220019000000e000000c13d0000000012010434000000000320004c00000cef0000613d0000059503000041000000200420008c000000000400001900000000040340190000059502200197000000000520004c000000000300a019000005950220009c00000000020400190000000002036019000000000220004c00000de90000c13d0000000001010433000000000210004c0000000002000019000000010200c039000000000221004b00000de90000c13d000000000110004c00000e280000613d000000400200043d000005df0120009c00000deb0000213d0000002001200039000000400010043f000800000002001d0000000000020435000005ca0100004100000000001004390000000400a0044300000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005cb011001c70000800202000039164516400000040f0000000b07000029000000010220019000000de90000613d000000000101043b000000000110004c00000de90000613d000000400800043d000005e0010000410000000000180435000000640280003900000000010004140000008003000039000000000032043500000044028000390000000503000029000000000032043500000024028000390000000403000029000000000032043500000004028000390000000a0300002900000000003204350000000809000029000000000209043300000084038000390000000000230435000000000320004c00000d2a0000613d000000a403800039000000000400001900000000053400190000002004400039000000000694001900000000060604330000000000650435000000000524004b00000d1f0000413d000000000424004b00000d2a0000a13d00000000033200190000000000030435000000040370008c00000d2f0000c13d00000001040000310000000d0300002900000d4c0000013d0000001f022000390000000d03000029000000000232016f0000059303000041000005930480009c000000000403001900000000040840190000004004400210000000a402200039000005930520009c00000000020380190000006002200210000000000242019f000005930410009c0000000001038019000000c001100210000000000112019f0000000002070019000b00000008001d1645163b0000040f0000000b0800002900000000030100190000006003300270000105930030019d00000593043001970000000d030000290003000000010355000000010220019000000e9a0000613d0000001f01400039000000000231016f0000000001820019000000000221004b00000000020000190000000102004039000005940310009c00000deb0000213d000000010220019000000deb0000c13d000000400010043f00000595010000410000000102000031000000000320004c000000000300001900000000030140190000059502200197000000000420004c000000000100a019000005950220009c000000000103c019000000000110004c00000de90000c13d000005ca0100004100000000001004390000000c01000029000000040010044300000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005cb011001c70000800202000039164516400000040f000000010220019000000de90000613d000000000101043b000000000110004c00000de90000613d000000400900043d000005da01000041000000000019043500000004029000390000000001000414000000050300002900000000003204350000000c02000029000000040320008c00000d800000c13d000000010300003100000db20000013d0000059304000041000005930310009c0000000001048019000005930390009c000000000304001900000000030940190000004003300210000000c001100210000000000131019f00000599011001c7000c00000009001d164516400000040f0000000c09000029000000000301001900000060033002700000059303300197000000200430008c000000200500003900000000050340190000001f0450018f000000050550027200000d9f0000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b00000d970000413d000000000640004c00000dae0000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f0003000000010355000000010220019000000eb90000613d0000001f013000390000000d02000029000000000221016f0000000001920019000000000221004b00000000020000190000000102004039000005940310009c00000deb0000213d000000010220019000000deb0000c13d000000400010043f00000595020000410000000103000031000000200430008c000000000400001900000000040240190000059503300197000000000530004c000000000200a019000005950330009c000000000204c019000000000220004c00000de90000c13d00000000020904330000000204000029000000000342004b00000e110000413d00000000024200490000000603000029000000000232004b00000e170000413d000000200210003900000000003204350000000902000029000000000021043500000593020000410000000003000414000005930430009c0000000003028019000005930410009c00000000010280190000004001100210000000c002300210000000000112019f000005bb011001c70000800d020000390000000303000039000005e104000041000000070500002900000003060000291645163b0000040f000000010120019000000de90000613d000000000001042d00000000010000190000164700010430000005980100004100000000001004350000004101000039000000040010043f00000599010000410000164700010430000005e403000041000000000032043500000016020000390000000000240435000005c20200004100000000002104350000000402100039000000200300003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c3011001c70000164700010430000000400100043d0000004402100039000005e3030000410000000000320435000005c2020000410000000000210435000000240210003900000020030000390000000000320435000000040210003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c3011001c70000164700010430000005980100004100000000001004350000001101000039000000040010043f000005990100004100001647000104300000004402100039000005e2030000410000000000320435000000240210003900000017030000390000000000320435000005c20200004100000000002104350000000402100039000000200300003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c3011001c70000164700010430000000400100043d0000006402100039000005dd0300004100000000003204350000004402100039000005de03000041000000000032043500000024021000390000002a030000390000000000320435000005c20200004100000000002104350000000402100039000000200300003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c6011001c700001647000104300000001f0430018f000000050230027200000e480000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b00000e410000413d000000000340004c00000e560000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000593010000410000000102000031000005930320009c0000000001024019000000600110021000001647000104300000001f0430018f000000050230027200000e670000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b00000e600000413d000000000340004c00000e750000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000593010000410000000102000031000005930320009c0000000001024019000000600110021000001647000104300000001f0430018f000000050230027200000e860000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b00000e7f0000413d000000000340004c00000e940000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000593010000410000000102000031000005930320009c0000000001024019000000600110021000001647000104300000001f0340018f000000050240027200000ea50000613d00000000040000190000000505400210000000000651034f000000000606043b00000000006504350000000104400039000000000524004b00000e9e0000413d000000000430004c00000eb30000613d00000003033002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000593010000410000000102000031000005930320009c0000000001024019000000600110021000001647000104300000001f0430018f000000050230027200000ec40000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b00000ebd0000413d000000000340004c00000ed20000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000593010000410000000102000031000005930320009c0000000001024019000000600110021000001647000104300000001f0430018f000000050230027200000ee30000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b00000edc0000413d000000000340004c00000ef10000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000593010000410000000102000031000005930320009c0000000001024019000000600110021000001647000104300000001f0430018f000000050230027200000f020000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b00000efb0000413d000000000340004c00000f100000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000593010000410000000102000031000005930320009c0000000001024019000000600110021000001647000104300000000002010019000000400100043d000005e50310009c00000f550000813d0000008003100039000000400030043f0000004203000039000000000331043600000000040000310000000204400367000000000500001900000005065002100000000007630019000000000664034f000000000606043b00000000006704350000000105500039000000030650008c00000f210000413d0000000004010433000000000440004c00000f4f0000613d0000000004030433000005d004400197000005d1044001c700000000004304350000000004010433000000020440008c00000f4f0000413d00000021041000390000000005040433000005d005500197000005d2055001c70000000000540435000000410400003900000000050200190000000002010433000000000242004b00000f4f0000a13d0000000f0250018f0000000302200210000000f80220015f000005d306000041000000000226022f00000000063400190000000007060433000005d007700197000000f802200210000000000227019f00000000002604350000000402500270000000010440008a000000010640008c00000f390000213d000000100250008c00000f5b0000813d000000000001042d000005980100004100000000001004350000003201000039000000040010043f00000599010000410000164700010430000005980100004100000000001004350000004101000039000000040010043f00000599010000410000164700010430000000400100043d0000004402100039000005e6030000410000000000320435000005c2020000410000000000210435000000240210003900000020030000390000000000320435000000040210003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c3011001c700001647000104300004000000000002000300000001001d0000000000000435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000010450000613d000000000101043b0000000101100039000000000101041a000100000001001d0000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000010450000613d000000000101043b0000000002000411000200000002001d0000059602200197000400000002001d0000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000010450000613d000000000101043b000000000101041a000000ff01100190000010470000613d0000000000000435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000010450000613d000000000101043b00000003020000290000059602200197000100000002001d0000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000010450000613d000000000101043b000000000101041a000000ff0110019000000ff30000c13d0000000000000435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000010450000613d000000000101043b00000001020000290000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000010450000613d000000000101043b000000000201041a000001000300008a000000000232016f00000001022001bf000000000021041b000000400100043d00000593020000410000000003000414000005930430009c0000000003028019000005930410009c00000000010280190000004001100210000000c002300210000000000112019f000005bc011001c70000800d020000390000000403000039000005bd040000410000000005000019000000030600002900000002070000291645163b0000040f0000000101200190000010450000613d0000000000000435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000010450000613d000000000101043b00000004020000290000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000010450000613d000000000101043b000000000101041a000000ff01100190000010440000613d0000000000000435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000010450000613d000000000101043b00000004020000290000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000010450000613d000000000101043b000000000201041a000001000300008a000000000232016f000000000021041b000000400100043d00000593020000410000000003000414000005930430009c0000000003028019000005930410009c00000000010280190000004001100210000000c002300210000000000112019f000005bc011001c70000800d020000390000000403000039000005d6040000410000000005000019000000020600002900000000070600191645163b0000040f0000000101200190000010450000613d000000000001042d00000000010000190000164700010430000000400100043d0000000007010019000005cf0110009c000010510000413d000005980100004100000000001004350000004101000039000000040010043f0000059901000041000016470001043000000000020700190000006001200039000000400010043f0000002a01000039000000000112043600000000020000310000000202200367000000000300001900000005043002100000000005410019000000000442034f000000000404043b00000000004504350000000103300039000000020430008c000010590000413d0000000002070433000000000220004c0000106b0000613d0000000002010433000005d002200197000005d1022001c700000000002104350000000002070433000000020220008c000010710000813d000005980100004100000000001004350000003201000039000000040010043f0000059901000041000016470001043000000021027000390000000003020433000005d003300197000005d2033001c700000000003204350000002902000039000000020500002900000000030500190000000004070433000000000424004b0000106b0000a13d0000000f0430018f0000000304400210000000f80440015f000005d305000041000000000445022f00000000051200190000000006050433000005d006600197000000f804400210000000000446019f00000000004504350000000405300270000000010220008a000000010420008c000010780000213d000000100130008c00000000010000190000000101004039000300000007001d164516270000040f000000010100002916450f160000040f000000400400043d000400000004001d0000002002400039000005d4030000410000000000320435000200000001001d00000037024000390000000301000029164504910000040f000005d502000041000000000021043500000011021000390000000201000029164504910000040f00000004030000290000000002310049000000200120008a00000000001304350000000001030019164504ba0000040f000005c201000041000000400200043d000300000002001d000000000012043500000004012000390000000402000029164504a20000040f000000030400002900000000014100490000059302000041000005930310009c0000000001028019000005930340009c000000000204401900000040022002100000006001100210000000000121019f000016470001043000000596022001970000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000010c70000613d000000000101043b000000000001042d000000000100001900001647000104300000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000010d70000613d000000000101043b000000000001042d000000000100001900001647000104300001000000000002000100000001001d000005b5010000410000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000011140000613d000000000101043b000000000200041100000596022001970000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000011140000613d000000000101043b000000000101041a000000ff01100190000011160000613d0000000102000029000000000120004c0000112b0000613d0000000101000039000000000021041b000000400100043d000000000021043500000593020000410000000003000414000005930430009c0000000003028019000005930410009c00000000010280190000004001100210000000c002300210000000000112019f000005bf011001c70000800d020000390000000203000039000005c00400004100000000050004101645163b0000040f0000000101200190000011140000613d000000000001042d00000000010000190000164700010430000000400100043d0000006402100039000005c40300004100000000003204350000004402100039000005c5030000410000000000320435000000240210003900000028030000390000000000320435000005c20200004100000000002104350000000402100039000000200300003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c6011001c70000164700010430000000400100043d0000004402100039000005c1030000410000000000320435000000240210003900000014030000390000000000320435000005c20200004100000000002104350000000402100039000000200300003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c3011001c700001647000104300002000000000002000200000002001d000100000001001d000005b5010000410000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000011d40000613d000000000101043b000000000200041100000596022001970000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000011d40000613d000000400300043d000000000101043b000000000101041a000000ff01100190000011dc0000613d0000002001300039000005e702000041000000000021043500000002020000290000059602200197000000240430003900000000002404350000004402000039000000000023043500000044023000390000000000020435000005e50230009c000011d60000813d0000008002300039000000400020043f000000000400041400000001020000290000059602200197000000040520008c000011780000c13d000000010300003100000000020000190000118c0000013d0000059305000041000005930610009c000000000105801900000040011002100000000003030433000005930630009c00000000030580190000006003300210000000000113019f000005930340009c00000000030500190000000003044019000000c003300210000000000131019f1645163b0000040f000000010220015f00030000000103550000006001100270000105930010019d00000593031001970000006001000039000000000430004c000011ba0000613d0000003f01300039000000200400008a000000000441016f000000400100043d0000000004410019000000000514004b00000000050000190000000105004039000005940640009c000011d60000213d0000000105500190000011d60000c13d000000400040043f0000000003310436000000030400036700000001060000310000001f0560018f0000000506600272000011ab0000613d000000000700001900000005087002100000000009830019000000000884034f000000000808043b00000000008904350000000107700039000000000867004b000011a30000413d000000000750004c000011ba0000613d0000000506600210000000000464034f00000000036300190000000305500210000000000603043300000000065601cf000000000656022f000000000404043b0000010005500089000000000454022f00000000045401cf000000000464019f00000000004304350000000102200190000011f00000c13d0000000012010434000000000320004c000011d30000613d0000059503000041000000200420008c000000000400001900000000040340190000059502200197000000000520004c000000000300a019000005950220009c00000000020400190000000002036019000000000220004c000011d40000c13d0000000001010433000000000210004c0000000002000019000000010200c039000000000221004b000011d40000c13d000000000110004c000012010000613d000000000001042d00000000010000190000164700010430000005980100004100000000001004350000004101000039000000040010043f000005990100004100001647000104300000006401300039000005c40200004100000000002104350000004401300039000005c5020000410000000000210435000000240130003900000028020000390000000000210435000005c20100004100000000001304350000000401300039000000200200003900000000002104350000059301000041000005930230009c00000000010340190000004001100210000005c6011001c70000164700010430000000400100043d0000004402100039000005e3030000410000000000320435000005c2020000410000000000210435000000240210003900000020030000390000000000320435000000040210003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c3011001c70000164700010430000000400100043d0000006402100039000005dd0300004100000000003204350000004402100039000005de03000041000000000032043500000024021000390000002a030000390000000000320435000005c20200004100000000002104350000000402100039000000200300003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c6011001c700001647000104300003000000000002000300000002001d000200000001001d000005b5010000410000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000012c40000613d000000000101043b00000000020004110000059602200197000100000002001d0000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000012c40000613d000000000101043b000000000101041a000000ff01100190000012cc0000613d0000000303000029000000000130004c000012e10000613d000000400100043d000000440210003900000000003204350000002003100039000005db0200004100000000002304350000002402100039000000010400002900000000004204350000004402000039000000000021043500000002020000290000059602200197000005e50410009c000012c60000813d0000008004100039000000400040043f0000000004000414000000040520008c000012540000c13d00000001030000310000000002000019000012680000013d0000059305000041000005930630009c000000000305801900000040033002100000000001010433000005930610009c00000000010580190000006001100210000000000131019f000005930340009c00000000030500190000000003044019000000c003300210000000000131019f1645163b0000040f000000010220015f00030000000103550000006001100270000105930010019d00000593031001970000006001000039000000000430004c000012960000613d0000003f01300039000000200400008a000000000441016f000000400100043d0000000004410019000000000514004b00000000050000190000000105004039000005940640009c000012c60000213d0000000105500190000012c60000c13d000000400040043f0000000003310436000000030400036700000001060000310000001f0560018f0000000506600272000012870000613d000000000700001900000005087002100000000009830019000000000884034f000000000808043b00000000008904350000000107700039000000000867004b0000127f0000413d000000000750004c000012960000613d0000000506600210000000000464034f00000000036300190000000305500210000000000603043300000000065601cf000000000656022f000000000404043b0000010005500089000000000454022f00000000045401cf000000000464019f00000000004304350000000102200190000012f30000c13d0000000012010434000000000320004c000012af0000613d0000059503000041000000200420008c000000000400001900000000040340190000059502200197000000000520004c000000000300a019000005950220009c00000000020400190000000002036019000000000220004c000012c40000c13d0000000001010433000000000210004c0000000002000019000000010200c039000000000221004b000012c40000c13d000000000110004c000013040000613d000000400100043d0000000302000029000000000021043500000593020000410000000003000414000005930430009c0000000003028019000005930410009c00000000010280190000004001100210000000c002300210000000000112019f000005bf011001c70000800d020000390000000203000039000005e80400004100000002050000291645163b0000040f0000000101200190000012c40000613d000000000001042d00000000010000190000164700010430000005980100004100000000001004350000004101000039000000040010043f00000599010000410000164700010430000000400100043d0000006402100039000005c40300004100000000003204350000004402100039000005c5030000410000000000320435000000240210003900000028030000390000000000320435000005c20200004100000000002104350000000402100039000000200300003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c6011001c70000164700010430000000400100043d0000004402100039000005e903000041000000000032043500000024021000390000001e030000390000000000320435000005c20200004100000000002104350000000402100039000000200300003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c3011001c70000164700010430000000400100043d0000004402100039000005e3030000410000000000320435000005c2020000410000000000210435000000240210003900000020030000390000000000320435000000040210003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c3011001c70000164700010430000000400100043d0000006402100039000005dd0300004100000000003204350000004402100039000005de03000041000000000032043500000024021000390000002a030000390000000000320435000005c20200004100000000002104350000000402100039000000200300003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c6011001c700001647000104300002000000000002000200000001001d000005b5010000410000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f00000001022001900000139d0000613d000000000101043b0000000002000411000100000002001d00000596022001970000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f00000001022001900000139d0000613d000000000101043b000000000101041a000000ff011001900000139f0000613d0000000209000029000000000190004c0000000104000029000013b40000613d0000000001000414000000040240008c000013460000c13d000000010200003900000001010000310000135a0000013d0000059302000041000000400300043d000005930530009c0000000003028019000005930510009c0000000001028019000000c0011002100000004002300210000000000112019f000005bc011001c70000800902000039000000000309001900000000050000191645163b0000040f0000000209000029000000010220018f00030000000103550000006001100270000105930010019d0000059301100197000000000310004c000013870000613d0000003f03100039000000200400008a000000000443016f000000400300043d0000000004430019000000000534004b00000000050000190000000105004039000005940640009c000013d70000213d0000000105500190000013d70000c13d000000400040043f0000000001130436000000030300036700000001050000310000001f0450018f0000000505500272000013780000613d000000000600001900000005076002100000000008710019000000000773034f000000000707043b00000000007804350000000106600039000000000756004b000013700000413d000000000640004c000013870000613d0000000505500210000000000353034f00000000015100190000000304400210000000000501043300000000054501cf000000000545022f000000000303043b0000010004400089000000000343022f00000000034301cf000000000353019f0000000000310435000000400100043d000000000220004c000013c60000613d000000000091043500000593020000410000000003000414000005930430009c0000000003028019000005930410009c00000000010280190000004001100210000000c002300210000000000112019f000005bf011001c70000800d020000390000000203000039000005e80400004100000000050000191645163b0000040f00000001012001900000139d0000613d000000000001042d00000000010000190000164700010430000000400100043d0000006402100039000005c40300004100000000003204350000004402100039000005c5030000410000000000320435000000240210003900000028030000390000000000320435000005c20200004100000000002104350000000402100039000000200300003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c6011001c70000164700010430000000400100043d0000004402100039000005e903000041000000000032043500000024021000390000001e030000390000000000320435000005c20200004100000000002104350000000402100039000000200300003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c3011001c700001647000104300000004402100039000005ea030000410000000000320435000000240210003900000010030000390000000000320435000005c20200004100000000002104350000000402100039000000200300003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c3011001c70000164700010430000005980100004100000000001004350000004101000039000000040010043f000005990100004100001647000104300004000000000002000300000002001d000400000001001d0000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000014670000613d000000000101043b0000000101100039000000000101041a000100000001001d0000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000014670000613d000000000101043b0000000002000411000200000002001d00000596022001970000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000014670000613d000000000101043b000000000101041a000000ff01100190000014690000613d00000004010000290000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000014670000613d000000000101043b00000003020000290000059602200197000100000002001d0000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000014670000613d000000000101043b000000000101041a000000ff01100190000014660000c13d00000004010000290000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000014670000613d000000000101043b00000001020000290000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000014670000613d000000000101043b000000000201041a000001000300008a000000000232016f00000001022001bf000000000021041b000000400100043d00000593020000410000000003000414000005930430009c0000000003028019000005930410009c00000000010280190000004001100210000000c002300210000000000112019f000005bc011001c70000800d020000390000000403000039000005bd040000410000000405000029000000030600002900000002070000291645163b0000040f0000000101200190000014670000613d000000000001042d00000000010000190000164700010430000000400100043d0000000007010019000005cf0110009c000014730000413d000005980100004100000000001004350000004101000039000000040010043f0000059901000041000016470001043000000000020700190000006001200039000000400010043f0000002a01000039000000000112043600000000020000310000000202200367000000000300001900000005043002100000000005410019000000000442034f000000000404043b00000000004504350000000103300039000000020430008c0000147b0000413d0000000002070433000000000220004c0000148d0000613d0000000002010433000005d002200197000005d1022001c700000000002104350000000002070433000000020220008c000014930000813d000005980100004100000000001004350000003201000039000000040010043f0000059901000041000016470001043000000021027000390000000003020433000005d003300197000005d2033001c700000000003204350000002902000039000000020500002900000000030500190000000004070433000000000424004b0000148d0000a13d0000000f0430018f0000000304400210000000f80440015f000005d305000041000000000445022f00000000051200190000000006050433000005d006600197000000f804400210000000000446019f00000000004504350000000405300270000000010220008a000000010420008c0000149a0000213d000000100130008c00000000010000190000000101004039000300000007001d164516270000040f000000010100002916450f160000040f000000400400043d000400000004001d0000002002400039000005d4030000410000000000320435000200000001001d00000037024000390000000301000029164504910000040f000005d502000041000000000021043500000011021000390000000201000029164504910000040f00000004030000290000000002310049000000200120008a00000000001304350000000001030019164504ba0000040f000005c201000041000000400200043d000300000002001d000000000012043500000004012000390000000402000029164504a20000040f000000030400002900000000014100490000059302000041000005930310009c0000000001028019000005930340009c000000000204401900000040022002100000006001100210000000000121019f00001647000104300004000000000002000300000002001d000400000001001d0000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000015630000613d000000000101043b0000000101100039000000000101041a000100000001001d0000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000015630000613d000000000101043b0000000002000411000200000002001d00000596022001970000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000015630000613d000000000101043b000000000101041a000000ff01100190000015650000613d00000004010000290000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000015630000613d000000000101043b00000003020000290000059602200197000100000002001d0000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000015630000613d000000000101043b000000000101041a000000ff01100190000015620000613d00000004010000290000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000015630000613d000000000101043b00000001020000290000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000015630000613d000000000101043b000000000201041a000001000300008a000000000232016f000000000021041b000000400100043d00000593020000410000000003000414000005930430009c0000000003028019000005930410009c00000000010280190000004001100210000000c002300210000000000112019f000005bc011001c70000800d020000390000000403000039000005d6040000410000000405000029000000030600002900000002070000291645163b0000040f0000000101200190000015630000613d000000000001042d00000000010000190000164700010430000000400100043d0000000007010019000005cf0110009c0000156f0000413d000005980100004100000000001004350000004101000039000000040010043f0000059901000041000016470001043000000000020700190000006001200039000000400010043f0000002a01000039000000000112043600000000020000310000000202200367000000000300001900000005043002100000000005410019000000000442034f000000000404043b00000000004504350000000103300039000000020430008c000015770000413d0000000002070433000000000220004c000015890000613d0000000002010433000005d002200197000005d1022001c700000000002104350000000002070433000000020220008c0000158f0000813d000005980100004100000000001004350000003201000039000000040010043f0000059901000041000016470001043000000021027000390000000003020433000005d003300197000005d2033001c700000000003204350000002902000039000000020500002900000000030500190000000004070433000000000424004b000015890000a13d0000000f0430018f0000000304400210000000f80440015f000005d305000041000000000445022f00000000051200190000000006050433000005d006600197000000f804400210000000000446019f00000000004504350000000405300270000000010220008a000000010420008c000015960000213d000000100130008c00000000010000190000000101004039000300000007001d164516270000040f000000010100002916450f160000040f000000400400043d000400000004001d0000002002400039000005d4030000410000000000320435000200000001001d00000037024000390000000301000029164504910000040f000005d502000041000000000021043500000011021000390000000201000029164504910000040f00000004030000290000000002310049000000200120008a00000000001304350000000001030019164504ba0000040f000005c201000041000000400200043d000300000002001d000000000012043500000004012000390000000402000029164504a20000040f000000030400002900000000014100490000059302000041000005930310009c0000000001028019000005930340009c000000000204401900000040022002100000006001100210000000000121019f000016470001043000030000000000020000000202000039000000000102041a000000010310019000000001041002700000007f0540018f000000000604001900000000060560190000001f0460008c00000000040000190000000104002039000000010440018f000000000443004b000016190000c13d000000400500043d0000000004650436000000000330004c000015ed0000c13d000001000200008a000000000121016f000000000014043500000040020000390000160e0000013d000100000004001d000200000006001d000300000005001d000000000020043500000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bf011001c70000801002000039164516400000040f0000000102200190000016250000613d00000020020000390000000206000029000000000360004c00000003050000290000160e0000613d000000000101043b0000000003000019000000010700002900000000020300190000000003720019000000000401041a000000000043043500000001011000390000002003200039000000000463004b000016030000413d0000005f01200039000000200200008a000000000221016f0000000001520019000000000221004b00000000020000190000000102004039000005940310009c0000161f0000213d00000001022001900000161f0000c13d000000400010043f0000000001050019000000000001042d000005980100004100000000001004350000002201000039000000040010043f00000599010000410000164700010430000005980100004100000000001004350000004101000039000000040010043f0000059901000041000016470001043000000000010000190000164700010430000000000110004c0000162a0000613d000000000001042d000000400100043d0000004402100039000005e6030000410000000000320435000005c2020000410000000000210435000000240210003900000020030000390000000000320435000000040210003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c3011001c700001647000104300000163e002104210000000102000039000000000001042d0000000002000019000000000001042d00001643002104230000000102000039000000000001042d0000000002000019000000000001042d0000164500000432000016460001042e0000164700010430000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff000000000000000000000000000000000000000000000000ffffffffffffffff8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffffffffffff00000002000000000000000000000000000000800000010000000000000000004e487b71000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024000000000000000000000000000000000000000000000000000000000000000000000000000000008980f11e00000000000000000000000000000000000000000000000000000000d8baf7ce00000000000000000000000000000000000000000000000000000000ef99893900000000000000000000000000000000000000000000000000000000ef99893a00000000000000000000000000000000000000000000000000000000f2fde38b00000000000000000000000000000000000000000000000000000000f874225400000000000000000000000000000000000000000000000000000000d8baf7cf00000000000000000000000000000000000000000000000000000000eab90da60000000000000000000000000000000000000000000000000000000091d148530000000000000000000000000000000000000000000000000000000091d1485400000000000000000000000000000000000000000000000000000000a217fddf00000000000000000000000000000000000000000000000000000000d547741f000000000000000000000000000000000000000000000000000000008980f11f000000000000000000000000000000000000000000000000000000008bb9c5bf000000000000000000000000000000000000000000000000000000004ebb7915000000000000000000000000000000000000000000000000000000006b453c1e000000000000000000000000000000000000000000000000000000006b453c1f000000000000000000000000000000000000000000000000000000007ae267730000000000000000000000000000000000000000000000000000000084a33e63000000000000000000000000000000000000000000000000000000004ebb79160000000000000000000000000000000000000000000000000000000069cff80d00000000000000000000000000000000000000000000000000000000248a9ca200000000000000000000000000000000000000000000000000000000248a9ca3000000000000000000000000000000000000000000000000000000002f2ff15d0000000000000000000000000000000000000000000000000000000036568abe0000000000000000000000000000000000000000000000000000000001ffc9a70000000000000000000000000000000000000000000000000000000006fdde03339759585899103d2ace64958e37e18ccb0504652c81d4a1b8aa80fe2126ab950000000000000000000000000000000000000020000000000000000000000000ffffffff0000000000000000000000000000000000000000000000000000000001ffc9a7000000000000000000000000000000000000000000000000000000007965db0b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000800000000000000000020000000000000000000000000000000000004000000000000000000000000002000000000000000000000000000000000000000000000000000000000000002f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d00000000000000000000000000000000000000000000000100000000000000000200000000000000000000000000000000000020000000000000000000000000f43f23b7a28e6f8ce6843a21bd7b48bce778aa913b8c8cf459edf7d770e8d38a496e76616c6964206761732d657374696d61746500000000000000000000000008c379a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000064000000000000000000000000696e7461696e65720000000000000000000000000000000000000000000000004d61696e7461696e61626c653a2043616c6c6572206973206e6f742061206d610000000000000000000000000000000000000084000000000000000000000000496e76616c69642061646170746572206e616d65000000000000000000000000310ab089e4439a4c15d089f94afb7896ff553aecb10793d0ab882de59d99a32e02000002000000000000000000000000000000440000000000000000000000001806aa1896bbf26568e884a7374b41e002500962caba6a15023a8d90e8508b8302000002000000000000000000000000000000240000000000000000000000006801cc3000000000000000000000000000000000000000000000000000000000f140a35a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffa000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff300000000000000000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000000000000000003031323334353637383961626364656600000000000000000000000000000000416363657373436f6e74726f6c3a206163636f756e7420000000000000000000206973206d697373696e6720726f6c6520000000000000000000000000000000f6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b000000000000000000000001000000000000000000000000000000000000000020726f6c657320666f722073656c660000000000000000000000000000000000416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636570a0823100000000000000000000000000000000000000000000000000000000a9059cbb00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffff7f6f742073756363656564000000000000000000000000000000000000000000005361666545524332303a204552433230206f7065726174696f6e20646964206e000000000000000000000000000000000000000000000000ffffffffffffffdf022c0d9f00000000000000000000000000000000000000000000000000000000e2bdbc6b7225eb0a972ac943c485a6cc05f7c6811838bce8903f23200fb744fa496e73756666696369656e7420616d6f756e742d6f75740000000000000000005361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564496e737566666963656e7420616d6f756e74206f757400000000000000000000000000000000000000000000000000000000000000000000ffffffffffffff80537472696e67733a20686578206c656e67746820696e73756666696369656e74095ea7b3000000000000000000000000000000000000000000000000000000008c1256b8896378cd5044f80c202f9772b9d77dc85c8a6eb51967210b09bfaa2859616b416461707465723a204e6f7468696e6720746f207265636f76657200005472616e73666572206661696c65642e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c6d4a390b47ed4e406445aa2c7378dfef3f4492b88ea658fb74adaf81e1a596a", + "deployedBytecode": "0x0004000000000002000100000000000200000000030100190000006003300270000005930430019700030000004103550002000000010355000005930030019d000100000000001f00000001012001900000002b0000c13d0000008001000039000000400010043f0000000001000031000000040210008c000000aa0000413d0000000201000367000000000101043b000000e0011002700000059a0210009c000000b40000213d000005a80210009c000000ca0000213d000005af0210009c0000010f0000a13d000005b00210009c000001820000613d000005b10210009c0000019f0000613d000005b20110009c0000024f0000c13d0000000001000416000000000110004c0000024f0000c13d0000000001000031164504280000040f164509b10000040f0000059301000041000000400200043d000005930320009c00000000010240190000004001100210000016460001042e000000a001000039000000400010043f0000000001000416000000000110004c0000024f0000c13d00000000040000310000001f02400039000000200100008a000000000512016f000000400300043d0000000002350019000000000552004b00000000050000190000000105004039000005940620009c000000ae0000213d0000000105500190000000ae0000c13d000000400020043f0000001f0240018f000000020500036700000005064002720000004b0000613d000000000700001900000005087002100000000009830019000000000885034f000000000808043b00000000008904350000000107700039000000000867004b000000430000413d000000000720004c0000005a0000613d0000000506600210000000000565034f00000000066300190000000302200210000000000706043300000000072701cf000000000727022f000000000505043b0000010002200089000000000525022f00000000022501cf000000000272019f00000000002604350000059502000041000000600540008c000000000500001900000000050240190000059506400197000000000760004c000000000200a019000005950660009c000000000205c019000000000220004c0000024f0000c13d0000000025030434000005940650009c0000024f0000213d000000000643001900000000043500190000001f054000390000059507000041000000000865004b0000000008000019000000000807801900000595055001970000059509600197000000000a95004b0000000007008019000000000595013f000005950550009c00000000050800190000000005076019000000000550004c0000024f0000c13d0000000005040433000005940750009c000000ae0000213d0000003f07500039000000000717016f000000400100043d0000000007710019000000000817004b00000000080000190000000108004039000005940970009c000000ae0000213d0000000108800190000000ae0000c13d000000400070043f000000000051043500000020075000390000000008470019000000000668004b0000024f0000213d000000000650004c0000009b0000613d000000000600001900000020066000390000000008160019000000000946001900000000090904330000000000980435000000000856004b000000900000413d000000000456004b0000009b0000a13d000000000417001900000000000404350000000002020433000005960420009c0000024f0000213d00000040033000390000000003030433164502510000040f000000800100043d0000014000000443000001600010044300000020010000390000010000100443000000010100003900000120001004430000059701000041000016460001042e000000000110004c0000024f0000c13d0000000001000019000016460001042e000005980100004100000000001004350000004101000039000000040010043f000005990100004100001647000104300000059b0210009c000000ed0000213d000005a20210009c000001340000a13d000005a30210009c000001ab0000613d000005a40210009c000001c00000613d000005a50110009c0000024f0000c13d0000000001000416000000000110004c0000024f0000c13d0000000001000031164504280000040f164514da0000040f0000059301000041000000400200043d000005930320009c00000000010240190000004001100210000016460001042e000005a90210009c000001530000a13d000005aa0210009c000001d90000613d000005ab0210009c000001e50000613d000005ac0110009c0000024f0000c13d0000000001000416000000000110004c0000024f0000c13d000000040100008a00000000011000310000059502000041000000200310008c000000000300001900000000030240190000059501100197000000000410004c000000000200a019000005950110009c00000000010300190000000001026019000000000110004c0000024f0000c13d00000004010000390000000201100367000000000101043b164510d90000040f0000059301000041000000400200043d000005930320009c00000000010240190000004001100210000016460001042e0000059c0210009c000001720000a13d0000059d0210009c000001f10000613d0000059e0210009c000001ff0000613d0000059f0110009c0000024f0000c13d0000000001000416000000000110004c0000024f0000c13d000000040100008a00000000011000310000059502000041000000000310004c000000000300001900000000030240190000059501100197000000000410004c000000000200a019000005950110009c00000000010300190000000001026019000000000110004c0000024f0000c13d000000400100043d000005b50200004100000000002104350000059302000041000005930310009c00000000010280190000004001100210000005b6011001c7000016460001042e000005b30210009c0000020b0000613d000005b40110009c0000024f0000c13d0000000001000416000000000110004c0000024f0000c13d000000040100008a00000000011000310000059502000041000000000310004c000000000300001900000000030240190000059501100197000000000410004c000000000200a019000005950110009c00000000010300190000000001026019000000000110004c0000024f0000c13d164515d60000040f0000000002010019000000400100043d000100000001001d164504a20000040f000000010400002900000000014100490000059302000041000005930310009c0000000001028019000005930340009c000000000204401900000040022002100000006001100210000000000121019f000016460001042e000005a60210009c0000021c0000613d000005a70110009c0000024f0000c13d0000000001000416000000000110004c0000024f0000c13d000000040100008a00000000011000310000059502000041000000200310008c000000000300001900000000030240190000059501100197000000000410004c000000000200a019000005950110009c00000000010300190000000001026019000000000110004c0000024f0000c13d00000004010000390000000201100367000000000101043b1645093f0000040f0000059301000041000000400200043d000005930320009c00000000010240190000004001100210000016460001042e000005ad0210009c000002280000613d000005ae0110009c0000024f0000c13d0000000001000416000000000110004c0000024f0000c13d000000040100008a00000000011000310000059502000041000000000310004c000000000300001900000000030240190000059501100197000000000410004c000000000200a019000005950110009c00000000010300190000000001026019000000000110004c0000024f0000c13d0000000101000039000000000101041a000000400200043d00000000001204350000059301000041000005930320009c00000000010240190000004001100210000005b6011001c7000016460001042e000005a00210009c000002430000613d000005a10110009c0000024f0000c13d0000000001000416000000000110004c0000024f0000c13d0000000001000031164504700000040f16450a230000040f0000059301000041000000400200043d000005930320009c00000000010240190000004001100210000016460001042e0000000001000416000000000110004c0000024f0000c13d000000040100008a00000000011000310000059502000041000000200310008c000000000300001900000000030240190000059501100197000000000410004c000000000200a019000005950110009c00000000010300190000000001026019000000000110004c0000024f0000c13d00000004010000390000000201100367000000000101043b164508310000040f000000400200043d00000000001204350000059301000041000005930320009c00000000010240190000004001100210000005b6011001c7000016460001042e0000000001000416000000000110004c0000024f0000c13d0000000001000031164504280000040f164513dd0000040f0000059301000041000000400200043d000005930320009c00000000010240190000004001100210000016460001042e0000000001000416000000000110004c0000024f0000c13d0000000001000031164504280000040f000100000002001d164510c90000040f0000000102000029164510b80000040f000000000101041a000000ff011001900000000001000019000000010100c039000000400200043d00000000001204350000059301000041000005930320009c00000000010240190000004001100210000005b6011001c7000016460001042e0000000001000416000000000110004c0000024f0000c13d000000040100008a00000000011000310000059502000041000000000310004c000000000300001900000000030240190000059501100197000000000410004c000000000200a019000005950110009c00000000010300190000000001026019000000000110004c0000024f0000c13d000000400100043d00000000000104350000059302000041000005930310009c00000000010280190000004001100210000005b6011001c7000016460001042e0000000001000416000000000110004c0000024f0000c13d0000000001000031164503e30000040f164507340000040f0000059301000041000000400200043d000005930320009c00000000010240190000004001100210000016460001042e0000000001000416000000000110004c0000024f0000c13d0000000001000031164503f80000040f1645113d0000040f0000059301000041000000400200043d000005930320009c00000000010240190000004001100210000016460001042e0000000001000416000000000110004c0000024f0000c13d0000000001000031164504550000040f164504cd0000040f000000400200043d00000000001204350000059301000041000005930320009c00000000010240190000004001100210000005b6011001c7000016460001042e0000000001000416000000000110004c0000024f0000c13d0000000001000031164503e30000040f16450f6c0000040f0000059301000041000000400200043d000005930320009c00000000010240190000004001100210000016460001042e0000000001000416000000000110004c0000024f0000c13d00000000010000311645043f0000040f000005b701100197000005b80210009c00000000020000190000000102006039000005b90110009c00000000010000190000000101006039000000000121019f000000010110018f000000800010043f000005ba01000041000016460001042e0000000001000416000000000110004c0000024f0000c13d0000000001000031164504110000040f164512160000040f0000059301000041000000400200043d000005930320009c00000000010240190000004001100210000016460001042e0000000001000416000000000110004c0000024f0000c13d000000040100008a00000000011000310000059502000041000000200310008c000000000300001900000000030240190000059501100197000000000410004c000000000200a019000005950110009c00000000010300190000000001026019000000000110004c0000024f0000c13d00000004010000390000000201100367000000000101043b164513190000040f0000059301000041000000400200043d000005930320009c00000000010240190000004001100210000016460001042e0000000001000416000000000110004c0000024f0000c13d0000000001000031164503e30000040f164508430000040f0000059301000041000000400200043d000005930320009c00000000010240190000004001100210000016460001042e000000000100001900001647000104300008000000000002000600000003001d000500000002001d000700000001001d0000000000000435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f00000001022001900000039c0000613d000000000101043b0000000002000411000400000002001d0000059602200197000800000002001d0000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f00000001022001900000039c0000613d000000000101043b000000000101041a000000ff01100190000002aa0000c13d0000000000000435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f00000001022001900000039c0000613d000000000101043b00000008020000290000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f00000001022001900000039c0000613d000000000101043b000000000201041a000001000300008a000000000232016f00000001022001bf000000000021041b000000400100043d00000593020000410000000003000414000005930430009c0000000003028019000005930410009c00000000010280190000004001100210000000c002300210000000000112019f000005bc011001c70000800d020000390000000403000039000005bd040000410000000005000019000000040600002900000000070600191645163b0000040f00000001012001900000039c0000613d000005b5010000410000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f00000001022001900000039c0000613d000000000101043b00000008020000290000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f00000001022001900000039c0000613d000000000101043b000000000101041a000000ff01100190000002fe0000c13d000005b5010000410000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f00000001022001900000039c0000613d000000000101043b00000008020000290000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f00000001022001900000039c0000613d000000000101043b000000000201041a000001000300008a000000000232016f00000001022001bf000000000021041b000000400100043d00000593020000410000000003000414000005930430009c0000000003028019000005930410009c00000000010280190000004001100210000000c002300210000000000112019f000005bc011001c70000800d020000390000000403000039000005bd04000041000005b505000041000000040600002900000000070600191645163b0000040f00000001012001900000039c0000613d00000007060000290000000058060434000000000180004c0000039e0000613d000005be0180009c000003b00000813d0000000207000039000000000107041a000000010210019000000001011002700000007f0310018f000000000401001900000000040360190000001f0140008c00000000010000190000000101002039000000010110018f000000000112004b000003b60000c13d000000000184019f000000200110008c00000000010000190000032a0000413d000100000004001d000200000005001d000300000008001d000400000007001d000000000070043500000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bf011001c70000801002000039164516400000040f00000001022001900000039c0000613d000000000101043b00000007060000290000000407000029000000030800002900000002050000290000000104000029000000200240008c0000033b0000413d0000001f028000390000000502200270000000200380008c000000000302001900000000030040190000001f02400039000000050220027000000000022100190000000003310019000000000423004b0000033b0000813d000000000003041b0000000103300039000000000423004b000003370000413d0000001f0280008c000003590000a13d000000200200008a000000000328017000000020020000390000034b0000613d0000002002000039000000000400001900000000056200190000000005050433000000000051041b000000200220003900000001011000390000002004400039000000000534004b000003430000413d000000000383004b000003560000813d0000000303800210000000f80330018f000000010400008a000000000334022f000000000343013f00000000026200190000000002020433000000000232016f000000000021041b00000001010000390000000102800210000003600000013d0000000301800210000000010200008a000000000112022f000000000121013f0000000002050433000000000212016f0000000101800210000000000112019f000000000017041b000005b5010000410000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f00000001022001900000039c0000613d000000000101043b00000008020000290000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f00000001022001900000039c0000613d000000000101043b000000000101041a000000ff01100190000003bc0000613d0000000602000029000000000120004c000003d10000613d0000000101000039000000000021041b000000400100043d000000000021043500000593020000410000000003000414000005930430009c0000000003028019000005930410009c00000000010280190000004001100210000000c002300210000000000112019f000005bf011001c70000800d020000390000000203000039000005c00400004100000000050004101645163b0000040f00000001012001900000039c0000613d0000000501000029000000800010043f000000000001042d00000000010000190000164700010430000000400100043d0000004402100039000005c7030000410000000000320435000000240210003900000014030000390000000000320435000005c20200004100000000002104350000000402100039000000200300003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c3011001c70000164700010430000005980100004100000000001004350000004101000039000000040010043f00000599010000410000164700010430000005980100004100000000001004350000002201000039000000040010043f00000599010000410000164700010430000000400100043d0000006402100039000005c40300004100000000003204350000004402100039000005c5030000410000000000320435000000240210003900000028030000390000000000320435000005c20200004100000000002104350000000402100039000000200300003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c6011001c70000164700010430000000400100043d0000004402100039000005c1030000410000000000320435000000240210003900000014030000390000000000320435000005c20200004100000000002104350000000402100039000000200300003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c3011001c70000164700010430000000040110008a00000595020000410000001f0310008c000000000300001900000000030220190000059501100197000000000410004c0000000002008019000005950110009c00000000010300190000000001026019000000000110004c000003f60000613d00000004010000390000000201100367000000000101043b000005960210009c000003f60000213d000000000001042d00000000010000190000164700010430000000040110008a00000595020000410000003f0310008c000000000300001900000000030220190000059501100197000000000410004c0000000002008019000005950110009c00000000010300190000000001026019000000000110004c0000040f0000613d00000002020003670000000401200370000000000101043b000005960310009c0000040f0000213d0000002402200370000000000202043b000005960320009c0000040f0000213d000000000001042d00000000010000190000164700010430000000040110008a00000595020000410000003f0310008c000000000300001900000000030220190000059501100197000000000410004c0000000002008019000005950110009c00000000010300190000000001026019000000000110004c000004260000613d00000002020003670000000401200370000000000101043b000005960310009c000004260000213d0000002402200370000000000202043b000000000001042d00000000010000190000164700010430000000040110008a00000595020000410000003f0310008c000000000300001900000000030220190000059501100197000000000410004c0000000002008019000005950110009c00000000010300190000000001026019000000000110004c0000043d0000613d00000002010003670000002402100370000000000202043b000005960320009c0000043d0000213d0000000401100370000000000101043b000000000001042d00000000010000190000164700010430000000040110008a00000595020000410000001f0310008c000000000300001900000000030220190000059501100197000000000410004c0000000002008019000005950110009c00000000010300190000000001026019000000000110004c000004530000613d00000004010000390000000201100367000000000101043b000005b702100197000000000221004b000004530000c13d000000000001042d00000000010000190000164700010430000000040110008a00000595020000410000005f0310008c000000000300001900000000030220190000059501100197000000000410004c0000000002008019000005950110009c00000000010300190000000001026019000000000110004c0000046e0000613d00000002030003670000000401300370000000000101043b0000002402300370000000000202043b000005960420009c0000046e0000213d0000004403300370000000000303043b000005960430009c0000046e0000213d000000000001042d00000000010000190000164700010430000000040110008a00000595020000410000009f0310008c000000000300001900000000030220190000059501100197000000000410004c0000000002008019000005950110009c00000000010300190000000001026019000000000110004c0000048f0000613d00000002050003670000002401500370000000000201043b0000000401500370000000000101043b0000004403500370000000000303043b000005960430009c0000048f0000213d0000006404500370000000000404043b000005960640009c0000048f0000213d0000008405500370000000000505043b000005960650009c0000048f0000213d000000000001042d0000000001000019000016470001043000000000030100190000000004030433000000000140004c0000000001240019000004a10000613d000000000500001900000000062500190000002005500039000000000735001900000000070704330000000000760435000000000645004b000004970000413d000000000245004b000004a10000a13d0000000000010435000000000001042d00000020030000390000000004310436000000000302043300000000003404350000004001100039000000000430004c000004b50000613d000000000400001900000000051400190000002004400039000000000624001900000000060604330000000000650435000000000534004b000004aa0000413d000000000234004b000004b50000a13d000000000213001900000000000204350000001f02300039000000200300008a000000000232016f0000000001120019000000000001042d0000001f02200039000000200300008a000000000232016f0000000001120019000000000221004b00000000020000190000000102004039000005940310009c000004c70000213d0000000102200190000004c70000c13d000000400010043f000000000001042d000005980100004100000000001004350000004101000039000000040010043f0000059901000041000016470001043000060000000000020000000005010019000000000123013f00000596011001980000000001000019000006af0000613d000000000450004c000006af0000613d000400000003001d000500000002001d000300000005001d000005c801000041000000000010043900000000010004120000000400100443000000240000044300000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005c9011001c70000800502000039164516400000040f0000000102200190000006b00000613d000000000101043b000005ca0200004100000000002004390000059601100197000600000001001d000000040010044300000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005cb011001c70000800202000039164516400000040f00000006050000290000000102200190000006b00000613d000000000101043b000000000110004c000006b00000613d000000400900043d000005cc0100004100000000001904350000004402900039000000000100041400000001030000390000000000320435000000040200002900000596032001970000002402900039000200000003001d0000000000320435000000050200002900000596032001970000000402900039000500000003001d0000000000320435000000040250008c000005100000c13d0000000103000031000005430000013d0000059302000041000005930310009c0000000001028019000005930390009c00000000020940190000004002200210000000c001100210000000000121019f000005c3011001c70000000002050019000400000009001d164516400000040f0000000409000029000000000301001900000060033002700000059303300197000000200430008c000000200500003900000000050340190000001f0450018f00000005055002720000052f0000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b000005270000413d000000000640004c0000053e0000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f000300000001035500000001022001900000000605000029000006b80000613d0000001f01300039000000200200008a000400000002001d000000000221016f0000000001920019000000000221004b00000000020000190000000102004039000005940310009c000006b20000213d0000000102200190000006b20000c13d000000400010043f00000595010000410000000102000031000000200320008c000000000300001900000000030140190000059502200197000000000420004c000000000100a019000005950220009c000000000103c019000000000110004c000006b00000c13d0000000004090433000005960140009c000006b00000213d000000000140004c0000000001000019000005cf0000613d000005ca010000410000000000100439000000040040044300000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005cb011001c70000800202000039000100000004001d164516400000040f000000010400002900000006050000290000000102200190000006b00000613d000000000101043b000000000110004c000006b00000613d000000400900043d000005cd0100004100000000001904350000002402900039000000000100041400000005030000290000000000320435000000040290003900000003030000290000000000320435000000040240008c000005830000c13d0000000103000031000005b60000013d0000059302000041000005930310009c0000000001028019000005930390009c00000000020940190000004002200210000000c001100210000000000121019f000005ce011001c70000000002040019000100000009001d164516400000040f0000000109000029000000000301001900000060033002700000059303300197000000200430008c000000200500003900000000050340190000001f0450018f0000000505500272000005a20000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b0000059a0000413d000000000640004c000005b10000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f000300000001035500000001022001900000000605000029000006f60000613d0000001f013000390000000402000029000000000221016f0000000001920019000000000221004b00000000020000190000000102004039000005940310009c000006b20000213d0000000102200190000006b20000c13d000000400010043f00000595010000410000000102000031000000200320008c000000000300001900000000030140190000059502200197000000000420004c000000000100a019000005950220009c000000000103c019000000000110004c000006b00000c13d0000000001090433000100000001001d000005ca010000410000000000100439000000040050044300000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005cb011001c70000800202000039164516400000040f00000006040000290000000102200190000006b00000613d000000000101043b000000000110004c000006b00000613d000000400900043d000005cc010000410000000000190435000000240290003900000000010004140000000203000029000000000032043500000004029000390000000503000029000000000032043500000044029000390000000000020435000000040240008c000005f10000c13d0000000103000031000006230000013d0000059302000041000005930310009c0000000001028019000005930390009c00000000020940190000004002200210000000c001100210000000000121019f000005c3011001c70000000002040019000600000009001d164516400000040f0000000609000029000000000301001900000060033002700000059303300197000000200430008c000000200500003900000000050340190000001f0450018f0000000505500272000006100000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b000006080000413d000000000640004c0000061f0000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f00030000000103550000000102200190000006d70000613d0000001f013000390000000402000029000000000221016f0000000001920019000000000221004b00000000020000190000000102004039000005940310009c000006b20000213d0000000102200190000006b20000c13d000000400010043f00000595010000410000000102000031000000200320008c000000000300001900000000030140190000059502200197000000000420004c000000000100a019000005950220009c000000000103c019000000000110004c000006b00000c13d0000000004090433000005960140009c000006b00000213d000000000140004c0000000001000019000006ac0000613d000005ca010000410000000000100439000000040040044300000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005cb011001c70000800202000039000600000004001d164516400000040f00000006040000290000000102200190000006b00000613d000000000101043b000000000110004c000006b00000613d000000400900043d000005cd0100004100000000001904350000002402900039000000000100041400000005030000290000000000320435000000040290003900000003030000290000000000320435000000040240008c000006610000c13d0000000103000031000006930000013d0000059302000041000005930310009c0000000001028019000005930390009c00000000020940190000004002200210000000c001100210000000000121019f000005ce011001c70000000002040019000600000009001d164516400000040f0000000609000029000000000301001900000060033002700000059303300197000000200430008c000000200500003900000000050340190000001f0450018f0000000505500272000006800000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b000006780000413d000000000640004c0000068f0000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f00030000000103550000000102200190000007150000613d0000001f013000390000000402000029000000000221016f0000000001920019000000000221004b00000000020000190000000102004039000005940310009c000006b20000213d0000000102200190000006b20000c13d000000400010043f00000595010000410000000102000031000000200320008c000000000300001900000000030140190000059502200197000000000420004c000000000100a019000005950220009c000000000103c019000000000110004c000006b00000c13d00000000010904330000000103000029000000000213004b0000000001032019000000000001042d00000000010000190000164700010430000005980100004100000000001004350000004101000039000000040010043f000005990100004100001647000104300000001f0430018f0000000502300272000006c30000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b000006bc0000413d000000000340004c000006d10000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000593010000410000000102000031000005930320009c0000000001024019000000600110021000001647000104300000001f0430018f0000000502300272000006e20000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b000006db0000413d000000000340004c000006f00000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000593010000410000000102000031000005930320009c0000000001024019000000600110021000001647000104300000001f0430018f0000000502300272000007010000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b000006fa0000413d000000000340004c0000070f0000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000593010000410000000102000031000005930320009c0000000001024019000000600110021000001647000104300000001f0430018f0000000502300272000007200000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b000007190000413d000000000340004c0000072e0000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000593010000410000000102000031000005930320009c0000000001024019000000600110021000001647000104300003000000000002000300000001001d000005b5010000410000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000007be0000613d000000000101043b0000000101100039000000000101041a000100000001001d0000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000007be0000613d000000000101043b0000000002000411000200000002001d00000596022001970000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000007be0000613d000000000101043b000000000101041a000000ff01100190000007c00000613d000005b5010000410000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000007be0000613d000000000101043b00000003020000290000059602200197000100000002001d0000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000007be0000613d000000000101043b000000000101041a000000ff01100190000007bd0000c13d000005b5010000410000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000007be0000613d000000000101043b00000001020000290000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000007be0000613d000000000101043b000000000201041a000001000300008a000000000232016f00000001022001bf000000000021041b000000400100043d00000593020000410000000003000414000005930430009c0000000003028019000005930410009c00000000010280190000004001100210000000c002300210000000000112019f000005bc011001c70000800d020000390000000403000039000005bd04000041000005b505000041000000030600002900000002070000291645163b0000040f0000000101200190000007be0000613d000000000001042d00000000010000190000164700010430000000400100043d0000000007010019000005cf0110009c000007ca0000413d000005980100004100000000001004350000004101000039000000040010043f0000059901000041000016470001043000000000020700190000006001200039000000400010043f0000002a01000039000000000112043600000000020000310000000202200367000000000300001900000005043002100000000005410019000000000442034f000000000404043b00000000004504350000000103300039000000020430008c000007d20000413d0000000002070433000000000220004c000007e40000613d0000000002010433000005d002200197000005d1022001c700000000002104350000000002070433000000020220008c000007ea0000813d000005980100004100000000001004350000003201000039000000040010043f0000059901000041000016470001043000000021027000390000000003020433000005d003300197000005d2033001c700000000003204350000002902000039000000020500002900000000030500190000000004070433000000000424004b000007e40000a13d0000000f0430018f0000000304400210000000f80440015f000005d305000041000000000445022f00000000051200190000000006050433000005d006600197000000f804400210000000000446019f00000000004504350000000405300270000000010220008a000000010420008c000007f10000213d000000100130008c00000000010000190000000101004039000200000007001d164516270000040f000000010100002916450f160000040f000000400400043d000300000004001d0000002002400039000005d4030000410000000000320435000100000001001d00000037024000390000000201000029164504910000040f000005d502000041000000000021043500000011021000390000000101000029164504910000040f00000003030000290000000002310049000000200120008a00000000001304350000000001030019164504ba0000040f000005c201000041000000400200043d000200000002001d000000000012043500000004012000390000000302000029164504a20000040f000000020400002900000000014100490000059302000041000005930310009c0000000001028019000005930340009c000000000204401900000040022002100000006001100210000000000121019f00001647000104300000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000008410000613d000000000101043b0000000101100039000000000101041a000000000001042d000000000100001900001647000104300003000000000002000300000001001d000005b5010000410000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000008cc0000613d000000000101043b0000000101100039000000000101041a000100000001001d0000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000008cc0000613d000000000101043b0000000002000411000200000002001d00000596022001970000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000008cc0000613d000000000101043b000000000101041a000000ff01100190000008ce0000613d000005b5010000410000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000008cc0000613d000000000101043b00000003020000290000059602200197000100000002001d0000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000008cc0000613d000000000101043b000000000101041a000000ff01100190000008cb0000613d000005b5010000410000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000008cc0000613d000000000101043b00000001020000290000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000008cc0000613d000000000101043b000000000201041a000001000300008a000000000232016f000000000021041b000000400100043d00000593020000410000000003000414000005930430009c0000000003028019000005930410009c00000000010280190000004001100210000000c002300210000000000112019f000005bc011001c70000800d020000390000000403000039000005d604000041000005b505000041000000030600002900000002070000291645163b0000040f0000000101200190000008cc0000613d000000000001042d00000000010000190000164700010430000000400100043d0000000007010019000005cf0110009c000008d80000413d000005980100004100000000001004350000004101000039000000040010043f0000059901000041000016470001043000000000020700190000006001200039000000400010043f0000002a01000039000000000112043600000000020000310000000202200367000000000300001900000005043002100000000005410019000000000442034f000000000404043b00000000004504350000000103300039000000020430008c000008e00000413d0000000002070433000000000220004c000008f20000613d0000000002010433000005d002200197000005d1022001c700000000002104350000000002070433000000020220008c000008f80000813d000005980100004100000000001004350000003201000039000000040010043f0000059901000041000016470001043000000021027000390000000003020433000005d003300197000005d2033001c700000000003204350000002902000039000000020500002900000000030500190000000004070433000000000424004b000008f20000a13d0000000f0430018f0000000304400210000000f80440015f000005d305000041000000000445022f00000000051200190000000006050433000005d006600197000000f804400210000000000446019f00000000004504350000000405300270000000010220008a000000010420008c000008ff0000213d000000100130008c00000000010000190000000101004039000200000007001d164516270000040f000000010100002916450f160000040f000000400400043d000300000004001d0000002002400039000005d4030000410000000000320435000100000001001d00000037024000390000000201000029164504910000040f000005d502000041000000000021043500000011021000390000000101000029164504910000040f00000003030000290000000002310049000000200120008a00000000001304350000000001030019164504ba0000040f000005c201000041000000400200043d000200000002001d000000000012043500000004012000390000000302000029164504a20000040f000000020400002900000000014100490000059302000041000005930310009c0000000001028019000005930340009c000000000204401900000040022002100000006001100210000000000121019f0000164700010430000300000000000200000000030004110000059602300197000300000002001d000100000003001d000005d70230009c0000099c0000813d000200000001001d0000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f00000001022001900000099a0000613d000000000101043b00000003020000290000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f00000001022001900000099a0000613d000000000101043b000000000101041a000000ff01100190000009990000613d00000002010000290000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f00000001022001900000099a0000613d000000000101043b00000003020000290000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f00000001022001900000099a0000613d000000000101043b000000000201041a000001000300008a000000000232016f000000000021041b000000400100043d00000593020000410000000003000414000005930430009c0000000003028019000005930410009c00000000010280190000004001100210000000c002300210000000000112019f000005bc011001c70000800d020000390000000403000039000005d6040000410000000205000029000000010600002900000003070000291645163b0000040f00000001012001900000099a0000613d000000000001042d00000000010000190000164700010430000000400100043d0000006402100039000005d80300004100000000003204350000004402100039000005d903000041000000000032043500000024021000390000002f030000390000000000320435000005c20200004100000000002104350000000402100039000000200300003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c6011001c700001647000104300003000000000002000100000002001d00000596022001970000000003000411000300000002001d000000000232004b00000a0e0000c13d000200000001001d0000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f000000010220019000000a0c0000613d000000000101043b00000003020000290000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f000000010220019000000a0c0000613d000000000101043b000000000101041a000000ff0110019000000a0b0000613d00000002010000290000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f000000010220019000000a0c0000613d000000000101043b00000003020000290000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f000000010220019000000a0c0000613d000000000101043b000000000201041a000001000300008a000000000232016f000000000021041b000000400100043d00000593020000410000000003000414000005930430009c0000000003028019000005930410009c00000000010280190000004001100210000000c002300210000000000112019f000005bc011001c70000800d020000390000000403000039000005d6040000410000000205000029000000010600002900000003070000291645163b0000040f000000010120019000000a0c0000613d000000000001042d00000000010000190000164700010430000000400100043d0000006402100039000005d80300004100000000003204350000004402100039000005d903000041000000000032043500000024021000390000002f030000390000000000320435000005c20200004100000000002104350000000402100039000000200300003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c6011001c70000164700010430000d000000000002000d00000005001d000700000003001d000600000002001d000900000001001d000005ca010000410000000000100439000300000004001d0000059601400197000c00000001001d000000040010044300000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005cb011001c70000800202000039164516400000040f000000010220019000000de90000613d000000000101043b000000000110004c00000de90000613d000000400900043d000005da0100004100000000001904350000000d01000029000005960310019700000004029000390000000001000414000500000003001d00000000003204350000000c02000029000000040320008c00000a490000c13d000000010300003100000a7b0000013d0000059304000041000005930310009c0000000001048019000005930390009c000000000304001900000000030940190000004003300210000000c001100210000000000131019f00000599011001c7000d00000009001d164516400000040f0000000d09000029000000000301001900000060033002700000059303300197000000200430008c000000200500003900000000050340190000001f0450018f000000050550027200000a680000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b00000a600000413d000000000640004c00000a770000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f0003000000010355000000010220019000000e3d0000613d0000001f01300039000000200200008a000d00000002001d000000000221016f0000000001920019000000000221004b00000000020000190000000102004039000005940310009c00000deb0000213d000000010220019000000deb0000c13d000000400010043f00000595010000410000000102000031000000200320008c000000000300001900000000030140190000059502200197000000000420004c000000000100a019000005950220009c000000000103c019000000000110004c00000de90000c13d0000000001090433000200000001001d000005c801000041000000000010043900000000010004120000000400100443000000240000044300000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005c9011001c70000800502000039164516400000040f000000010220019000000de90000613d000000000101043b000005ca0200004100000000002004390000059601100197000b00000001001d000000040010044300000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005cb011001c70000800202000039164516400000040f0000000b05000029000000010220019000000de90000613d000000000101043b000000000110004c00000de90000613d000000400900043d000005cc010000410000000000190435000000440290003900000000010004140000000103000039000000000032043500000024029000390000000c03000029000000000032043500000007020000290000059603200197000800000003001d00000004029000390000000000320435000000040250008c00000acc0000c13d000000010300003100000aff0000013d0000059302000041000005930310009c0000000001028019000005930390009c00000000020940190000004002200210000000c001100210000000000121019f000005c3011001c70000000002050019000a00000009001d164516400000040f0000000a09000029000000000301001900000060033002700000059303300197000000200430008c000000200500003900000000050340190000001f0450018f000000050550027200000aeb0000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b00000ae30000413d000000000640004c00000afa0000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f000300000001035500000001022001900000000b0500002900000e5c0000613d0000001f013000390000000d02000029000000000221016f0000000001920019000000000221004b00000000020000190000000102004039000005940310009c00000deb0000213d000000010220019000000deb0000c13d000000400010043f00000595010000410000000102000031000000200320008c000000000300001900000000030140190000059502200197000000000420004c000000000100a019000005950220009c000000000103c019000000000110004c00000de90000c13d0000000001090433000a00000001001d000005960110009c00000de90000213d0000000a01000029000000000110004c000000000100001900000b8c0000613d000005ca0100004100000000001004390000000a01000029000000040010044300000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005cb011001c70000800202000039164516400000040f0000000b050000290000000102200190000000080300002900000de90000613d000000000101043b000000000110004c00000de90000613d000000400900043d000005cd0100004100000000001904350000002402900039000000000100041400000000003204350000000402900039000000090300002900000000003204350000000a02000029000000040320008c00000b400000c13d000000010300003100000b730000013d0000059304000041000005930310009c0000000001048019000005930390009c000000000304001900000000030940190000004003300210000000c001100210000000000131019f000005ce011001c7000400000009001d164516400000040f0000000409000029000000000301001900000060033002700000059303300197000000200430008c000000200500003900000000050340190000001f0450018f000000050550027200000b5f0000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b00000b570000413d000000000640004c00000b6e0000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f000300000001035500000001022001900000000b0500002900000ed80000613d0000001f013000390000000d02000029000000000221016f0000000001920019000000000221004b00000000020000190000000102004039000005940310009c00000deb0000213d000000010220019000000deb0000c13d000000400010043f00000595010000410000000102000031000000200320008c000000000300001900000000030140190000059502200197000000000420004c000000000100a019000005950220009c000000000103c019000000000110004c00000de90000c13d0000000001090433000400000001001d000005ca010000410000000000100439000000040050044300000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005cb011001c70000800202000039164516400000040f0000000b040000290000000102200190000000080600002900000de90000613d000000000101043b000000000110004c00000de90000613d000000400900043d000005cc010000410000000000190435000000240290003900000000010004140000000c0300002900000000003204350000000402900039000000000062043500000044029000390000000000020435000000040240008c00000bae0000c13d000000010300003100000be10000013d0000059302000041000005930310009c0000000001028019000005930390009c00000000020940190000004002200210000000c001100210000000000121019f000005c3011001c70000000002040019000b00000009001d164516400000040f0000000b09000029000000000301001900000060033002700000059303300197000000200430008c000000200500003900000000050340190000001f0450018f000000050550027200000bcd0000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b00000bc50000413d000000000640004c00000bdc0000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f00030000000103550000000102200190000000080600002900000e7b0000613d0000001f013000390000000d02000029000000000221016f0000000001920019000000000221004b00000000020000190000000102004039000005940310009c00000deb0000213d000000010220019000000deb0000c13d000000400010043f00000595020000410000000103000031000000200430008c000000000400001900000000040240190000059503300197000000000530004c000000000200a019000005950330009c000000000204c019000000000220004c00000de90000c13d0000000007090433000005960270009c00000de90000213d000000000270004c000000000200001900000c6c0000613d000005ca010000410000000000100439000000040070044300000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005cb011001c70000800202000039000b00000007001d164516400000040f0000000b070000290000000806000029000000010220019000000de90000613d000000000101043b000000000110004c00000de90000613d000000400900043d000005cd010000410000000000190435000000240290003900000000010004140000000000620435000000040290003900000009030000290000000000320435000000040270008c00000c1f0000c13d000000010300003100000c530000013d0000059302000041000005930310009c0000000001028019000005930390009c00000000020940190000004002200210000000c001100210000000000121019f000005ce011001c70000000002070019000100000009001d164516400000040f0000000109000029000000000301001900000060033002700000059303300197000000200430008c000000200500003900000000050340190000001f0450018f000000050550027200000c3e0000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b00000c360000413d000000000640004c00000c4d0000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f0003000000010355000000010220019000000008060000290000000b0700002900000ef70000613d0000001f013000390000000d02000029000000000221016f0000000001920019000000000221004b00000000020000190000000102004039000005940310009c00000deb0000213d000000010220019000000deb0000c13d000000400010043f00000595020000410000000103000031000000200430008c000000000400001900000000040240190000059503300197000000000530004c000000000200a019000005950330009c000000000204c019000000000220004c00000de90000c13d00000000020904330000000404000029000000000324004b0000000a03000029000000000a070019000000000a032019000000000302001900000000030420190000000602000029000000000223004b0000004402100039000000240410003900000df10000413d000000090500002900000000005204350000002002100039000005db0500004100000000005204350000000000a404350000000c04000029000000000446004b00000000040000190000000004034019000400000004001d0000000003004019000a00000003001d00000044030000390000000000310435000005dc0310009c00000deb0000213d0000008003100039000000400030043f0000000003000414000000040460008c000b0000000a001d00000c920000c13d0000000103000031000000000200001900000ca80000013d0000059304000041000005930520009c000000000204801900000040022002100000000001010433000005930510009c00000000010480190000006001100210000000000121019f000005930230009c00000000020400190000000002034019000000c002200210000000000121019f00000000020600191645163b0000040f0000000b0a000029000000010220015f00030000000103550000006001100270000105930010019d00000593031001970000006001000039000000000430004c00000cd60000613d0000003f013000390000000d04000029000000000441016f000000400100043d0000000004410019000000000514004b00000000050000190000000105004039000005940640009c00000deb0000213d000000010550019000000deb0000c13d000000400040043f0000000003310436000000030400036700000001060000310000001f0560018f000000050660027200000cc70000613d000000000700001900000005087002100000000009830019000000000884034f000000000808043b00000000008904350000000107700039000000000867004b00000cbf0000413d000000000750004c00000cd60000613d0000000506600210000000000464034f00000000036300190000000305500210000000000603043300000000065601cf000000000656022f000000000404043b0000010005500089000000000454022f00000000045401cf000000000464019f0000000000430435000000010220019000000e000000c13d0000000012010434000000000320004c00000cef0000613d0000059503000041000000200420008c000000000400001900000000040340190000059502200197000000000520004c000000000300a019000005950220009c00000000020400190000000002036019000000000220004c00000de90000c13d0000000001010433000000000210004c0000000002000019000000010200c039000000000221004b00000de90000c13d000000000110004c00000e280000613d000000400200043d000005df0120009c00000deb0000213d0000002001200039000000400010043f000800000002001d0000000000020435000005ca0100004100000000001004390000000400a0044300000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005cb011001c70000800202000039164516400000040f0000000b07000029000000010220019000000de90000613d000000000101043b000000000110004c00000de90000613d000000400800043d000005e0010000410000000000180435000000640280003900000000010004140000008003000039000000000032043500000044028000390000000503000029000000000032043500000024028000390000000403000029000000000032043500000004028000390000000a0300002900000000003204350000000809000029000000000209043300000084038000390000000000230435000000000320004c00000d2a0000613d000000a403800039000000000400001900000000053400190000002004400039000000000694001900000000060604330000000000650435000000000524004b00000d1f0000413d000000000424004b00000d2a0000a13d00000000033200190000000000030435000000040370008c00000d2f0000c13d00000001040000310000000d0300002900000d4c0000013d0000001f022000390000000d03000029000000000232016f0000059303000041000005930480009c000000000403001900000000040840190000004004400210000000a402200039000005930520009c00000000020380190000006002200210000000000242019f000005930410009c0000000001038019000000c001100210000000000112019f0000000002070019000b00000008001d1645163b0000040f0000000b0800002900000000030100190000006003300270000105930030019d00000593043001970000000d030000290003000000010355000000010220019000000e9a0000613d0000001f01400039000000000231016f0000000001820019000000000221004b00000000020000190000000102004039000005940310009c00000deb0000213d000000010220019000000deb0000c13d000000400010043f00000595010000410000000102000031000000000320004c000000000300001900000000030140190000059502200197000000000420004c000000000100a019000005950220009c000000000103c019000000000110004c00000de90000c13d000005ca0100004100000000001004390000000c01000029000000040010044300000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005cb011001c70000800202000039164516400000040f000000010220019000000de90000613d000000000101043b000000000110004c00000de90000613d000000400900043d000005da01000041000000000019043500000004029000390000000001000414000000050300002900000000003204350000000c02000029000000040320008c00000d800000c13d000000010300003100000db20000013d0000059304000041000005930310009c0000000001048019000005930390009c000000000304001900000000030940190000004003300210000000c001100210000000000131019f00000599011001c7000c00000009001d164516400000040f0000000c09000029000000000301001900000060033002700000059303300197000000200430008c000000200500003900000000050340190000001f0450018f000000050550027200000d9f0000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b00000d970000413d000000000640004c00000dae0000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f0003000000010355000000010220019000000eb90000613d0000001f013000390000000d02000029000000000221016f0000000001920019000000000221004b00000000020000190000000102004039000005940310009c00000deb0000213d000000010220019000000deb0000c13d000000400010043f00000595020000410000000103000031000000200430008c000000000400001900000000040240190000059503300197000000000530004c000000000200a019000005950330009c000000000204c019000000000220004c00000de90000c13d00000000020904330000000204000029000000000342004b00000e110000413d00000000024200490000000603000029000000000232004b00000e170000413d000000200210003900000000003204350000000902000029000000000021043500000593020000410000000003000414000005930430009c0000000003028019000005930410009c00000000010280190000004001100210000000c002300210000000000112019f000005bb011001c70000800d020000390000000303000039000005e104000041000000070500002900000003060000291645163b0000040f000000010120019000000de90000613d000000000001042d00000000010000190000164700010430000005980100004100000000001004350000004101000039000000040010043f00000599010000410000164700010430000005e403000041000000000032043500000016020000390000000000240435000005c20200004100000000002104350000000402100039000000200300003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c3011001c70000164700010430000000400100043d0000004402100039000005e3030000410000000000320435000005c2020000410000000000210435000000240210003900000020030000390000000000320435000000040210003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c3011001c70000164700010430000005980100004100000000001004350000001101000039000000040010043f000005990100004100001647000104300000004402100039000005e2030000410000000000320435000000240210003900000017030000390000000000320435000005c20200004100000000002104350000000402100039000000200300003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c3011001c70000164700010430000000400100043d0000006402100039000005dd0300004100000000003204350000004402100039000005de03000041000000000032043500000024021000390000002a030000390000000000320435000005c20200004100000000002104350000000402100039000000200300003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c6011001c700001647000104300000001f0430018f000000050230027200000e480000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b00000e410000413d000000000340004c00000e560000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000593010000410000000102000031000005930320009c0000000001024019000000600110021000001647000104300000001f0430018f000000050230027200000e670000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b00000e600000413d000000000340004c00000e750000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000593010000410000000102000031000005930320009c0000000001024019000000600110021000001647000104300000001f0430018f000000050230027200000e860000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b00000e7f0000413d000000000340004c00000e940000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000593010000410000000102000031000005930320009c0000000001024019000000600110021000001647000104300000001f0340018f000000050240027200000ea50000613d00000000040000190000000505400210000000000651034f000000000606043b00000000006504350000000104400039000000000524004b00000e9e0000413d000000000430004c00000eb30000613d00000003033002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000593010000410000000102000031000005930320009c0000000001024019000000600110021000001647000104300000001f0430018f000000050230027200000ec40000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b00000ebd0000413d000000000340004c00000ed20000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000593010000410000000102000031000005930320009c0000000001024019000000600110021000001647000104300000001f0430018f000000050230027200000ee30000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b00000edc0000413d000000000340004c00000ef10000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000593010000410000000102000031000005930320009c0000000001024019000000600110021000001647000104300000001f0430018f000000050230027200000f020000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b00000efb0000413d000000000340004c00000f100000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000593010000410000000102000031000005930320009c0000000001024019000000600110021000001647000104300000000002010019000000400100043d000005e50310009c00000f550000813d0000008003100039000000400030043f0000004203000039000000000331043600000000040000310000000204400367000000000500001900000005065002100000000007630019000000000664034f000000000606043b00000000006704350000000105500039000000030650008c00000f210000413d0000000004010433000000000440004c00000f4f0000613d0000000004030433000005d004400197000005d1044001c700000000004304350000000004010433000000020440008c00000f4f0000413d00000021041000390000000005040433000005d005500197000005d2055001c70000000000540435000000410400003900000000050200190000000002010433000000000242004b00000f4f0000a13d0000000f0250018f0000000302200210000000f80220015f000005d306000041000000000226022f00000000063400190000000007060433000005d007700197000000f802200210000000000227019f00000000002604350000000402500270000000010440008a000000010640008c00000f390000213d000000100250008c00000f5b0000813d000000000001042d000005980100004100000000001004350000003201000039000000040010043f00000599010000410000164700010430000005980100004100000000001004350000004101000039000000040010043f00000599010000410000164700010430000000400100043d0000004402100039000005e6030000410000000000320435000005c2020000410000000000210435000000240210003900000020030000390000000000320435000000040210003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c3011001c700001647000104300004000000000002000300000001001d0000000000000435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000010450000613d000000000101043b0000000101100039000000000101041a000100000001001d0000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000010450000613d000000000101043b0000000002000411000200000002001d0000059602200197000400000002001d0000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000010450000613d000000000101043b000000000101041a000000ff01100190000010470000613d0000000000000435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000010450000613d000000000101043b00000003020000290000059602200197000100000002001d0000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000010450000613d000000000101043b000000000101041a000000ff0110019000000ff30000c13d0000000000000435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000010450000613d000000000101043b00000001020000290000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000010450000613d000000000101043b000000000201041a000001000300008a000000000232016f00000001022001bf000000000021041b000000400100043d00000593020000410000000003000414000005930430009c0000000003028019000005930410009c00000000010280190000004001100210000000c002300210000000000112019f000005bc011001c70000800d020000390000000403000039000005bd040000410000000005000019000000030600002900000002070000291645163b0000040f0000000101200190000010450000613d0000000000000435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000010450000613d000000000101043b00000004020000290000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000010450000613d000000000101043b000000000101041a000000ff01100190000010440000613d0000000000000435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000010450000613d000000000101043b00000004020000290000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000010450000613d000000000101043b000000000201041a000001000300008a000000000232016f000000000021041b000000400100043d00000593020000410000000003000414000005930430009c0000000003028019000005930410009c00000000010280190000004001100210000000c002300210000000000112019f000005bc011001c70000800d020000390000000403000039000005d6040000410000000005000019000000020600002900000000070600191645163b0000040f0000000101200190000010450000613d000000000001042d00000000010000190000164700010430000000400100043d0000000007010019000005cf0110009c000010510000413d000005980100004100000000001004350000004101000039000000040010043f0000059901000041000016470001043000000000020700190000006001200039000000400010043f0000002a01000039000000000112043600000000020000310000000202200367000000000300001900000005043002100000000005410019000000000442034f000000000404043b00000000004504350000000103300039000000020430008c000010590000413d0000000002070433000000000220004c0000106b0000613d0000000002010433000005d002200197000005d1022001c700000000002104350000000002070433000000020220008c000010710000813d000005980100004100000000001004350000003201000039000000040010043f0000059901000041000016470001043000000021027000390000000003020433000005d003300197000005d2033001c700000000003204350000002902000039000000020500002900000000030500190000000004070433000000000424004b0000106b0000a13d0000000f0430018f0000000304400210000000f80440015f000005d305000041000000000445022f00000000051200190000000006050433000005d006600197000000f804400210000000000446019f00000000004504350000000405300270000000010220008a000000010420008c000010780000213d000000100130008c00000000010000190000000101004039000300000007001d164516270000040f000000010100002916450f160000040f000000400400043d000400000004001d0000002002400039000005d4030000410000000000320435000200000001001d00000037024000390000000301000029164504910000040f000005d502000041000000000021043500000011021000390000000201000029164504910000040f00000004030000290000000002310049000000200120008a00000000001304350000000001030019164504ba0000040f000005c201000041000000400200043d000300000002001d000000000012043500000004012000390000000402000029164504a20000040f000000030400002900000000014100490000059302000041000005930310009c0000000001028019000005930340009c000000000204401900000040022002100000006001100210000000000121019f000016470001043000000596022001970000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000010c70000613d000000000101043b000000000001042d000000000100001900001647000104300000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000010d70000613d000000000101043b000000000001042d000000000100001900001647000104300001000000000002000100000001001d000005b5010000410000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000011140000613d000000000101043b000000000200041100000596022001970000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000011140000613d000000000101043b000000000101041a000000ff01100190000011160000613d0000000102000029000000000120004c0000112b0000613d0000000101000039000000000021041b000000400100043d000000000021043500000593020000410000000003000414000005930430009c0000000003028019000005930410009c00000000010280190000004001100210000000c002300210000000000112019f000005bf011001c70000800d020000390000000203000039000005c00400004100000000050004101645163b0000040f0000000101200190000011140000613d000000000001042d00000000010000190000164700010430000000400100043d0000006402100039000005c40300004100000000003204350000004402100039000005c5030000410000000000320435000000240210003900000028030000390000000000320435000005c20200004100000000002104350000000402100039000000200300003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c6011001c70000164700010430000000400100043d0000004402100039000005c1030000410000000000320435000000240210003900000014030000390000000000320435000005c20200004100000000002104350000000402100039000000200300003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c3011001c700001647000104300002000000000002000200000002001d000100000001001d000005b5010000410000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000011d40000613d000000000101043b000000000200041100000596022001970000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000011d40000613d000000400300043d000000000101043b000000000101041a000000ff01100190000011dc0000613d0000002001300039000005e702000041000000000021043500000002020000290000059602200197000000240430003900000000002404350000004402000039000000000023043500000044023000390000000000020435000005e50230009c000011d60000813d0000008002300039000000400020043f000000000400041400000001020000290000059602200197000000040520008c000011780000c13d000000010300003100000000020000190000118c0000013d0000059305000041000005930610009c000000000105801900000040011002100000000003030433000005930630009c00000000030580190000006003300210000000000113019f000005930340009c00000000030500190000000003044019000000c003300210000000000131019f1645163b0000040f000000010220015f00030000000103550000006001100270000105930010019d00000593031001970000006001000039000000000430004c000011ba0000613d0000003f01300039000000200400008a000000000441016f000000400100043d0000000004410019000000000514004b00000000050000190000000105004039000005940640009c000011d60000213d0000000105500190000011d60000c13d000000400040043f0000000003310436000000030400036700000001060000310000001f0560018f0000000506600272000011ab0000613d000000000700001900000005087002100000000009830019000000000884034f000000000808043b00000000008904350000000107700039000000000867004b000011a30000413d000000000750004c000011ba0000613d0000000506600210000000000464034f00000000036300190000000305500210000000000603043300000000065601cf000000000656022f000000000404043b0000010005500089000000000454022f00000000045401cf000000000464019f00000000004304350000000102200190000011f00000c13d0000000012010434000000000320004c000011d30000613d0000059503000041000000200420008c000000000400001900000000040340190000059502200197000000000520004c000000000300a019000005950220009c00000000020400190000000002036019000000000220004c000011d40000c13d0000000001010433000000000210004c0000000002000019000000010200c039000000000221004b000011d40000c13d000000000110004c000012010000613d000000000001042d00000000010000190000164700010430000005980100004100000000001004350000004101000039000000040010043f000005990100004100001647000104300000006401300039000005c40200004100000000002104350000004401300039000005c5020000410000000000210435000000240130003900000028020000390000000000210435000005c20100004100000000001304350000000401300039000000200200003900000000002104350000059301000041000005930230009c00000000010340190000004001100210000005c6011001c70000164700010430000000400100043d0000004402100039000005e3030000410000000000320435000005c2020000410000000000210435000000240210003900000020030000390000000000320435000000040210003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c3011001c70000164700010430000000400100043d0000006402100039000005dd0300004100000000003204350000004402100039000005de03000041000000000032043500000024021000390000002a030000390000000000320435000005c20200004100000000002104350000000402100039000000200300003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c6011001c700001647000104300003000000000002000300000002001d000200000001001d000005b5010000410000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000012c40000613d000000000101043b00000000020004110000059602200197000100000002001d0000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000012c40000613d000000000101043b000000000101041a000000ff01100190000012cc0000613d0000000303000029000000000130004c000012e10000613d000000400100043d000000440210003900000000003204350000002003100039000005db0200004100000000002304350000002402100039000000010400002900000000004204350000004402000039000000000021043500000002020000290000059602200197000005e50410009c000012c60000813d0000008004100039000000400040043f0000000004000414000000040520008c000012540000c13d00000001030000310000000002000019000012680000013d0000059305000041000005930630009c000000000305801900000040033002100000000001010433000005930610009c00000000010580190000006001100210000000000131019f000005930340009c00000000030500190000000003044019000000c003300210000000000131019f1645163b0000040f000000010220015f00030000000103550000006001100270000105930010019d00000593031001970000006001000039000000000430004c000012960000613d0000003f01300039000000200400008a000000000441016f000000400100043d0000000004410019000000000514004b00000000050000190000000105004039000005940640009c000012c60000213d0000000105500190000012c60000c13d000000400040043f0000000003310436000000030400036700000001060000310000001f0560018f0000000506600272000012870000613d000000000700001900000005087002100000000009830019000000000884034f000000000808043b00000000008904350000000107700039000000000867004b0000127f0000413d000000000750004c000012960000613d0000000506600210000000000464034f00000000036300190000000305500210000000000603043300000000065601cf000000000656022f000000000404043b0000010005500089000000000454022f00000000045401cf000000000464019f00000000004304350000000102200190000012f30000c13d0000000012010434000000000320004c000012af0000613d0000059503000041000000200420008c000000000400001900000000040340190000059502200197000000000520004c000000000300a019000005950220009c00000000020400190000000002036019000000000220004c000012c40000c13d0000000001010433000000000210004c0000000002000019000000010200c039000000000221004b000012c40000c13d000000000110004c000013040000613d000000400100043d0000000302000029000000000021043500000593020000410000000003000414000005930430009c0000000003028019000005930410009c00000000010280190000004001100210000000c002300210000000000112019f000005bf011001c70000800d020000390000000203000039000005e80400004100000002050000291645163b0000040f0000000101200190000012c40000613d000000000001042d00000000010000190000164700010430000005980100004100000000001004350000004101000039000000040010043f00000599010000410000164700010430000000400100043d0000006402100039000005c40300004100000000003204350000004402100039000005c5030000410000000000320435000000240210003900000028030000390000000000320435000005c20200004100000000002104350000000402100039000000200300003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c6011001c70000164700010430000000400100043d0000004402100039000005e903000041000000000032043500000024021000390000001e030000390000000000320435000005c20200004100000000002104350000000402100039000000200300003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c3011001c70000164700010430000000400100043d0000004402100039000005e3030000410000000000320435000005c2020000410000000000210435000000240210003900000020030000390000000000320435000000040210003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c3011001c70000164700010430000000400100043d0000006402100039000005dd0300004100000000003204350000004402100039000005de03000041000000000032043500000024021000390000002a030000390000000000320435000005c20200004100000000002104350000000402100039000000200300003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c6011001c700001647000104300002000000000002000200000001001d000005b5010000410000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f00000001022001900000139d0000613d000000000101043b0000000002000411000100000002001d00000596022001970000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f00000001022001900000139d0000613d000000000101043b000000000101041a000000ff011001900000139f0000613d0000000209000029000000000190004c0000000104000029000013b40000613d0000000001000414000000040240008c000013460000c13d000000010200003900000001010000310000135a0000013d0000059302000041000000400300043d000005930530009c0000000003028019000005930510009c0000000001028019000000c0011002100000004002300210000000000112019f000005bc011001c70000800902000039000000000309001900000000050000191645163b0000040f0000000209000029000000010220018f00030000000103550000006001100270000105930010019d0000059301100197000000000310004c000013870000613d0000003f03100039000000200400008a000000000443016f000000400300043d0000000004430019000000000534004b00000000050000190000000105004039000005940640009c000013d70000213d0000000105500190000013d70000c13d000000400040043f0000000001130436000000030300036700000001050000310000001f0450018f0000000505500272000013780000613d000000000600001900000005076002100000000008710019000000000773034f000000000707043b00000000007804350000000106600039000000000756004b000013700000413d000000000640004c000013870000613d0000000505500210000000000353034f00000000015100190000000304400210000000000501043300000000054501cf000000000545022f000000000303043b0000010004400089000000000343022f00000000034301cf000000000353019f0000000000310435000000400100043d000000000220004c000013c60000613d000000000091043500000593020000410000000003000414000005930430009c0000000003028019000005930410009c00000000010280190000004001100210000000c002300210000000000112019f000005bf011001c70000800d020000390000000203000039000005e80400004100000000050000191645163b0000040f00000001012001900000139d0000613d000000000001042d00000000010000190000164700010430000000400100043d0000006402100039000005c40300004100000000003204350000004402100039000005c5030000410000000000320435000000240210003900000028030000390000000000320435000005c20200004100000000002104350000000402100039000000200300003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c6011001c70000164700010430000000400100043d0000004402100039000005e903000041000000000032043500000024021000390000001e030000390000000000320435000005c20200004100000000002104350000000402100039000000200300003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c3011001c700001647000104300000004402100039000005ea030000410000000000320435000000240210003900000010030000390000000000320435000005c20200004100000000002104350000000402100039000000200300003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c3011001c70000164700010430000005980100004100000000001004350000004101000039000000040010043f000005990100004100001647000104300004000000000002000300000002001d000400000001001d0000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000014670000613d000000000101043b0000000101100039000000000101041a000100000001001d0000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000014670000613d000000000101043b0000000002000411000200000002001d00000596022001970000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000014670000613d000000000101043b000000000101041a000000ff01100190000014690000613d00000004010000290000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000014670000613d000000000101043b00000003020000290000059602200197000100000002001d0000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000014670000613d000000000101043b000000000101041a000000ff01100190000014660000c13d00000004010000290000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000014670000613d000000000101043b00000001020000290000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000014670000613d000000000101043b000000000201041a000001000300008a000000000232016f00000001022001bf000000000021041b000000400100043d00000593020000410000000003000414000005930430009c0000000003028019000005930410009c00000000010280190000004001100210000000c002300210000000000112019f000005bc011001c70000800d020000390000000403000039000005bd040000410000000405000029000000030600002900000002070000291645163b0000040f0000000101200190000014670000613d000000000001042d00000000010000190000164700010430000000400100043d0000000007010019000005cf0110009c000014730000413d000005980100004100000000001004350000004101000039000000040010043f0000059901000041000016470001043000000000020700190000006001200039000000400010043f0000002a01000039000000000112043600000000020000310000000202200367000000000300001900000005043002100000000005410019000000000442034f000000000404043b00000000004504350000000103300039000000020430008c0000147b0000413d0000000002070433000000000220004c0000148d0000613d0000000002010433000005d002200197000005d1022001c700000000002104350000000002070433000000020220008c000014930000813d000005980100004100000000001004350000003201000039000000040010043f0000059901000041000016470001043000000021027000390000000003020433000005d003300197000005d2033001c700000000003204350000002902000039000000020500002900000000030500190000000004070433000000000424004b0000148d0000a13d0000000f0430018f0000000304400210000000f80440015f000005d305000041000000000445022f00000000051200190000000006050433000005d006600197000000f804400210000000000446019f00000000004504350000000405300270000000010220008a000000010420008c0000149a0000213d000000100130008c00000000010000190000000101004039000300000007001d164516270000040f000000010100002916450f160000040f000000400400043d000400000004001d0000002002400039000005d4030000410000000000320435000200000001001d00000037024000390000000301000029164504910000040f000005d502000041000000000021043500000011021000390000000201000029164504910000040f00000004030000290000000002310049000000200120008a00000000001304350000000001030019164504ba0000040f000005c201000041000000400200043d000300000002001d000000000012043500000004012000390000000402000029164504a20000040f000000030400002900000000014100490000059302000041000005930310009c0000000001028019000005930340009c000000000204401900000040022002100000006001100210000000000121019f00001647000104300004000000000002000300000002001d000400000001001d0000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000015630000613d000000000101043b0000000101100039000000000101041a000100000001001d0000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000015630000613d000000000101043b0000000002000411000200000002001d00000596022001970000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000015630000613d000000000101043b000000000101041a000000ff01100190000015650000613d00000004010000290000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000015630000613d000000000101043b00000003020000290000059602200197000100000002001d0000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000015630000613d000000000101043b000000000101041a000000ff01100190000015620000613d00000004010000290000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000015630000613d000000000101043b00000001020000290000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000015630000613d000000000101043b000000000201041a000001000300008a000000000232016f000000000021041b000000400100043d00000593020000410000000003000414000005930430009c0000000003028019000005930410009c00000000010280190000004001100210000000c002300210000000000112019f000005bc011001c70000800d020000390000000403000039000005d6040000410000000405000029000000030600002900000002070000291645163b0000040f0000000101200190000015630000613d000000000001042d00000000010000190000164700010430000000400100043d0000000007010019000005cf0110009c0000156f0000413d000005980100004100000000001004350000004101000039000000040010043f0000059901000041000016470001043000000000020700190000006001200039000000400010043f0000002a01000039000000000112043600000000020000310000000202200367000000000300001900000005043002100000000005410019000000000442034f000000000404043b00000000004504350000000103300039000000020430008c000015770000413d0000000002070433000000000220004c000015890000613d0000000002010433000005d002200197000005d1022001c700000000002104350000000002070433000000020220008c0000158f0000813d000005980100004100000000001004350000003201000039000000040010043f0000059901000041000016470001043000000021027000390000000003020433000005d003300197000005d2033001c700000000003204350000002902000039000000020500002900000000030500190000000004070433000000000424004b000015890000a13d0000000f0430018f0000000304400210000000f80440015f000005d305000041000000000445022f00000000051200190000000006050433000005d006600197000000f804400210000000000446019f00000000004504350000000405300270000000010220008a000000010420008c000015960000213d000000100130008c00000000010000190000000101004039000300000007001d164516270000040f000000010100002916450f160000040f000000400400043d000400000004001d0000002002400039000005d4030000410000000000320435000200000001001d00000037024000390000000301000029164504910000040f000005d502000041000000000021043500000011021000390000000201000029164504910000040f00000004030000290000000002310049000000200120008a00000000001304350000000001030019164504ba0000040f000005c201000041000000400200043d000300000002001d000000000012043500000004012000390000000402000029164504a20000040f000000030400002900000000014100490000059302000041000005930310009c0000000001028019000005930340009c000000000204401900000040022002100000006001100210000000000121019f000016470001043000030000000000020000000202000039000000000102041a000000010310019000000001041002700000007f0540018f000000000604001900000000060560190000001f0460008c00000000040000190000000104002039000000010440018f000000000443004b000016190000c13d000000400500043d0000000004650436000000000330004c000015ed0000c13d000001000200008a000000000121016f000000000014043500000040020000390000160e0000013d000100000004001d000200000006001d000300000005001d000000000020043500000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bf011001c70000801002000039164516400000040f0000000102200190000016250000613d00000020020000390000000206000029000000000360004c00000003050000290000160e0000613d000000000101043b0000000003000019000000010700002900000000020300190000000003720019000000000401041a000000000043043500000001011000390000002003200039000000000463004b000016030000413d0000005f01200039000000200200008a000000000221016f0000000001520019000000000221004b00000000020000190000000102004039000005940310009c0000161f0000213d00000001022001900000161f0000c13d000000400010043f0000000001050019000000000001042d000005980100004100000000001004350000002201000039000000040010043f00000599010000410000164700010430000005980100004100000000001004350000004101000039000000040010043f0000059901000041000016470001043000000000010000190000164700010430000000000110004c0000162a0000613d000000000001042d000000400100043d0000004402100039000005e6030000410000000000320435000005c2020000410000000000210435000000240210003900000020030000390000000000320435000000040210003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c3011001c700001647000104300000163e002104210000000102000039000000000001042d0000000002000019000000000001042d00001643002104230000000102000039000000000001042d0000000002000019000000000001042d0000164500000432000016460001042e0000164700010430000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff000000000000000000000000000000000000000000000000ffffffffffffffff8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffffffffffff00000002000000000000000000000000000000800000010000000000000000004e487b71000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024000000000000000000000000000000000000000000000000000000000000000000000000000000008980f11e00000000000000000000000000000000000000000000000000000000d8baf7ce00000000000000000000000000000000000000000000000000000000ef99893900000000000000000000000000000000000000000000000000000000ef99893a00000000000000000000000000000000000000000000000000000000f2fde38b00000000000000000000000000000000000000000000000000000000f874225400000000000000000000000000000000000000000000000000000000d8baf7cf00000000000000000000000000000000000000000000000000000000eab90da60000000000000000000000000000000000000000000000000000000091d148530000000000000000000000000000000000000000000000000000000091d1485400000000000000000000000000000000000000000000000000000000a217fddf00000000000000000000000000000000000000000000000000000000d547741f000000000000000000000000000000000000000000000000000000008980f11f000000000000000000000000000000000000000000000000000000008bb9c5bf000000000000000000000000000000000000000000000000000000004ebb7915000000000000000000000000000000000000000000000000000000006b453c1e000000000000000000000000000000000000000000000000000000006b453c1f000000000000000000000000000000000000000000000000000000007ae267730000000000000000000000000000000000000000000000000000000084a33e63000000000000000000000000000000000000000000000000000000004ebb79160000000000000000000000000000000000000000000000000000000069cff80d00000000000000000000000000000000000000000000000000000000248a9ca200000000000000000000000000000000000000000000000000000000248a9ca3000000000000000000000000000000000000000000000000000000002f2ff15d0000000000000000000000000000000000000000000000000000000036568abe0000000000000000000000000000000000000000000000000000000001ffc9a70000000000000000000000000000000000000000000000000000000006fdde03339759585899103d2ace64958e37e18ccb0504652c81d4a1b8aa80fe2126ab950000000000000000000000000000000000000020000000000000000000000000ffffffff0000000000000000000000000000000000000000000000000000000001ffc9a7000000000000000000000000000000000000000000000000000000007965db0b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000800000000000000000020000000000000000000000000000000000004000000000000000000000000002000000000000000000000000000000000000000000000000000000000000002f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d00000000000000000000000000000000000000000000000100000000000000000200000000000000000000000000000000000020000000000000000000000000f43f23b7a28e6f8ce6843a21bd7b48bce778aa913b8c8cf459edf7d770e8d38a496e76616c6964206761732d657374696d61746500000000000000000000000008c379a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000064000000000000000000000000696e7461696e65720000000000000000000000000000000000000000000000004d61696e7461696e61626c653a2043616c6c6572206973206e6f742061206d610000000000000000000000000000000000000084000000000000000000000000496e76616c69642061646170746572206e616d65000000000000000000000000310ab089e4439a4c15d089f94afb7896ff553aecb10793d0ab882de59d99a32e02000002000000000000000000000000000000440000000000000000000000001806aa1896bbf26568e884a7374b41e002500962caba6a15023a8d90e8508b8302000002000000000000000000000000000000240000000000000000000000006801cc3000000000000000000000000000000000000000000000000000000000f140a35a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffa000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff300000000000000000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000000000000000003031323334353637383961626364656600000000000000000000000000000000416363657373436f6e74726f6c3a206163636f756e7420000000000000000000206973206d697373696e6720726f6c6520000000000000000000000000000000f6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b000000000000000000000001000000000000000000000000000000000000000020726f6c657320666f722073656c660000000000000000000000000000000000416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636570a0823100000000000000000000000000000000000000000000000000000000a9059cbb00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffff7f6f742073756363656564000000000000000000000000000000000000000000005361666545524332303a204552433230206f7065726174696f6e20646964206e000000000000000000000000000000000000000000000000ffffffffffffffdf022c0d9f00000000000000000000000000000000000000000000000000000000e2bdbc6b7225eb0a972ac943c485a6cc05f7c6811838bce8903f23200fb744fa496e73756666696369656e7420616d6f756e742d6f75740000000000000000005361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564496e737566666963656e7420616d6f756e74206f757400000000000000000000000000000000000000000000000000000000000000000000ffffffffffffff80537472696e67733a20686578206c656e67746820696e73756666696369656e74095ea7b3000000000000000000000000000000000000000000000000000000008c1256b8896378cd5044f80c202f9772b9d77dc85c8a6eb51967210b09bfaa2859616b416461707465723a204e6f7468696e6720746f207265636f76657200005472616e73666572206661696c65642e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c6d4a390b47ed4e406445aa2c7378dfef3f4492b88ea658fb74adaf81e1a596a", + "devdoc": { + "kind": "dev", + "methods": { + "getRoleAdmin(bytes32)": { + "details": "Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}." + }, + "grantRole(bytes32,address)": { + "details": "Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event." + }, + "hasRole(bytes32,address)": { + "details": "Returns `true` if `account` has been granted `role`." + }, + "renounceRole(bytes32,address)": { + "details": "Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event." + }, + "revokeRole(bytes32,address)": { + "details": "Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event." + }, + "supportsInterface(bytes4)": { + "details": "See {IERC165-supportsInterface}." + } + }, + "version": 1 + }, + "userdoc": { + "kind": "user", + "methods": {}, + "version": 1 + }, + "storageLayout": { + "storage": [ + { + "astId": 24, + "contract": "src/contracts/adapters/VelocoreAdapter.sol:VelocoreAdapter", + "label": "_roles", + "offset": 0, + "slot": "0", + "type": "t_mapping(t_bytes32,t_struct(RoleData)19_storage)" + }, + { + "astId": 718, + "contract": "src/contracts/adapters/VelocoreAdapter.sol:VelocoreAdapter", + "label": "swapGasEstimate", + "offset": 0, + "slot": "1", + "type": "t_uint256" + }, + { + "astId": 720, + "contract": "src/contracts/adapters/VelocoreAdapter.sol:VelocoreAdapter", + "label": "name", + "offset": 0, + "slot": "2", + "type": "t_string_storage" + } + ], + "types": { + "t_address": { + "encoding": "inplace", + "label": "address", + "numberOfBytes": "20" + }, + "t_bool": { + "encoding": "inplace", + "label": "bool", + "numberOfBytes": "1" + }, + "t_bytes32": { + "encoding": "inplace", + "label": "bytes32", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_bool)": { + "encoding": "mapping", + "key": "t_address", + "label": "mapping(address => bool)", + "numberOfBytes": "32", + "value": "t_bool" + }, + "t_mapping(t_bytes32,t_struct(RoleData)19_storage)": { + "encoding": "mapping", + "key": "t_bytes32", + "label": "mapping(bytes32 => struct AccessControl.RoleData)", + "numberOfBytes": "32", + "value": "t_struct(RoleData)19_storage" + }, + "t_string_storage": { + "encoding": "bytes", + "label": "string", + "numberOfBytes": "32" + }, + "t_struct(RoleData)19_storage": { + "encoding": "inplace", + "label": "struct AccessControl.RoleData", + "members": [ + { + "astId": 16, + "contract": "src/contracts/adapters/VelocoreAdapter.sol:VelocoreAdapter", + "label": "members", + "offset": 0, + "slot": "0", + "type": "t_mapping(t_address,t_bool)" + }, + { + "astId": 18, + "contract": "src/contracts/adapters/VelocoreAdapter.sol:VelocoreAdapter", + "label": "adminRole", + "offset": 0, + "slot": "1", + "type": "t_bytes32" + } + ], + "numberOfBytes": "64" + }, + "t_uint256": { + "encoding": "inplace", + "label": "uint256", + "numberOfBytes": "32" + } + } + }, + "factoryDeps": [ + "0x0004000000000002000100000000000200000000030100190000006003300270000005930430019700030000004103550002000000010355000005930030019d000100000000001f00000001012001900000002b0000c13d0000008001000039000000400010043f0000000001000031000000040210008c000000aa0000413d0000000201000367000000000101043b000000e0011002700000059a0210009c000000b40000213d000005a80210009c000000ca0000213d000005af0210009c0000010f0000a13d000005b00210009c000001820000613d000005b10210009c0000019f0000613d000005b20110009c0000024f0000c13d0000000001000416000000000110004c0000024f0000c13d0000000001000031164504280000040f164509b10000040f0000059301000041000000400200043d000005930320009c00000000010240190000004001100210000016460001042e000000a001000039000000400010043f0000000001000416000000000110004c0000024f0000c13d00000000040000310000001f02400039000000200100008a000000000512016f000000400300043d0000000002350019000000000552004b00000000050000190000000105004039000005940620009c000000ae0000213d0000000105500190000000ae0000c13d000000400020043f0000001f0240018f000000020500036700000005064002720000004b0000613d000000000700001900000005087002100000000009830019000000000885034f000000000808043b00000000008904350000000107700039000000000867004b000000430000413d000000000720004c0000005a0000613d0000000506600210000000000565034f00000000066300190000000302200210000000000706043300000000072701cf000000000727022f000000000505043b0000010002200089000000000525022f00000000022501cf000000000272019f00000000002604350000059502000041000000600540008c000000000500001900000000050240190000059506400197000000000760004c000000000200a019000005950660009c000000000205c019000000000220004c0000024f0000c13d0000000025030434000005940650009c0000024f0000213d000000000643001900000000043500190000001f054000390000059507000041000000000865004b0000000008000019000000000807801900000595055001970000059509600197000000000a95004b0000000007008019000000000595013f000005950550009c00000000050800190000000005076019000000000550004c0000024f0000c13d0000000005040433000005940750009c000000ae0000213d0000003f07500039000000000717016f000000400100043d0000000007710019000000000817004b00000000080000190000000108004039000005940970009c000000ae0000213d0000000108800190000000ae0000c13d000000400070043f000000000051043500000020075000390000000008470019000000000668004b0000024f0000213d000000000650004c0000009b0000613d000000000600001900000020066000390000000008160019000000000946001900000000090904330000000000980435000000000856004b000000900000413d000000000456004b0000009b0000a13d000000000417001900000000000404350000000002020433000005960420009c0000024f0000213d00000040033000390000000003030433164502510000040f000000800100043d0000014000000443000001600010044300000020010000390000010000100443000000010100003900000120001004430000059701000041000016460001042e000000000110004c0000024f0000c13d0000000001000019000016460001042e000005980100004100000000001004350000004101000039000000040010043f000005990100004100001647000104300000059b0210009c000000ed0000213d000005a20210009c000001340000a13d000005a30210009c000001ab0000613d000005a40210009c000001c00000613d000005a50110009c0000024f0000c13d0000000001000416000000000110004c0000024f0000c13d0000000001000031164504280000040f164514da0000040f0000059301000041000000400200043d000005930320009c00000000010240190000004001100210000016460001042e000005a90210009c000001530000a13d000005aa0210009c000001d90000613d000005ab0210009c000001e50000613d000005ac0110009c0000024f0000c13d0000000001000416000000000110004c0000024f0000c13d000000040100008a00000000011000310000059502000041000000200310008c000000000300001900000000030240190000059501100197000000000410004c000000000200a019000005950110009c00000000010300190000000001026019000000000110004c0000024f0000c13d00000004010000390000000201100367000000000101043b164510d90000040f0000059301000041000000400200043d000005930320009c00000000010240190000004001100210000016460001042e0000059c0210009c000001720000a13d0000059d0210009c000001f10000613d0000059e0210009c000001ff0000613d0000059f0110009c0000024f0000c13d0000000001000416000000000110004c0000024f0000c13d000000040100008a00000000011000310000059502000041000000000310004c000000000300001900000000030240190000059501100197000000000410004c000000000200a019000005950110009c00000000010300190000000001026019000000000110004c0000024f0000c13d000000400100043d000005b50200004100000000002104350000059302000041000005930310009c00000000010280190000004001100210000005b6011001c7000016460001042e000005b30210009c0000020b0000613d000005b40110009c0000024f0000c13d0000000001000416000000000110004c0000024f0000c13d000000040100008a00000000011000310000059502000041000000000310004c000000000300001900000000030240190000059501100197000000000410004c000000000200a019000005950110009c00000000010300190000000001026019000000000110004c0000024f0000c13d164515d60000040f0000000002010019000000400100043d000100000001001d164504a20000040f000000010400002900000000014100490000059302000041000005930310009c0000000001028019000005930340009c000000000204401900000040022002100000006001100210000000000121019f000016460001042e000005a60210009c0000021c0000613d000005a70110009c0000024f0000c13d0000000001000416000000000110004c0000024f0000c13d000000040100008a00000000011000310000059502000041000000200310008c000000000300001900000000030240190000059501100197000000000410004c000000000200a019000005950110009c00000000010300190000000001026019000000000110004c0000024f0000c13d00000004010000390000000201100367000000000101043b1645093f0000040f0000059301000041000000400200043d000005930320009c00000000010240190000004001100210000016460001042e000005ad0210009c000002280000613d000005ae0110009c0000024f0000c13d0000000001000416000000000110004c0000024f0000c13d000000040100008a00000000011000310000059502000041000000000310004c000000000300001900000000030240190000059501100197000000000410004c000000000200a019000005950110009c00000000010300190000000001026019000000000110004c0000024f0000c13d0000000101000039000000000101041a000000400200043d00000000001204350000059301000041000005930320009c00000000010240190000004001100210000005b6011001c7000016460001042e000005a00210009c000002430000613d000005a10110009c0000024f0000c13d0000000001000416000000000110004c0000024f0000c13d0000000001000031164504700000040f16450a230000040f0000059301000041000000400200043d000005930320009c00000000010240190000004001100210000016460001042e0000000001000416000000000110004c0000024f0000c13d000000040100008a00000000011000310000059502000041000000200310008c000000000300001900000000030240190000059501100197000000000410004c000000000200a019000005950110009c00000000010300190000000001026019000000000110004c0000024f0000c13d00000004010000390000000201100367000000000101043b164508310000040f000000400200043d00000000001204350000059301000041000005930320009c00000000010240190000004001100210000005b6011001c7000016460001042e0000000001000416000000000110004c0000024f0000c13d0000000001000031164504280000040f164513dd0000040f0000059301000041000000400200043d000005930320009c00000000010240190000004001100210000016460001042e0000000001000416000000000110004c0000024f0000c13d0000000001000031164504280000040f000100000002001d164510c90000040f0000000102000029164510b80000040f000000000101041a000000ff011001900000000001000019000000010100c039000000400200043d00000000001204350000059301000041000005930320009c00000000010240190000004001100210000005b6011001c7000016460001042e0000000001000416000000000110004c0000024f0000c13d000000040100008a00000000011000310000059502000041000000000310004c000000000300001900000000030240190000059501100197000000000410004c000000000200a019000005950110009c00000000010300190000000001026019000000000110004c0000024f0000c13d000000400100043d00000000000104350000059302000041000005930310009c00000000010280190000004001100210000005b6011001c7000016460001042e0000000001000416000000000110004c0000024f0000c13d0000000001000031164503e30000040f164507340000040f0000059301000041000000400200043d000005930320009c00000000010240190000004001100210000016460001042e0000000001000416000000000110004c0000024f0000c13d0000000001000031164503f80000040f1645113d0000040f0000059301000041000000400200043d000005930320009c00000000010240190000004001100210000016460001042e0000000001000416000000000110004c0000024f0000c13d0000000001000031164504550000040f164504cd0000040f000000400200043d00000000001204350000059301000041000005930320009c00000000010240190000004001100210000005b6011001c7000016460001042e0000000001000416000000000110004c0000024f0000c13d0000000001000031164503e30000040f16450f6c0000040f0000059301000041000000400200043d000005930320009c00000000010240190000004001100210000016460001042e0000000001000416000000000110004c0000024f0000c13d00000000010000311645043f0000040f000005b701100197000005b80210009c00000000020000190000000102006039000005b90110009c00000000010000190000000101006039000000000121019f000000010110018f000000800010043f000005ba01000041000016460001042e0000000001000416000000000110004c0000024f0000c13d0000000001000031164504110000040f164512160000040f0000059301000041000000400200043d000005930320009c00000000010240190000004001100210000016460001042e0000000001000416000000000110004c0000024f0000c13d000000040100008a00000000011000310000059502000041000000200310008c000000000300001900000000030240190000059501100197000000000410004c000000000200a019000005950110009c00000000010300190000000001026019000000000110004c0000024f0000c13d00000004010000390000000201100367000000000101043b164513190000040f0000059301000041000000400200043d000005930320009c00000000010240190000004001100210000016460001042e0000000001000416000000000110004c0000024f0000c13d0000000001000031164503e30000040f164508430000040f0000059301000041000000400200043d000005930320009c00000000010240190000004001100210000016460001042e000000000100001900001647000104300008000000000002000600000003001d000500000002001d000700000001001d0000000000000435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f00000001022001900000039c0000613d000000000101043b0000000002000411000400000002001d0000059602200197000800000002001d0000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f00000001022001900000039c0000613d000000000101043b000000000101041a000000ff01100190000002aa0000c13d0000000000000435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f00000001022001900000039c0000613d000000000101043b00000008020000290000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f00000001022001900000039c0000613d000000000101043b000000000201041a000001000300008a000000000232016f00000001022001bf000000000021041b000000400100043d00000593020000410000000003000414000005930430009c0000000003028019000005930410009c00000000010280190000004001100210000000c002300210000000000112019f000005bc011001c70000800d020000390000000403000039000005bd040000410000000005000019000000040600002900000000070600191645163b0000040f00000001012001900000039c0000613d000005b5010000410000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f00000001022001900000039c0000613d000000000101043b00000008020000290000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f00000001022001900000039c0000613d000000000101043b000000000101041a000000ff01100190000002fe0000c13d000005b5010000410000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f00000001022001900000039c0000613d000000000101043b00000008020000290000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f00000001022001900000039c0000613d000000000101043b000000000201041a000001000300008a000000000232016f00000001022001bf000000000021041b000000400100043d00000593020000410000000003000414000005930430009c0000000003028019000005930410009c00000000010280190000004001100210000000c002300210000000000112019f000005bc011001c70000800d020000390000000403000039000005bd04000041000005b505000041000000040600002900000000070600191645163b0000040f00000001012001900000039c0000613d00000007060000290000000058060434000000000180004c0000039e0000613d000005be0180009c000003b00000813d0000000207000039000000000107041a000000010210019000000001011002700000007f0310018f000000000401001900000000040360190000001f0140008c00000000010000190000000101002039000000010110018f000000000112004b000003b60000c13d000000000184019f000000200110008c00000000010000190000032a0000413d000100000004001d000200000005001d000300000008001d000400000007001d000000000070043500000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bf011001c70000801002000039164516400000040f00000001022001900000039c0000613d000000000101043b00000007060000290000000407000029000000030800002900000002050000290000000104000029000000200240008c0000033b0000413d0000001f028000390000000502200270000000200380008c000000000302001900000000030040190000001f02400039000000050220027000000000022100190000000003310019000000000423004b0000033b0000813d000000000003041b0000000103300039000000000423004b000003370000413d0000001f0280008c000003590000a13d000000200200008a000000000328017000000020020000390000034b0000613d0000002002000039000000000400001900000000056200190000000005050433000000000051041b000000200220003900000001011000390000002004400039000000000534004b000003430000413d000000000383004b000003560000813d0000000303800210000000f80330018f000000010400008a000000000334022f000000000343013f00000000026200190000000002020433000000000232016f000000000021041b00000001010000390000000102800210000003600000013d0000000301800210000000010200008a000000000112022f000000000121013f0000000002050433000000000212016f0000000101800210000000000112019f000000000017041b000005b5010000410000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f00000001022001900000039c0000613d000000000101043b00000008020000290000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f00000001022001900000039c0000613d000000000101043b000000000101041a000000ff01100190000003bc0000613d0000000602000029000000000120004c000003d10000613d0000000101000039000000000021041b000000400100043d000000000021043500000593020000410000000003000414000005930430009c0000000003028019000005930410009c00000000010280190000004001100210000000c002300210000000000112019f000005bf011001c70000800d020000390000000203000039000005c00400004100000000050004101645163b0000040f00000001012001900000039c0000613d0000000501000029000000800010043f000000000001042d00000000010000190000164700010430000000400100043d0000004402100039000005c7030000410000000000320435000000240210003900000014030000390000000000320435000005c20200004100000000002104350000000402100039000000200300003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c3011001c70000164700010430000005980100004100000000001004350000004101000039000000040010043f00000599010000410000164700010430000005980100004100000000001004350000002201000039000000040010043f00000599010000410000164700010430000000400100043d0000006402100039000005c40300004100000000003204350000004402100039000005c5030000410000000000320435000000240210003900000028030000390000000000320435000005c20200004100000000002104350000000402100039000000200300003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c6011001c70000164700010430000000400100043d0000004402100039000005c1030000410000000000320435000000240210003900000014030000390000000000320435000005c20200004100000000002104350000000402100039000000200300003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c3011001c70000164700010430000000040110008a00000595020000410000001f0310008c000000000300001900000000030220190000059501100197000000000410004c0000000002008019000005950110009c00000000010300190000000001026019000000000110004c000003f60000613d00000004010000390000000201100367000000000101043b000005960210009c000003f60000213d000000000001042d00000000010000190000164700010430000000040110008a00000595020000410000003f0310008c000000000300001900000000030220190000059501100197000000000410004c0000000002008019000005950110009c00000000010300190000000001026019000000000110004c0000040f0000613d00000002020003670000000401200370000000000101043b000005960310009c0000040f0000213d0000002402200370000000000202043b000005960320009c0000040f0000213d000000000001042d00000000010000190000164700010430000000040110008a00000595020000410000003f0310008c000000000300001900000000030220190000059501100197000000000410004c0000000002008019000005950110009c00000000010300190000000001026019000000000110004c000004260000613d00000002020003670000000401200370000000000101043b000005960310009c000004260000213d0000002402200370000000000202043b000000000001042d00000000010000190000164700010430000000040110008a00000595020000410000003f0310008c000000000300001900000000030220190000059501100197000000000410004c0000000002008019000005950110009c00000000010300190000000001026019000000000110004c0000043d0000613d00000002010003670000002402100370000000000202043b000005960320009c0000043d0000213d0000000401100370000000000101043b000000000001042d00000000010000190000164700010430000000040110008a00000595020000410000001f0310008c000000000300001900000000030220190000059501100197000000000410004c0000000002008019000005950110009c00000000010300190000000001026019000000000110004c000004530000613d00000004010000390000000201100367000000000101043b000005b702100197000000000221004b000004530000c13d000000000001042d00000000010000190000164700010430000000040110008a00000595020000410000005f0310008c000000000300001900000000030220190000059501100197000000000410004c0000000002008019000005950110009c00000000010300190000000001026019000000000110004c0000046e0000613d00000002030003670000000401300370000000000101043b0000002402300370000000000202043b000005960420009c0000046e0000213d0000004403300370000000000303043b000005960430009c0000046e0000213d000000000001042d00000000010000190000164700010430000000040110008a00000595020000410000009f0310008c000000000300001900000000030220190000059501100197000000000410004c0000000002008019000005950110009c00000000010300190000000001026019000000000110004c0000048f0000613d00000002050003670000002401500370000000000201043b0000000401500370000000000101043b0000004403500370000000000303043b000005960430009c0000048f0000213d0000006404500370000000000404043b000005960640009c0000048f0000213d0000008405500370000000000505043b000005960650009c0000048f0000213d000000000001042d0000000001000019000016470001043000000000030100190000000004030433000000000140004c0000000001240019000004a10000613d000000000500001900000000062500190000002005500039000000000735001900000000070704330000000000760435000000000645004b000004970000413d000000000245004b000004a10000a13d0000000000010435000000000001042d00000020030000390000000004310436000000000302043300000000003404350000004001100039000000000430004c000004b50000613d000000000400001900000000051400190000002004400039000000000624001900000000060604330000000000650435000000000534004b000004aa0000413d000000000234004b000004b50000a13d000000000213001900000000000204350000001f02300039000000200300008a000000000232016f0000000001120019000000000001042d0000001f02200039000000200300008a000000000232016f0000000001120019000000000221004b00000000020000190000000102004039000005940310009c000004c70000213d0000000102200190000004c70000c13d000000400010043f000000000001042d000005980100004100000000001004350000004101000039000000040010043f0000059901000041000016470001043000060000000000020000000005010019000000000123013f00000596011001980000000001000019000006af0000613d000000000450004c000006af0000613d000400000003001d000500000002001d000300000005001d000005c801000041000000000010043900000000010004120000000400100443000000240000044300000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005c9011001c70000800502000039164516400000040f0000000102200190000006b00000613d000000000101043b000005ca0200004100000000002004390000059601100197000600000001001d000000040010044300000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005cb011001c70000800202000039164516400000040f00000006050000290000000102200190000006b00000613d000000000101043b000000000110004c000006b00000613d000000400900043d000005cc0100004100000000001904350000004402900039000000000100041400000001030000390000000000320435000000040200002900000596032001970000002402900039000200000003001d0000000000320435000000050200002900000596032001970000000402900039000500000003001d0000000000320435000000040250008c000005100000c13d0000000103000031000005430000013d0000059302000041000005930310009c0000000001028019000005930390009c00000000020940190000004002200210000000c001100210000000000121019f000005c3011001c70000000002050019000400000009001d164516400000040f0000000409000029000000000301001900000060033002700000059303300197000000200430008c000000200500003900000000050340190000001f0450018f00000005055002720000052f0000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b000005270000413d000000000640004c0000053e0000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f000300000001035500000001022001900000000605000029000006b80000613d0000001f01300039000000200200008a000400000002001d000000000221016f0000000001920019000000000221004b00000000020000190000000102004039000005940310009c000006b20000213d0000000102200190000006b20000c13d000000400010043f00000595010000410000000102000031000000200320008c000000000300001900000000030140190000059502200197000000000420004c000000000100a019000005950220009c000000000103c019000000000110004c000006b00000c13d0000000004090433000005960140009c000006b00000213d000000000140004c0000000001000019000005cf0000613d000005ca010000410000000000100439000000040040044300000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005cb011001c70000800202000039000100000004001d164516400000040f000000010400002900000006050000290000000102200190000006b00000613d000000000101043b000000000110004c000006b00000613d000000400900043d000005cd0100004100000000001904350000002402900039000000000100041400000005030000290000000000320435000000040290003900000003030000290000000000320435000000040240008c000005830000c13d0000000103000031000005b60000013d0000059302000041000005930310009c0000000001028019000005930390009c00000000020940190000004002200210000000c001100210000000000121019f000005ce011001c70000000002040019000100000009001d164516400000040f0000000109000029000000000301001900000060033002700000059303300197000000200430008c000000200500003900000000050340190000001f0450018f0000000505500272000005a20000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b0000059a0000413d000000000640004c000005b10000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f000300000001035500000001022001900000000605000029000006f60000613d0000001f013000390000000402000029000000000221016f0000000001920019000000000221004b00000000020000190000000102004039000005940310009c000006b20000213d0000000102200190000006b20000c13d000000400010043f00000595010000410000000102000031000000200320008c000000000300001900000000030140190000059502200197000000000420004c000000000100a019000005950220009c000000000103c019000000000110004c000006b00000c13d0000000001090433000100000001001d000005ca010000410000000000100439000000040050044300000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005cb011001c70000800202000039164516400000040f00000006040000290000000102200190000006b00000613d000000000101043b000000000110004c000006b00000613d000000400900043d000005cc010000410000000000190435000000240290003900000000010004140000000203000029000000000032043500000004029000390000000503000029000000000032043500000044029000390000000000020435000000040240008c000005f10000c13d0000000103000031000006230000013d0000059302000041000005930310009c0000000001028019000005930390009c00000000020940190000004002200210000000c001100210000000000121019f000005c3011001c70000000002040019000600000009001d164516400000040f0000000609000029000000000301001900000060033002700000059303300197000000200430008c000000200500003900000000050340190000001f0450018f0000000505500272000006100000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b000006080000413d000000000640004c0000061f0000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f00030000000103550000000102200190000006d70000613d0000001f013000390000000402000029000000000221016f0000000001920019000000000221004b00000000020000190000000102004039000005940310009c000006b20000213d0000000102200190000006b20000c13d000000400010043f00000595010000410000000102000031000000200320008c000000000300001900000000030140190000059502200197000000000420004c000000000100a019000005950220009c000000000103c019000000000110004c000006b00000c13d0000000004090433000005960140009c000006b00000213d000000000140004c0000000001000019000006ac0000613d000005ca010000410000000000100439000000040040044300000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005cb011001c70000800202000039000600000004001d164516400000040f00000006040000290000000102200190000006b00000613d000000000101043b000000000110004c000006b00000613d000000400900043d000005cd0100004100000000001904350000002402900039000000000100041400000005030000290000000000320435000000040290003900000003030000290000000000320435000000040240008c000006610000c13d0000000103000031000006930000013d0000059302000041000005930310009c0000000001028019000005930390009c00000000020940190000004002200210000000c001100210000000000121019f000005ce011001c70000000002040019000600000009001d164516400000040f0000000609000029000000000301001900000060033002700000059303300197000000200430008c000000200500003900000000050340190000001f0450018f0000000505500272000006800000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b000006780000413d000000000640004c0000068f0000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f00030000000103550000000102200190000007150000613d0000001f013000390000000402000029000000000221016f0000000001920019000000000221004b00000000020000190000000102004039000005940310009c000006b20000213d0000000102200190000006b20000c13d000000400010043f00000595010000410000000102000031000000200320008c000000000300001900000000030140190000059502200197000000000420004c000000000100a019000005950220009c000000000103c019000000000110004c000006b00000c13d00000000010904330000000103000029000000000213004b0000000001032019000000000001042d00000000010000190000164700010430000005980100004100000000001004350000004101000039000000040010043f000005990100004100001647000104300000001f0430018f0000000502300272000006c30000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b000006bc0000413d000000000340004c000006d10000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000593010000410000000102000031000005930320009c0000000001024019000000600110021000001647000104300000001f0430018f0000000502300272000006e20000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b000006db0000413d000000000340004c000006f00000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000593010000410000000102000031000005930320009c0000000001024019000000600110021000001647000104300000001f0430018f0000000502300272000007010000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b000006fa0000413d000000000340004c0000070f0000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000593010000410000000102000031000005930320009c0000000001024019000000600110021000001647000104300000001f0430018f0000000502300272000007200000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b000007190000413d000000000340004c0000072e0000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000593010000410000000102000031000005930320009c0000000001024019000000600110021000001647000104300003000000000002000300000001001d000005b5010000410000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000007be0000613d000000000101043b0000000101100039000000000101041a000100000001001d0000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000007be0000613d000000000101043b0000000002000411000200000002001d00000596022001970000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000007be0000613d000000000101043b000000000101041a000000ff01100190000007c00000613d000005b5010000410000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000007be0000613d000000000101043b00000003020000290000059602200197000100000002001d0000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000007be0000613d000000000101043b000000000101041a000000ff01100190000007bd0000c13d000005b5010000410000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000007be0000613d000000000101043b00000001020000290000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000007be0000613d000000000101043b000000000201041a000001000300008a000000000232016f00000001022001bf000000000021041b000000400100043d00000593020000410000000003000414000005930430009c0000000003028019000005930410009c00000000010280190000004001100210000000c002300210000000000112019f000005bc011001c70000800d020000390000000403000039000005bd04000041000005b505000041000000030600002900000002070000291645163b0000040f0000000101200190000007be0000613d000000000001042d00000000010000190000164700010430000000400100043d0000000007010019000005cf0110009c000007ca0000413d000005980100004100000000001004350000004101000039000000040010043f0000059901000041000016470001043000000000020700190000006001200039000000400010043f0000002a01000039000000000112043600000000020000310000000202200367000000000300001900000005043002100000000005410019000000000442034f000000000404043b00000000004504350000000103300039000000020430008c000007d20000413d0000000002070433000000000220004c000007e40000613d0000000002010433000005d002200197000005d1022001c700000000002104350000000002070433000000020220008c000007ea0000813d000005980100004100000000001004350000003201000039000000040010043f0000059901000041000016470001043000000021027000390000000003020433000005d003300197000005d2033001c700000000003204350000002902000039000000020500002900000000030500190000000004070433000000000424004b000007e40000a13d0000000f0430018f0000000304400210000000f80440015f000005d305000041000000000445022f00000000051200190000000006050433000005d006600197000000f804400210000000000446019f00000000004504350000000405300270000000010220008a000000010420008c000007f10000213d000000100130008c00000000010000190000000101004039000200000007001d164516270000040f000000010100002916450f160000040f000000400400043d000300000004001d0000002002400039000005d4030000410000000000320435000100000001001d00000037024000390000000201000029164504910000040f000005d502000041000000000021043500000011021000390000000101000029164504910000040f00000003030000290000000002310049000000200120008a00000000001304350000000001030019164504ba0000040f000005c201000041000000400200043d000200000002001d000000000012043500000004012000390000000302000029164504a20000040f000000020400002900000000014100490000059302000041000005930310009c0000000001028019000005930340009c000000000204401900000040022002100000006001100210000000000121019f00001647000104300000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000008410000613d000000000101043b0000000101100039000000000101041a000000000001042d000000000100001900001647000104300003000000000002000300000001001d000005b5010000410000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000008cc0000613d000000000101043b0000000101100039000000000101041a000100000001001d0000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000008cc0000613d000000000101043b0000000002000411000200000002001d00000596022001970000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000008cc0000613d000000000101043b000000000101041a000000ff01100190000008ce0000613d000005b5010000410000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000008cc0000613d000000000101043b00000003020000290000059602200197000100000002001d0000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000008cc0000613d000000000101043b000000000101041a000000ff01100190000008cb0000613d000005b5010000410000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000008cc0000613d000000000101043b00000001020000290000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000008cc0000613d000000000101043b000000000201041a000001000300008a000000000232016f000000000021041b000000400100043d00000593020000410000000003000414000005930430009c0000000003028019000005930410009c00000000010280190000004001100210000000c002300210000000000112019f000005bc011001c70000800d020000390000000403000039000005d604000041000005b505000041000000030600002900000002070000291645163b0000040f0000000101200190000008cc0000613d000000000001042d00000000010000190000164700010430000000400100043d0000000007010019000005cf0110009c000008d80000413d000005980100004100000000001004350000004101000039000000040010043f0000059901000041000016470001043000000000020700190000006001200039000000400010043f0000002a01000039000000000112043600000000020000310000000202200367000000000300001900000005043002100000000005410019000000000442034f000000000404043b00000000004504350000000103300039000000020430008c000008e00000413d0000000002070433000000000220004c000008f20000613d0000000002010433000005d002200197000005d1022001c700000000002104350000000002070433000000020220008c000008f80000813d000005980100004100000000001004350000003201000039000000040010043f0000059901000041000016470001043000000021027000390000000003020433000005d003300197000005d2033001c700000000003204350000002902000039000000020500002900000000030500190000000004070433000000000424004b000008f20000a13d0000000f0430018f0000000304400210000000f80440015f000005d305000041000000000445022f00000000051200190000000006050433000005d006600197000000f804400210000000000446019f00000000004504350000000405300270000000010220008a000000010420008c000008ff0000213d000000100130008c00000000010000190000000101004039000200000007001d164516270000040f000000010100002916450f160000040f000000400400043d000300000004001d0000002002400039000005d4030000410000000000320435000100000001001d00000037024000390000000201000029164504910000040f000005d502000041000000000021043500000011021000390000000101000029164504910000040f00000003030000290000000002310049000000200120008a00000000001304350000000001030019164504ba0000040f000005c201000041000000400200043d000200000002001d000000000012043500000004012000390000000302000029164504a20000040f000000020400002900000000014100490000059302000041000005930310009c0000000001028019000005930340009c000000000204401900000040022002100000006001100210000000000121019f0000164700010430000300000000000200000000030004110000059602300197000300000002001d000100000003001d000005d70230009c0000099c0000813d000200000001001d0000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f00000001022001900000099a0000613d000000000101043b00000003020000290000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f00000001022001900000099a0000613d000000000101043b000000000101041a000000ff01100190000009990000613d00000002010000290000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f00000001022001900000099a0000613d000000000101043b00000003020000290000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f00000001022001900000099a0000613d000000000101043b000000000201041a000001000300008a000000000232016f000000000021041b000000400100043d00000593020000410000000003000414000005930430009c0000000003028019000005930410009c00000000010280190000004001100210000000c002300210000000000112019f000005bc011001c70000800d020000390000000403000039000005d6040000410000000205000029000000010600002900000003070000291645163b0000040f00000001012001900000099a0000613d000000000001042d00000000010000190000164700010430000000400100043d0000006402100039000005d80300004100000000003204350000004402100039000005d903000041000000000032043500000024021000390000002f030000390000000000320435000005c20200004100000000002104350000000402100039000000200300003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c6011001c700001647000104300003000000000002000100000002001d00000596022001970000000003000411000300000002001d000000000232004b00000a0e0000c13d000200000001001d0000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f000000010220019000000a0c0000613d000000000101043b00000003020000290000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f000000010220019000000a0c0000613d000000000101043b000000000101041a000000ff0110019000000a0b0000613d00000002010000290000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f000000010220019000000a0c0000613d000000000101043b00000003020000290000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f000000010220019000000a0c0000613d000000000101043b000000000201041a000001000300008a000000000232016f000000000021041b000000400100043d00000593020000410000000003000414000005930430009c0000000003028019000005930410009c00000000010280190000004001100210000000c002300210000000000112019f000005bc011001c70000800d020000390000000403000039000005d6040000410000000205000029000000010600002900000003070000291645163b0000040f000000010120019000000a0c0000613d000000000001042d00000000010000190000164700010430000000400100043d0000006402100039000005d80300004100000000003204350000004402100039000005d903000041000000000032043500000024021000390000002f030000390000000000320435000005c20200004100000000002104350000000402100039000000200300003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c6011001c70000164700010430000d000000000002000d00000005001d000700000003001d000600000002001d000900000001001d000005ca010000410000000000100439000300000004001d0000059601400197000c00000001001d000000040010044300000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005cb011001c70000800202000039164516400000040f000000010220019000000de90000613d000000000101043b000000000110004c00000de90000613d000000400900043d000005da0100004100000000001904350000000d01000029000005960310019700000004029000390000000001000414000500000003001d00000000003204350000000c02000029000000040320008c00000a490000c13d000000010300003100000a7b0000013d0000059304000041000005930310009c0000000001048019000005930390009c000000000304001900000000030940190000004003300210000000c001100210000000000131019f00000599011001c7000d00000009001d164516400000040f0000000d09000029000000000301001900000060033002700000059303300197000000200430008c000000200500003900000000050340190000001f0450018f000000050550027200000a680000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b00000a600000413d000000000640004c00000a770000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f0003000000010355000000010220019000000e3d0000613d0000001f01300039000000200200008a000d00000002001d000000000221016f0000000001920019000000000221004b00000000020000190000000102004039000005940310009c00000deb0000213d000000010220019000000deb0000c13d000000400010043f00000595010000410000000102000031000000200320008c000000000300001900000000030140190000059502200197000000000420004c000000000100a019000005950220009c000000000103c019000000000110004c00000de90000c13d0000000001090433000200000001001d000005c801000041000000000010043900000000010004120000000400100443000000240000044300000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005c9011001c70000800502000039164516400000040f000000010220019000000de90000613d000000000101043b000005ca0200004100000000002004390000059601100197000b00000001001d000000040010044300000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005cb011001c70000800202000039164516400000040f0000000b05000029000000010220019000000de90000613d000000000101043b000000000110004c00000de90000613d000000400900043d000005cc010000410000000000190435000000440290003900000000010004140000000103000039000000000032043500000024029000390000000c03000029000000000032043500000007020000290000059603200197000800000003001d00000004029000390000000000320435000000040250008c00000acc0000c13d000000010300003100000aff0000013d0000059302000041000005930310009c0000000001028019000005930390009c00000000020940190000004002200210000000c001100210000000000121019f000005c3011001c70000000002050019000a00000009001d164516400000040f0000000a09000029000000000301001900000060033002700000059303300197000000200430008c000000200500003900000000050340190000001f0450018f000000050550027200000aeb0000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b00000ae30000413d000000000640004c00000afa0000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f000300000001035500000001022001900000000b0500002900000e5c0000613d0000001f013000390000000d02000029000000000221016f0000000001920019000000000221004b00000000020000190000000102004039000005940310009c00000deb0000213d000000010220019000000deb0000c13d000000400010043f00000595010000410000000102000031000000200320008c000000000300001900000000030140190000059502200197000000000420004c000000000100a019000005950220009c000000000103c019000000000110004c00000de90000c13d0000000001090433000a00000001001d000005960110009c00000de90000213d0000000a01000029000000000110004c000000000100001900000b8c0000613d000005ca0100004100000000001004390000000a01000029000000040010044300000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005cb011001c70000800202000039164516400000040f0000000b050000290000000102200190000000080300002900000de90000613d000000000101043b000000000110004c00000de90000613d000000400900043d000005cd0100004100000000001904350000002402900039000000000100041400000000003204350000000402900039000000090300002900000000003204350000000a02000029000000040320008c00000b400000c13d000000010300003100000b730000013d0000059304000041000005930310009c0000000001048019000005930390009c000000000304001900000000030940190000004003300210000000c001100210000000000131019f000005ce011001c7000400000009001d164516400000040f0000000409000029000000000301001900000060033002700000059303300197000000200430008c000000200500003900000000050340190000001f0450018f000000050550027200000b5f0000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b00000b570000413d000000000640004c00000b6e0000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f000300000001035500000001022001900000000b0500002900000ed80000613d0000001f013000390000000d02000029000000000221016f0000000001920019000000000221004b00000000020000190000000102004039000005940310009c00000deb0000213d000000010220019000000deb0000c13d000000400010043f00000595010000410000000102000031000000200320008c000000000300001900000000030140190000059502200197000000000420004c000000000100a019000005950220009c000000000103c019000000000110004c00000de90000c13d0000000001090433000400000001001d000005ca010000410000000000100439000000040050044300000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005cb011001c70000800202000039164516400000040f0000000b040000290000000102200190000000080600002900000de90000613d000000000101043b000000000110004c00000de90000613d000000400900043d000005cc010000410000000000190435000000240290003900000000010004140000000c0300002900000000003204350000000402900039000000000062043500000044029000390000000000020435000000040240008c00000bae0000c13d000000010300003100000be10000013d0000059302000041000005930310009c0000000001028019000005930390009c00000000020940190000004002200210000000c001100210000000000121019f000005c3011001c70000000002040019000b00000009001d164516400000040f0000000b09000029000000000301001900000060033002700000059303300197000000200430008c000000200500003900000000050340190000001f0450018f000000050550027200000bcd0000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b00000bc50000413d000000000640004c00000bdc0000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f00030000000103550000000102200190000000080600002900000e7b0000613d0000001f013000390000000d02000029000000000221016f0000000001920019000000000221004b00000000020000190000000102004039000005940310009c00000deb0000213d000000010220019000000deb0000c13d000000400010043f00000595020000410000000103000031000000200430008c000000000400001900000000040240190000059503300197000000000530004c000000000200a019000005950330009c000000000204c019000000000220004c00000de90000c13d0000000007090433000005960270009c00000de90000213d000000000270004c000000000200001900000c6c0000613d000005ca010000410000000000100439000000040070044300000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005cb011001c70000800202000039000b00000007001d164516400000040f0000000b070000290000000806000029000000010220019000000de90000613d000000000101043b000000000110004c00000de90000613d000000400900043d000005cd010000410000000000190435000000240290003900000000010004140000000000620435000000040290003900000009030000290000000000320435000000040270008c00000c1f0000c13d000000010300003100000c530000013d0000059302000041000005930310009c0000000001028019000005930390009c00000000020940190000004002200210000000c001100210000000000121019f000005ce011001c70000000002070019000100000009001d164516400000040f0000000109000029000000000301001900000060033002700000059303300197000000200430008c000000200500003900000000050340190000001f0450018f000000050550027200000c3e0000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b00000c360000413d000000000640004c00000c4d0000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f0003000000010355000000010220019000000008060000290000000b0700002900000ef70000613d0000001f013000390000000d02000029000000000221016f0000000001920019000000000221004b00000000020000190000000102004039000005940310009c00000deb0000213d000000010220019000000deb0000c13d000000400010043f00000595020000410000000103000031000000200430008c000000000400001900000000040240190000059503300197000000000530004c000000000200a019000005950330009c000000000204c019000000000220004c00000de90000c13d00000000020904330000000404000029000000000324004b0000000a03000029000000000a070019000000000a032019000000000302001900000000030420190000000602000029000000000223004b0000004402100039000000240410003900000df10000413d000000090500002900000000005204350000002002100039000005db0500004100000000005204350000000000a404350000000c04000029000000000446004b00000000040000190000000004034019000400000004001d0000000003004019000a00000003001d00000044030000390000000000310435000005dc0310009c00000deb0000213d0000008003100039000000400030043f0000000003000414000000040460008c000b0000000a001d00000c920000c13d0000000103000031000000000200001900000ca80000013d0000059304000041000005930520009c000000000204801900000040022002100000000001010433000005930510009c00000000010480190000006001100210000000000121019f000005930230009c00000000020400190000000002034019000000c002200210000000000121019f00000000020600191645163b0000040f0000000b0a000029000000010220015f00030000000103550000006001100270000105930010019d00000593031001970000006001000039000000000430004c00000cd60000613d0000003f013000390000000d04000029000000000441016f000000400100043d0000000004410019000000000514004b00000000050000190000000105004039000005940640009c00000deb0000213d000000010550019000000deb0000c13d000000400040043f0000000003310436000000030400036700000001060000310000001f0560018f000000050660027200000cc70000613d000000000700001900000005087002100000000009830019000000000884034f000000000808043b00000000008904350000000107700039000000000867004b00000cbf0000413d000000000750004c00000cd60000613d0000000506600210000000000464034f00000000036300190000000305500210000000000603043300000000065601cf000000000656022f000000000404043b0000010005500089000000000454022f00000000045401cf000000000464019f0000000000430435000000010220019000000e000000c13d0000000012010434000000000320004c00000cef0000613d0000059503000041000000200420008c000000000400001900000000040340190000059502200197000000000520004c000000000300a019000005950220009c00000000020400190000000002036019000000000220004c00000de90000c13d0000000001010433000000000210004c0000000002000019000000010200c039000000000221004b00000de90000c13d000000000110004c00000e280000613d000000400200043d000005df0120009c00000deb0000213d0000002001200039000000400010043f000800000002001d0000000000020435000005ca0100004100000000001004390000000400a0044300000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005cb011001c70000800202000039164516400000040f0000000b07000029000000010220019000000de90000613d000000000101043b000000000110004c00000de90000613d000000400800043d000005e0010000410000000000180435000000640280003900000000010004140000008003000039000000000032043500000044028000390000000503000029000000000032043500000024028000390000000403000029000000000032043500000004028000390000000a0300002900000000003204350000000809000029000000000209043300000084038000390000000000230435000000000320004c00000d2a0000613d000000a403800039000000000400001900000000053400190000002004400039000000000694001900000000060604330000000000650435000000000524004b00000d1f0000413d000000000424004b00000d2a0000a13d00000000033200190000000000030435000000040370008c00000d2f0000c13d00000001040000310000000d0300002900000d4c0000013d0000001f022000390000000d03000029000000000232016f0000059303000041000005930480009c000000000403001900000000040840190000004004400210000000a402200039000005930520009c00000000020380190000006002200210000000000242019f000005930410009c0000000001038019000000c001100210000000000112019f0000000002070019000b00000008001d1645163b0000040f0000000b0800002900000000030100190000006003300270000105930030019d00000593043001970000000d030000290003000000010355000000010220019000000e9a0000613d0000001f01400039000000000231016f0000000001820019000000000221004b00000000020000190000000102004039000005940310009c00000deb0000213d000000010220019000000deb0000c13d000000400010043f00000595010000410000000102000031000000000320004c000000000300001900000000030140190000059502200197000000000420004c000000000100a019000005950220009c000000000103c019000000000110004c00000de90000c13d000005ca0100004100000000001004390000000c01000029000000040010044300000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005cb011001c70000800202000039164516400000040f000000010220019000000de90000613d000000000101043b000000000110004c00000de90000613d000000400900043d000005da01000041000000000019043500000004029000390000000001000414000000050300002900000000003204350000000c02000029000000040320008c00000d800000c13d000000010300003100000db20000013d0000059304000041000005930310009c0000000001048019000005930390009c000000000304001900000000030940190000004003300210000000c001100210000000000131019f00000599011001c7000c00000009001d164516400000040f0000000c09000029000000000301001900000060033002700000059303300197000000200430008c000000200500003900000000050340190000001f0450018f000000050550027200000d9f0000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b00000d970000413d000000000640004c00000dae0000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f0003000000010355000000010220019000000eb90000613d0000001f013000390000000d02000029000000000221016f0000000001920019000000000221004b00000000020000190000000102004039000005940310009c00000deb0000213d000000010220019000000deb0000c13d000000400010043f00000595020000410000000103000031000000200430008c000000000400001900000000040240190000059503300197000000000530004c000000000200a019000005950330009c000000000204c019000000000220004c00000de90000c13d00000000020904330000000204000029000000000342004b00000e110000413d00000000024200490000000603000029000000000232004b00000e170000413d000000200210003900000000003204350000000902000029000000000021043500000593020000410000000003000414000005930430009c0000000003028019000005930410009c00000000010280190000004001100210000000c002300210000000000112019f000005bb011001c70000800d020000390000000303000039000005e104000041000000070500002900000003060000291645163b0000040f000000010120019000000de90000613d000000000001042d00000000010000190000164700010430000005980100004100000000001004350000004101000039000000040010043f00000599010000410000164700010430000005e403000041000000000032043500000016020000390000000000240435000005c20200004100000000002104350000000402100039000000200300003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c3011001c70000164700010430000000400100043d0000004402100039000005e3030000410000000000320435000005c2020000410000000000210435000000240210003900000020030000390000000000320435000000040210003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c3011001c70000164700010430000005980100004100000000001004350000001101000039000000040010043f000005990100004100001647000104300000004402100039000005e2030000410000000000320435000000240210003900000017030000390000000000320435000005c20200004100000000002104350000000402100039000000200300003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c3011001c70000164700010430000000400100043d0000006402100039000005dd0300004100000000003204350000004402100039000005de03000041000000000032043500000024021000390000002a030000390000000000320435000005c20200004100000000002104350000000402100039000000200300003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c6011001c700001647000104300000001f0430018f000000050230027200000e480000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b00000e410000413d000000000340004c00000e560000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000593010000410000000102000031000005930320009c0000000001024019000000600110021000001647000104300000001f0430018f000000050230027200000e670000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b00000e600000413d000000000340004c00000e750000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000593010000410000000102000031000005930320009c0000000001024019000000600110021000001647000104300000001f0430018f000000050230027200000e860000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b00000e7f0000413d000000000340004c00000e940000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000593010000410000000102000031000005930320009c0000000001024019000000600110021000001647000104300000001f0340018f000000050240027200000ea50000613d00000000040000190000000505400210000000000651034f000000000606043b00000000006504350000000104400039000000000524004b00000e9e0000413d000000000430004c00000eb30000613d00000003033002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000593010000410000000102000031000005930320009c0000000001024019000000600110021000001647000104300000001f0430018f000000050230027200000ec40000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b00000ebd0000413d000000000340004c00000ed20000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000593010000410000000102000031000005930320009c0000000001024019000000600110021000001647000104300000001f0430018f000000050230027200000ee30000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b00000edc0000413d000000000340004c00000ef10000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000593010000410000000102000031000005930320009c0000000001024019000000600110021000001647000104300000001f0430018f000000050230027200000f020000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b00000efb0000413d000000000340004c00000f100000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000593010000410000000102000031000005930320009c0000000001024019000000600110021000001647000104300000000002010019000000400100043d000005e50310009c00000f550000813d0000008003100039000000400030043f0000004203000039000000000331043600000000040000310000000204400367000000000500001900000005065002100000000007630019000000000664034f000000000606043b00000000006704350000000105500039000000030650008c00000f210000413d0000000004010433000000000440004c00000f4f0000613d0000000004030433000005d004400197000005d1044001c700000000004304350000000004010433000000020440008c00000f4f0000413d00000021041000390000000005040433000005d005500197000005d2055001c70000000000540435000000410400003900000000050200190000000002010433000000000242004b00000f4f0000a13d0000000f0250018f0000000302200210000000f80220015f000005d306000041000000000226022f00000000063400190000000007060433000005d007700197000000f802200210000000000227019f00000000002604350000000402500270000000010440008a000000010640008c00000f390000213d000000100250008c00000f5b0000813d000000000001042d000005980100004100000000001004350000003201000039000000040010043f00000599010000410000164700010430000005980100004100000000001004350000004101000039000000040010043f00000599010000410000164700010430000000400100043d0000004402100039000005e6030000410000000000320435000005c2020000410000000000210435000000240210003900000020030000390000000000320435000000040210003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c3011001c700001647000104300004000000000002000300000001001d0000000000000435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000010450000613d000000000101043b0000000101100039000000000101041a000100000001001d0000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000010450000613d000000000101043b0000000002000411000200000002001d0000059602200197000400000002001d0000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000010450000613d000000000101043b000000000101041a000000ff01100190000010470000613d0000000000000435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000010450000613d000000000101043b00000003020000290000059602200197000100000002001d0000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000010450000613d000000000101043b000000000101041a000000ff0110019000000ff30000c13d0000000000000435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000010450000613d000000000101043b00000001020000290000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000010450000613d000000000101043b000000000201041a000001000300008a000000000232016f00000001022001bf000000000021041b000000400100043d00000593020000410000000003000414000005930430009c0000000003028019000005930410009c00000000010280190000004001100210000000c002300210000000000112019f000005bc011001c70000800d020000390000000403000039000005bd040000410000000005000019000000030600002900000002070000291645163b0000040f0000000101200190000010450000613d0000000000000435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000010450000613d000000000101043b00000004020000290000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000010450000613d000000000101043b000000000101041a000000ff01100190000010440000613d0000000000000435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000010450000613d000000000101043b00000004020000290000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000010450000613d000000000101043b000000000201041a000001000300008a000000000232016f000000000021041b000000400100043d00000593020000410000000003000414000005930430009c0000000003028019000005930410009c00000000010280190000004001100210000000c002300210000000000112019f000005bc011001c70000800d020000390000000403000039000005d6040000410000000005000019000000020600002900000000070600191645163b0000040f0000000101200190000010450000613d000000000001042d00000000010000190000164700010430000000400100043d0000000007010019000005cf0110009c000010510000413d000005980100004100000000001004350000004101000039000000040010043f0000059901000041000016470001043000000000020700190000006001200039000000400010043f0000002a01000039000000000112043600000000020000310000000202200367000000000300001900000005043002100000000005410019000000000442034f000000000404043b00000000004504350000000103300039000000020430008c000010590000413d0000000002070433000000000220004c0000106b0000613d0000000002010433000005d002200197000005d1022001c700000000002104350000000002070433000000020220008c000010710000813d000005980100004100000000001004350000003201000039000000040010043f0000059901000041000016470001043000000021027000390000000003020433000005d003300197000005d2033001c700000000003204350000002902000039000000020500002900000000030500190000000004070433000000000424004b0000106b0000a13d0000000f0430018f0000000304400210000000f80440015f000005d305000041000000000445022f00000000051200190000000006050433000005d006600197000000f804400210000000000446019f00000000004504350000000405300270000000010220008a000000010420008c000010780000213d000000100130008c00000000010000190000000101004039000300000007001d164516270000040f000000010100002916450f160000040f000000400400043d000400000004001d0000002002400039000005d4030000410000000000320435000200000001001d00000037024000390000000301000029164504910000040f000005d502000041000000000021043500000011021000390000000201000029164504910000040f00000004030000290000000002310049000000200120008a00000000001304350000000001030019164504ba0000040f000005c201000041000000400200043d000300000002001d000000000012043500000004012000390000000402000029164504a20000040f000000030400002900000000014100490000059302000041000005930310009c0000000001028019000005930340009c000000000204401900000040022002100000006001100210000000000121019f000016470001043000000596022001970000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000010c70000613d000000000101043b000000000001042d000000000100001900001647000104300000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000010d70000613d000000000101043b000000000001042d000000000100001900001647000104300001000000000002000100000001001d000005b5010000410000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000011140000613d000000000101043b000000000200041100000596022001970000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000011140000613d000000000101043b000000000101041a000000ff01100190000011160000613d0000000102000029000000000120004c0000112b0000613d0000000101000039000000000021041b000000400100043d000000000021043500000593020000410000000003000414000005930430009c0000000003028019000005930410009c00000000010280190000004001100210000000c002300210000000000112019f000005bf011001c70000800d020000390000000203000039000005c00400004100000000050004101645163b0000040f0000000101200190000011140000613d000000000001042d00000000010000190000164700010430000000400100043d0000006402100039000005c40300004100000000003204350000004402100039000005c5030000410000000000320435000000240210003900000028030000390000000000320435000005c20200004100000000002104350000000402100039000000200300003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c6011001c70000164700010430000000400100043d0000004402100039000005c1030000410000000000320435000000240210003900000014030000390000000000320435000005c20200004100000000002104350000000402100039000000200300003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c3011001c700001647000104300002000000000002000200000002001d000100000001001d000005b5010000410000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000011d40000613d000000000101043b000000000200041100000596022001970000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000011d40000613d000000400300043d000000000101043b000000000101041a000000ff01100190000011dc0000613d0000002001300039000005e702000041000000000021043500000002020000290000059602200197000000240430003900000000002404350000004402000039000000000023043500000044023000390000000000020435000005e50230009c000011d60000813d0000008002300039000000400020043f000000000400041400000001020000290000059602200197000000040520008c000011780000c13d000000010300003100000000020000190000118c0000013d0000059305000041000005930610009c000000000105801900000040011002100000000003030433000005930630009c00000000030580190000006003300210000000000113019f000005930340009c00000000030500190000000003044019000000c003300210000000000131019f1645163b0000040f000000010220015f00030000000103550000006001100270000105930010019d00000593031001970000006001000039000000000430004c000011ba0000613d0000003f01300039000000200400008a000000000441016f000000400100043d0000000004410019000000000514004b00000000050000190000000105004039000005940640009c000011d60000213d0000000105500190000011d60000c13d000000400040043f0000000003310436000000030400036700000001060000310000001f0560018f0000000506600272000011ab0000613d000000000700001900000005087002100000000009830019000000000884034f000000000808043b00000000008904350000000107700039000000000867004b000011a30000413d000000000750004c000011ba0000613d0000000506600210000000000464034f00000000036300190000000305500210000000000603043300000000065601cf000000000656022f000000000404043b0000010005500089000000000454022f00000000045401cf000000000464019f00000000004304350000000102200190000011f00000c13d0000000012010434000000000320004c000011d30000613d0000059503000041000000200420008c000000000400001900000000040340190000059502200197000000000520004c000000000300a019000005950220009c00000000020400190000000002036019000000000220004c000011d40000c13d0000000001010433000000000210004c0000000002000019000000010200c039000000000221004b000011d40000c13d000000000110004c000012010000613d000000000001042d00000000010000190000164700010430000005980100004100000000001004350000004101000039000000040010043f000005990100004100001647000104300000006401300039000005c40200004100000000002104350000004401300039000005c5020000410000000000210435000000240130003900000028020000390000000000210435000005c20100004100000000001304350000000401300039000000200200003900000000002104350000059301000041000005930230009c00000000010340190000004001100210000005c6011001c70000164700010430000000400100043d0000004402100039000005e3030000410000000000320435000005c2020000410000000000210435000000240210003900000020030000390000000000320435000000040210003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c3011001c70000164700010430000000400100043d0000006402100039000005dd0300004100000000003204350000004402100039000005de03000041000000000032043500000024021000390000002a030000390000000000320435000005c20200004100000000002104350000000402100039000000200300003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c6011001c700001647000104300003000000000002000300000002001d000200000001001d000005b5010000410000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000012c40000613d000000000101043b00000000020004110000059602200197000100000002001d0000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000012c40000613d000000000101043b000000000101041a000000ff01100190000012cc0000613d0000000303000029000000000130004c000012e10000613d000000400100043d000000440210003900000000003204350000002003100039000005db0200004100000000002304350000002402100039000000010400002900000000004204350000004402000039000000000021043500000002020000290000059602200197000005e50410009c000012c60000813d0000008004100039000000400040043f0000000004000414000000040520008c000012540000c13d00000001030000310000000002000019000012680000013d0000059305000041000005930630009c000000000305801900000040033002100000000001010433000005930610009c00000000010580190000006001100210000000000131019f000005930340009c00000000030500190000000003044019000000c003300210000000000131019f1645163b0000040f000000010220015f00030000000103550000006001100270000105930010019d00000593031001970000006001000039000000000430004c000012960000613d0000003f01300039000000200400008a000000000441016f000000400100043d0000000004410019000000000514004b00000000050000190000000105004039000005940640009c000012c60000213d0000000105500190000012c60000c13d000000400040043f0000000003310436000000030400036700000001060000310000001f0560018f0000000506600272000012870000613d000000000700001900000005087002100000000009830019000000000884034f000000000808043b00000000008904350000000107700039000000000867004b0000127f0000413d000000000750004c000012960000613d0000000506600210000000000464034f00000000036300190000000305500210000000000603043300000000065601cf000000000656022f000000000404043b0000010005500089000000000454022f00000000045401cf000000000464019f00000000004304350000000102200190000012f30000c13d0000000012010434000000000320004c000012af0000613d0000059503000041000000200420008c000000000400001900000000040340190000059502200197000000000520004c000000000300a019000005950220009c00000000020400190000000002036019000000000220004c000012c40000c13d0000000001010433000000000210004c0000000002000019000000010200c039000000000221004b000012c40000c13d000000000110004c000013040000613d000000400100043d0000000302000029000000000021043500000593020000410000000003000414000005930430009c0000000003028019000005930410009c00000000010280190000004001100210000000c002300210000000000112019f000005bf011001c70000800d020000390000000203000039000005e80400004100000002050000291645163b0000040f0000000101200190000012c40000613d000000000001042d00000000010000190000164700010430000005980100004100000000001004350000004101000039000000040010043f00000599010000410000164700010430000000400100043d0000006402100039000005c40300004100000000003204350000004402100039000005c5030000410000000000320435000000240210003900000028030000390000000000320435000005c20200004100000000002104350000000402100039000000200300003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c6011001c70000164700010430000000400100043d0000004402100039000005e903000041000000000032043500000024021000390000001e030000390000000000320435000005c20200004100000000002104350000000402100039000000200300003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c3011001c70000164700010430000000400100043d0000004402100039000005e3030000410000000000320435000005c2020000410000000000210435000000240210003900000020030000390000000000320435000000040210003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c3011001c70000164700010430000000400100043d0000006402100039000005dd0300004100000000003204350000004402100039000005de03000041000000000032043500000024021000390000002a030000390000000000320435000005c20200004100000000002104350000000402100039000000200300003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c6011001c700001647000104300002000000000002000200000001001d000005b5010000410000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f00000001022001900000139d0000613d000000000101043b0000000002000411000100000002001d00000596022001970000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f00000001022001900000139d0000613d000000000101043b000000000101041a000000ff011001900000139f0000613d0000000209000029000000000190004c0000000104000029000013b40000613d0000000001000414000000040240008c000013460000c13d000000010200003900000001010000310000135a0000013d0000059302000041000000400300043d000005930530009c0000000003028019000005930510009c0000000001028019000000c0011002100000004002300210000000000112019f000005bc011001c70000800902000039000000000309001900000000050000191645163b0000040f0000000209000029000000010220018f00030000000103550000006001100270000105930010019d0000059301100197000000000310004c000013870000613d0000003f03100039000000200400008a000000000443016f000000400300043d0000000004430019000000000534004b00000000050000190000000105004039000005940640009c000013d70000213d0000000105500190000013d70000c13d000000400040043f0000000001130436000000030300036700000001050000310000001f0450018f0000000505500272000013780000613d000000000600001900000005076002100000000008710019000000000773034f000000000707043b00000000007804350000000106600039000000000756004b000013700000413d000000000640004c000013870000613d0000000505500210000000000353034f00000000015100190000000304400210000000000501043300000000054501cf000000000545022f000000000303043b0000010004400089000000000343022f00000000034301cf000000000353019f0000000000310435000000400100043d000000000220004c000013c60000613d000000000091043500000593020000410000000003000414000005930430009c0000000003028019000005930410009c00000000010280190000004001100210000000c002300210000000000112019f000005bf011001c70000800d020000390000000203000039000005e80400004100000000050000191645163b0000040f00000001012001900000139d0000613d000000000001042d00000000010000190000164700010430000000400100043d0000006402100039000005c40300004100000000003204350000004402100039000005c5030000410000000000320435000000240210003900000028030000390000000000320435000005c20200004100000000002104350000000402100039000000200300003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c6011001c70000164700010430000000400100043d0000004402100039000005e903000041000000000032043500000024021000390000001e030000390000000000320435000005c20200004100000000002104350000000402100039000000200300003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c3011001c700001647000104300000004402100039000005ea030000410000000000320435000000240210003900000010030000390000000000320435000005c20200004100000000002104350000000402100039000000200300003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c3011001c70000164700010430000005980100004100000000001004350000004101000039000000040010043f000005990100004100001647000104300004000000000002000300000002001d000400000001001d0000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000014670000613d000000000101043b0000000101100039000000000101041a000100000001001d0000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000014670000613d000000000101043b0000000002000411000200000002001d00000596022001970000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000014670000613d000000000101043b000000000101041a000000ff01100190000014690000613d00000004010000290000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000014670000613d000000000101043b00000003020000290000059602200197000100000002001d0000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000014670000613d000000000101043b000000000101041a000000ff01100190000014660000c13d00000004010000290000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000014670000613d000000000101043b00000001020000290000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000014670000613d000000000101043b000000000201041a000001000300008a000000000232016f00000001022001bf000000000021041b000000400100043d00000593020000410000000003000414000005930430009c0000000003028019000005930410009c00000000010280190000004001100210000000c002300210000000000112019f000005bc011001c70000800d020000390000000403000039000005bd040000410000000405000029000000030600002900000002070000291645163b0000040f0000000101200190000014670000613d000000000001042d00000000010000190000164700010430000000400100043d0000000007010019000005cf0110009c000014730000413d000005980100004100000000001004350000004101000039000000040010043f0000059901000041000016470001043000000000020700190000006001200039000000400010043f0000002a01000039000000000112043600000000020000310000000202200367000000000300001900000005043002100000000005410019000000000442034f000000000404043b00000000004504350000000103300039000000020430008c0000147b0000413d0000000002070433000000000220004c0000148d0000613d0000000002010433000005d002200197000005d1022001c700000000002104350000000002070433000000020220008c000014930000813d000005980100004100000000001004350000003201000039000000040010043f0000059901000041000016470001043000000021027000390000000003020433000005d003300197000005d2033001c700000000003204350000002902000039000000020500002900000000030500190000000004070433000000000424004b0000148d0000a13d0000000f0430018f0000000304400210000000f80440015f000005d305000041000000000445022f00000000051200190000000006050433000005d006600197000000f804400210000000000446019f00000000004504350000000405300270000000010220008a000000010420008c0000149a0000213d000000100130008c00000000010000190000000101004039000300000007001d164516270000040f000000010100002916450f160000040f000000400400043d000400000004001d0000002002400039000005d4030000410000000000320435000200000001001d00000037024000390000000301000029164504910000040f000005d502000041000000000021043500000011021000390000000201000029164504910000040f00000004030000290000000002310049000000200120008a00000000001304350000000001030019164504ba0000040f000005c201000041000000400200043d000300000002001d000000000012043500000004012000390000000402000029164504a20000040f000000030400002900000000014100490000059302000041000005930310009c0000000001028019000005930340009c000000000204401900000040022002100000006001100210000000000121019f00001647000104300004000000000002000300000002001d000400000001001d0000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000015630000613d000000000101043b0000000101100039000000000101041a000100000001001d0000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000015630000613d000000000101043b0000000002000411000200000002001d00000596022001970000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000015630000613d000000000101043b000000000101041a000000ff01100190000015650000613d00000004010000290000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000015630000613d000000000101043b00000003020000290000059602200197000100000002001d0000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000015630000613d000000000101043b000000000101041a000000ff01100190000015620000613d00000004010000290000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000015630000613d000000000101043b00000001020000290000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000015630000613d000000000101043b000000000201041a000001000300008a000000000232016f000000000021041b000000400100043d00000593020000410000000003000414000005930430009c0000000003028019000005930410009c00000000010280190000004001100210000000c002300210000000000112019f000005bc011001c70000800d020000390000000403000039000005d6040000410000000405000029000000030600002900000002070000291645163b0000040f0000000101200190000015630000613d000000000001042d00000000010000190000164700010430000000400100043d0000000007010019000005cf0110009c0000156f0000413d000005980100004100000000001004350000004101000039000000040010043f0000059901000041000016470001043000000000020700190000006001200039000000400010043f0000002a01000039000000000112043600000000020000310000000202200367000000000300001900000005043002100000000005410019000000000442034f000000000404043b00000000004504350000000103300039000000020430008c000015770000413d0000000002070433000000000220004c000015890000613d0000000002010433000005d002200197000005d1022001c700000000002104350000000002070433000000020220008c0000158f0000813d000005980100004100000000001004350000003201000039000000040010043f0000059901000041000016470001043000000021027000390000000003020433000005d003300197000005d2033001c700000000003204350000002902000039000000020500002900000000030500190000000004070433000000000424004b000015890000a13d0000000f0430018f0000000304400210000000f80440015f000005d305000041000000000445022f00000000051200190000000006050433000005d006600197000000f804400210000000000446019f00000000004504350000000405300270000000010220008a000000010420008c000015960000213d000000100130008c00000000010000190000000101004039000300000007001d164516270000040f000000010100002916450f160000040f000000400400043d000400000004001d0000002002400039000005d4030000410000000000320435000200000001001d00000037024000390000000301000029164504910000040f000005d502000041000000000021043500000011021000390000000201000029164504910000040f00000004030000290000000002310049000000200120008a00000000001304350000000001030019164504ba0000040f000005c201000041000000400200043d000300000002001d000000000012043500000004012000390000000402000029164504a20000040f000000030400002900000000014100490000059302000041000005930310009c0000000001028019000005930340009c000000000204401900000040022002100000006001100210000000000121019f000016470001043000030000000000020000000202000039000000000102041a000000010310019000000001041002700000007f0540018f000000000604001900000000060560190000001f0460008c00000000040000190000000104002039000000010440018f000000000443004b000016190000c13d000000400500043d0000000004650436000000000330004c000015ed0000c13d000001000200008a000000000121016f000000000014043500000040020000390000160e0000013d000100000004001d000200000006001d000300000005001d000000000020043500000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bf011001c70000801002000039164516400000040f0000000102200190000016250000613d00000020020000390000000206000029000000000360004c00000003050000290000160e0000613d000000000101043b0000000003000019000000010700002900000000020300190000000003720019000000000401041a000000000043043500000001011000390000002003200039000000000463004b000016030000413d0000005f01200039000000200200008a000000000221016f0000000001520019000000000221004b00000000020000190000000102004039000005940310009c0000161f0000213d00000001022001900000161f0000c13d000000400010043f0000000001050019000000000001042d000005980100004100000000001004350000002201000039000000040010043f00000599010000410000164700010430000005980100004100000000001004350000004101000039000000040010043f0000059901000041000016470001043000000000010000190000164700010430000000000110004c0000162a0000613d000000000001042d000000400100043d0000004402100039000005e6030000410000000000320435000005c2020000410000000000210435000000240210003900000020030000390000000000320435000000040210003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c3011001c700001647000104300000163e002104210000000102000039000000000001042d0000000002000019000000000001042d00001643002104230000000102000039000000000001042d0000000002000019000000000001042d0000164500000432000016460001042e0000164700010430000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff000000000000000000000000000000000000000000000000ffffffffffffffff8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffffffffffff00000002000000000000000000000000000000800000010000000000000000004e487b71000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024000000000000000000000000000000000000000000000000000000000000000000000000000000008980f11e00000000000000000000000000000000000000000000000000000000d8baf7ce00000000000000000000000000000000000000000000000000000000ef99893900000000000000000000000000000000000000000000000000000000ef99893a00000000000000000000000000000000000000000000000000000000f2fde38b00000000000000000000000000000000000000000000000000000000f874225400000000000000000000000000000000000000000000000000000000d8baf7cf00000000000000000000000000000000000000000000000000000000eab90da60000000000000000000000000000000000000000000000000000000091d148530000000000000000000000000000000000000000000000000000000091d1485400000000000000000000000000000000000000000000000000000000a217fddf00000000000000000000000000000000000000000000000000000000d547741f000000000000000000000000000000000000000000000000000000008980f11f000000000000000000000000000000000000000000000000000000008bb9c5bf000000000000000000000000000000000000000000000000000000004ebb7915000000000000000000000000000000000000000000000000000000006b453c1e000000000000000000000000000000000000000000000000000000006b453c1f000000000000000000000000000000000000000000000000000000007ae267730000000000000000000000000000000000000000000000000000000084a33e63000000000000000000000000000000000000000000000000000000004ebb79160000000000000000000000000000000000000000000000000000000069cff80d00000000000000000000000000000000000000000000000000000000248a9ca200000000000000000000000000000000000000000000000000000000248a9ca3000000000000000000000000000000000000000000000000000000002f2ff15d0000000000000000000000000000000000000000000000000000000036568abe0000000000000000000000000000000000000000000000000000000001ffc9a70000000000000000000000000000000000000000000000000000000006fdde03339759585899103d2ace64958e37e18ccb0504652c81d4a1b8aa80fe2126ab950000000000000000000000000000000000000020000000000000000000000000ffffffff0000000000000000000000000000000000000000000000000000000001ffc9a7000000000000000000000000000000000000000000000000000000007965db0b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000800000000000000000020000000000000000000000000000000000004000000000000000000000000002000000000000000000000000000000000000000000000000000000000000002f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d00000000000000000000000000000000000000000000000100000000000000000200000000000000000000000000000000000020000000000000000000000000f43f23b7a28e6f8ce6843a21bd7b48bce778aa913b8c8cf459edf7d770e8d38a496e76616c6964206761732d657374696d61746500000000000000000000000008c379a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000064000000000000000000000000696e7461696e65720000000000000000000000000000000000000000000000004d61696e7461696e61626c653a2043616c6c6572206973206e6f742061206d610000000000000000000000000000000000000084000000000000000000000000496e76616c69642061646170746572206e616d65000000000000000000000000310ab089e4439a4c15d089f94afb7896ff553aecb10793d0ab882de59d99a32e02000002000000000000000000000000000000440000000000000000000000001806aa1896bbf26568e884a7374b41e002500962caba6a15023a8d90e8508b8302000002000000000000000000000000000000240000000000000000000000006801cc3000000000000000000000000000000000000000000000000000000000f140a35a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffa000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff300000000000000000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000000000000000003031323334353637383961626364656600000000000000000000000000000000416363657373436f6e74726f6c3a206163636f756e7420000000000000000000206973206d697373696e6720726f6c6520000000000000000000000000000000f6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b000000000000000000000001000000000000000000000000000000000000000020726f6c657320666f722073656c660000000000000000000000000000000000416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636570a0823100000000000000000000000000000000000000000000000000000000a9059cbb00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffff7f6f742073756363656564000000000000000000000000000000000000000000005361666545524332303a204552433230206f7065726174696f6e20646964206e000000000000000000000000000000000000000000000000ffffffffffffffdf022c0d9f00000000000000000000000000000000000000000000000000000000e2bdbc6b7225eb0a972ac943c485a6cc05f7c6811838bce8903f23200fb744fa496e73756666696369656e7420616d6f756e742d6f75740000000000000000005361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564496e737566666963656e7420616d6f756e74206f757400000000000000000000000000000000000000000000000000000000000000000000ffffffffffffff80537472696e67733a20686578206c656e67746820696e73756666696369656e74095ea7b3000000000000000000000000000000000000000000000000000000008c1256b8896378cd5044f80c202f9772b9d77dc85c8a6eb51967210b09bfaa2859616b416461707465723a204e6f7468696e6720746f207265636f76657200005472616e73666572206661696c65642e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c6d4a390b47ed4e406445aa2c7378dfef3f4492b88ea658fb74adaf81e1a596a" + ] +} \ No newline at end of file diff --git a/src/deployments/zksync/SpaceAdapter.json b/src/deployments/zksync/SpaceAdapter.json new file mode 100644 index 00000000..698999ce --- /dev/null +++ b/src/deployments/zksync/SpaceAdapter.json @@ -0,0 +1,819 @@ +{ + "address": "0x9F12adB64cDE6cD312f7f4acEc865327931fD5F7", + "abi": [ + { + "inputs": [ + { + "internalType": "string", + "name": "_name", + "type": "string" + }, + { + "internalType": "address", + "name": "_factory", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_fee", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_swapGasEstimate", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "Recovered", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "previousAdminRole", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "newAdminRole", + "type": "bytes32" + } + ], + "name": "RoleAdminChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "RoleGranted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "RoleRevoked", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_adapter", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_newEstimate", + "type": "uint256" + } + ], + "name": "UpdatedGasEstimate", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_tokenFrom", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "_tokenTo", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_amountIn", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_amountOut", + "type": "uint256" + } + ], + "name": "YakAdapterSwap", + "type": "event" + }, + { + "inputs": [], + "name": "DEFAULT_ADMIN_ROLE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "MAINTAINER_ROLE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "addedMaintainer", + "type": "address" + } + ], + "name": "addMaintainer", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "factory", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "feeCompliment", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + } + ], + "name": "getRoleAdmin", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "grantRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "hasRole", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_amountIn", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_tokenIn", + "type": "address" + }, + { + "internalType": "address", + "name": "_tokenOut", + "type": "address" + } + ], + "name": "query", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "recoverAVAX", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_tokenAddress", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_tokenAmount", + "type": "uint256" + } + ], + "name": "recoverERC20", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "removedMaintainer", + "type": "address" + } + ], + "name": "removeMaintainer", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "renounceRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + } + ], + "name": "renounceRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_token", + "type": "address" + }, + { + "internalType": "address", + "name": "_spender", + "type": "address" + } + ], + "name": "revokeAllowance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "revokeRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_estimate", + "type": "uint256" + } + ], + "name": "setSwapGasEstimate", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_amountIn", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_amountOut", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_fromToken", + "type": "address" + }, + { + "internalType": "address", + "name": "_toToken", + "type": "address" + }, + { + "internalType": "address", + "name": "_to", + "type": "address" + } + ], + "name": "swap", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "swapGasEstimate", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "stateMutability": "payable", + "type": "receive" + } + ], + "transactionHash": "0x7be639e0fa4345519d8df6b0ff3dd20c28f5a5cbf356c376c35e8887b8fa4e7a", + "receipt": { + "to": "0x0000000000000000000000000000000000008006", + "from": "0x1A267D3f9f5116dF6ae00A4aD698CdcF27b71920", + "contractAddress": "0x9F12adB64cDE6cD312f7f4acEc865327931fD5F7", + "transactionIndex": 3, + "gasUsed": "83468641", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0x45ee8a3fec0bd2f1b1a96e7b510c7f88fbd6d46b1a94d5c18ac6b44f23c9cbbc", + "transactionHash": "0x7be639e0fa4345519d8df6b0ff3dd20c28f5a5cbf356c376c35e8887b8fa4e7a", + "logs": [ + { + "transactionIndex": 3, + "blockNumber": 2342274, + "transactionHash": "0x7be639e0fa4345519d8df6b0ff3dd20c28f5a5cbf356c376c35e8887b8fa4e7a", + "address": "0x000000000000000000000000000000000000800A", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000001a267d3f9f5116df6ae00a4ad698cdcf27b71920", + "0x0000000000000000000000000000000000000000000000000000000000008001" + ], + "data": "0x0000000000000000000000000000000000000000000000000070525a50ef7c80", + "logIndex": 12, + "blockHash": "0x45ee8a3fec0bd2f1b1a96e7b510c7f88fbd6d46b1a94d5c18ac6b44f23c9cbbc" + }, + { + "transactionIndex": 3, + "blockNumber": 2342274, + "transactionHash": "0x7be639e0fa4345519d8df6b0ff3dd20c28f5a5cbf356c376c35e8887b8fa4e7a", + "address": "0x0000000000000000000000000000000000008008", + "topics": [ + "0x3a36e47291f4201faf137fab081d92295bce2d53be2c6ca68ba82c7faa9ce241", + "0x000000000000000000000000000000000000000000000000000000000000800e", + "0x2d664200596d5fee772eb93762948fa17ccbaa9df67305668904f86d42be520c" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000055d20559000000000000000000000503010000410000000001024019000005030320009c000000000101043b000000010220019000000000003204350000140900010430000000c001100210140714020000040f000000000200041400008010020000390000052f011001c700000040011002100000000000100435000000000110004c000000400100043d00000000010280190000050302000041000002a00000c13d00000000002104350000000001000019000000200000043f000000000001042d000005030310009c00000000002004350000000003000019000000200010043f000000000101041a0000050901000041000000040010043f0000050801000041000014080001042e0000004402100039000000000100041600000020030000390000002402100039000000400200043d0000000001030019000000040210003900000536020000410000050602200197000000ff01100190140713fd0000040f0000050502000041000000000112019f00000000020000190000000001026019000005050110009c000000000410004c0000050501100197000005030410009c00000000030280190000000003000414000000400010043f000000010120019000000000004504350000800d02000039000000c002300210000005030430009c00000041010000390000000000120435000000000232016f000004040000613d000000600110021000000e070000613d0000052701000041000000000021041b0000000005000019000000000200a01900000000010000310000000302000029000000000606043b000000000221004b00000537011001c7000100000001001d000000000220004c0000000304400210000000000651034f0000000004000019000000010330003900000530011001c7000000000302401900000c170000613d140704ff0000040f00000000020704330000000102000031000300000001035500000001030000310000053a011001c70000000403000039000001000300008a000000000201041a0000000002000411000100000002001d000000000121019f0000000001100031000000040100008a0000000003010019000000000404043b0000006402100039000000020500002900000004001004430000000000100439000013250000613d000012290000613d000200000001001d000300000002001d000008580000613d000200000002001d0000074a0000613d000005040310009c00000001020040390000000000650435000000010110003900000001020000290000004002200210000005030340009c000000000013043500000528011001c7ffffffffffffffff00000c190000213d000000020100002900000001010000290000000003050019000005050220009c0000050502200197000000000131019f000000000100041400000000020080190000000003022019000000040110008a00000000000004350000000006000019000000000310004c000000600330027000000c170000c13d0000053601000041000000000424004b0000003201000039000000000201043300000000020700190003000000000002000000000141019f00000000013101cf000000000131022f0000010003300089000000000121034f000000000434022f00000000043401cf00000000040204330000000502200210000000000221016f00000100044000890000000505500210000000000640004c000000000756004b00000001066000390000000000780435000000000707043b000000050760021000000005055002720000001f0450018f000000200430008c00008002020000390000053e011001c70000066e0000613d000000000302043300000533011001c700000000020440190000000001410049140705100000040f000000020110036700000004010000390000000402000029000000000320004c0000000000430435000000400040043f000000000101043300000c190000c13d000009980000613d000009260000613d0000054b040000410000000401200039140705280000040f000000200120008a000000000231004900000011021000390000054a02000041000000370240003900000549030000410000002002400039000000400400043d14070cd80000040f140713e90000040f0000000101004039000000100130008c000000010420008c000000010220008a0000000405300270000000000446019f000000f804400210000005450660019700000000060504330000000005120019000000000445022f0000054805000041000000f80440015f0000000f0430018f0000000004070433000000290200003900000547033001c700000545033001970000002102700039000000020220008c00000546022001c70000054502200197000000020430008c000000000442034f000000000541001900000005043002100000000202200367000000000200003100000000011204360000002a010000390000006001200039000005440110009c0000000007010019000000020700002900000003060000290000000303400210000000000340004c000000000523004b000000050530021000000005023002720000001f0430018f0000000401000029000000000204001900000000019200190000001f01300039000100000003001f000000000474019f00000000044601cf000000000646022f000000000747022f00000000074701cf00000000070504330000000005590019000000000771034f0000000008790019000000000503401900000503033001970000004003300210000005030390009c00000000010480190000050304000041000000400900043d0000066d0000613d000000000430004c000005310400004100000001022001bf000005290100004100000020020000390000000105500190000000010500403900000004030000290000000003310436000005040640009c000105030010019d00000060011002700000000004034019000000030300002900000002040000290000053d010000410000066e0000213d000000000103c019000000000100a019000000000420004c00000000030140190000050501000041000000200500003900000000030940190000000003040019000000040320008c000000070300002900000004029000390000000000190435000300000004001d000000000202043b0000002803000039000005390300004100000538030000410000000203000039000000200200008a00000009020000290000000104000029000000200310008c000005030230009c00000044020000390000000001000412140704960000040f0000000506600210000000000867004b00000001077000390000000000890435000000000808043b000000000983001900000005087002100000000007000019000000400300043d000000010100003900040000000000020200000000000000020000020000000000000001020000390000115f0000613d000010860000613d000000200400008a00000ed60000613d00000003040000290000000301000029000400000004001d000300000007001d0000002a030000390000055303000041000005520300004100000558030000410000000b030000290000000000230435000000010200c039000000000210004c0000000002036019000000000300a019000000000520004c000000200420008c00000505030000410000000012010434000000000464019f00000000045401cf000000000454022f0000010005500089000000000656022f00000000065601cf000000000603043300000003055002100000000003630019000000000464034f000000000750004c000000000884034f00000005066002720000001f0560018f00000001060000310000000304000367000000000514004b0000000004410019000000000441016f0000003f0130003900000060010000390000050303100197000000010220015f000300000001001d000000020900002900008005020000390000053c011001c7000400000001001d000000000232004b0000000000020435000004fd0000213d000000000303043b0000003f0310008c000000110100003900000014030000390000000602000029000000000120004c000000000534004b000000200440003900000527050000410000000007060019000000040600002900000000011200190000000004000414140704510000040f0000000001034019000005060110019700000024000004430000000003030433000002a00000213d000000c20000213d5361666545524332416363657373436f0000004400000000496e76616c6964200000002000000000000000240000000000000000ffffffff0000000405000029000011490000613d0000001e030000390000055d030000410000055c04000041000010860000c13d000010580000613d00000f960000c13d00000f7c0000613d000000c00330021000000000030440190000000003058019000005030630009c0000000001058019000005030610009c0000050305000041000000040520008c000000020200002900000f960000613d000200000000000200000002060000290000055a030000410000000004010433000000000524004b000000000209043300000b040000613d000005030510009c000005030520009c000000400030043f0000008003100039000000000031043500000009030000290000002002100039000000000204c019000005050330009c000000000530004c000005050330019700000000040240190000000b020000290000000c0300002900000509011001c70000000c020000290000054f010000410000002f030000390000054e030000410000054d03000041000000030700002900000001060000290000000003000411000200000007001d000006760000413d0000000305000029000700000003001d000000000130004c0000000001090433000000040240008c0000066e0000c13d000000200320008c000006700000c13d000006700000213d00000540011001c7000000050200002900000024029000390000053f0100004100000000002004390000053d020000410000001f02200039000000200300008a0000000006060433000000000140004c0000000004030433000005060430009c000004dc0000213d000005060320009c00000024022003700000047d0000213d000005060310009c000000040120037000000002020003670000001f0310008c00000535030000410000002201000039000000000500041000000534040000410000000002050433000000010200008a000000000423004b00000000030040190000000502200270000100000004001d00000000040100190000000806000029000900000002001d000400000002001d000800000001001d000500000002001d000600000003001d00000000020300190000006002200210000000800010043f000000010110018f00000000000104350000002400100443000000200100003900000000020100190000000103000029140702a20000040f0000800501000039000005060420009c0000000002020433000000000504043300000000080000190000000000260435000000000505043b000000000706043300000003022002100000000205000367000000400020043f000000c20000c13d0000001f024000390000000004000031000000020100036700000503043001970001000000000002764049832cff3c80261aa8dd705fe8e9546717c8627e04756b3a836da170106a206661696c65642e5472616e7366657265636f7665720000696e6720746f207265723a204e6f746859616b41646170741967210b09bfaa28b9d77dc85c8a6eb55044f80c202f97728c1256b8896378cd095ea7b3000000006666696369656e7467746820696e737520686578206c656e537472696e67733affffffffffffff806c206661696c65646576656c2063616c303a206c6f772d6c756e742d6f75740069656e7420616d6f496e737566666963903f23200fb744fa05f7c6811838bce8972ac943c485a6cce2bdbc6b7225eb0a022c0d9f00000000ffffffffffffffdf6f6e20646964206e206f706572617469303a20455243323065640000000000006f74207375636365ffffffffffffff7fa9059cbb0000000070a082310000000072656e6f756e6365616e206f6e6c79206e74726f6c3a20636f722073656c660020726f6c657320660000000100000000eb21e047a839171bb53935d1edc7fd642a47ea670b442974f6391f5c32d9c69d2000000000000000696e6720726f6c65206973206d69737363636f756e7420006e74726f6c3a2061383961626364656630313233343536377800000000000000300000000000000000ffffffffffffffffffffffffffffa00000ffffffffffff00000004000000000902f1ac00000000e6a4390500000000023a8d90e8508b8302500962caba6a1568e884a7374b41e01806aa1896bbf2656e616d6500000000616461707465722000000084000000006e6f742061206d616c6c65722069732061626c653a2043614d61696e7461696e696e7461696e6572000000640000000008c379a0000000006d617465000000006761732d6573746959edf7d770e8d38ae778aa913b8c8cf4e6843a21bd7b48bcf43f23b7a28e6f8c0000000000000001304540a733656f0d7c78024a5027094082e926ec794901d12f8788117e7eff1d000000400000000000000020000000807965db0b0000000001ffc9a700000000ffffffff00000000ab882de59d99a32eff553aecb10793d015d089f94afb7896310ab089e4439a4cb8aa80fe2126ab95cb0504652c81d4a12ace64958e37e18c339759585899103d0000000006fdde030000000001ffc9a70000000036568abe000000002f2ff15d00000000248a9ca300000000248a9ca20000000069cff80d000000004ebb7916000000003b720fca0000000084a33e63000000007ae26773000000006b453c1f000000006b453c1e000000003b720fc9000000008bb9c5bf000000008980f11f00000000c45a015500000000a217fddf0000000091d148540000000091d1485300000000eab90da600000000d8baf7cf00000000d547741f00000000f874225400000000f2fde38b00000000ef99893a00000000ef99893900000000d547741e000000008980f11e4e487b7100000000000000c00000010000000002000000008000000000000000000014070000043200001405002104230000140000210421000013ec0000613d0000000001050019000013e10000c13d000013e10000213d00000000015200190000005f01200039000013c50000413d000000000463004b0000002003200039000000000401041a00000000037200190000000107000029000013d00000613d000000000360004c000013e70000613d000300000005001d000200000006001d000013d00000013d00000040020000390000000000140435000000000121016f000001000200008a000013af0000c13d000000000330004c0000000004650436000000400500043d000013db0000c13d000000000443004b000000010440018f00000001040020390000001f0460008c000000000605601900000000060400190000007f0540018f00000001041002700000000103100190000000000102041a0000000202000039000013580000213d0000134b0000a13d000013510000813d0000134b0000613d000013390000413d000013310000413d000013240000613d000013270000613d0000125c0000213d0000124f0000a13d000012550000813d0000124f0000613d0000123d0000413d000012350000413d000012280000c13d0000122b0000613d00000010030000390000055e030000410000000000910435000011880000613d000000000353019f00000000034301cf000000000343022f000000000545022f00000000054501cf00000000050104330000000001510019000000000353034f000011320000413d000000000773034f00000000087100190000113a0000613d000000010500003100000003030003670000000001130436000011990000c13d000011990000213d0000000004430019000000000443016f0000003f031000390000050301100197000000010220018f000000000309001900008009020000390000004002300210000005030530009c0000111c0000013d0000000101000031000011080000c13d000011760000613d000000000190004c000011610000613d000010c60000613d000010710000613d000010b50000c13d000010410000413d000010490000613d000010880000c13d000010880000213d0000102a0000013d000010160000c13d0000008004100039000010880000813d000005590410009c000000000042043500000550020000410000002003100039000010a30000613d0000108e0000613d000000040130003900000028020000390000002401300039000005390200004100000044013000390000053802000041000000640130003900000fc30000613d00000f950000613d00000fb20000c13d00000f650000413d00000f6d0000613d00000f980000c13d00000f980000213d000000000113019f000000600330021000000f4e0000013d00000f3a0000c13d000000800230003900000f980000813d000005590230009c0000004402300039000000000024043500000024043000390000055b02000041000000200130003900000f9e0000613d00000eed0000613d00000ed80000613d00000e990000613d00000e890000613d00000e3a0000213d00000e2d0000a13d00000e330000813d00000e2d0000613d00000e1b0000413d00000e130000413d00000e060000613d00000db50000c13d00000e090000613d00000d1d0000813d000000100250008c00000cfb0000213d000000010640008c000000010440008a0000000402500270000000000227019f000000f80220021000000545077001970000000006340019000000000226022f0000054806000041000000f80220015f0000000f0250018f00000d110000a13d000000000242004b00000000050200190000004104000039000000000054043500000547055001c70000054505500197000000210410003900000d110000413d000000020440008c00000546044001c7000005450440019700000d110000613d000000000440004c00000ce30000413d000000030650008c00000001055000390000000000670435000000000664034f000000000763001900000005065002100000000204400367000000420300003900000d170000813d000005590310009c00000cd20000613d00000cbd0000413d00000cc40000613d000000030330021000000cb30000613d00000c9e0000413d0000000104400039000000050540021000000ca50000613d00000005024002720000001f0340018f00000c940000613d00000c7f0000413d00000c860000613d00000c750000613d00000c600000413d00000c670000613d0000001703000039000005570300004100000005060000290000000a0500002900000556040000410000000303000039000000080200002900000c360000413d000000000242004900000c300000413d000000000342004b00000cb90000613d00000bdc0000613d00000bc50000413d00000bcd0000613d0000000c09000029000c00000009001d00000be00000013d00000bae0000c13d0000000c010000290000000001820019000000000231016f0000001f0140003900000c9a0000613d000105030030019d0000000608000029000600000008001d0000000001038019000000000242019f0000000002038019000000a402200039000000400440021000000000040840190000000004030019000005030480009c000005030300004100000b7a0000013d000000010400003100000b5d0000c13d000000040370008c0000000000030435000000000332001900000b580000a13d00000b4d0000413d00000000069400190000000005340019000000a40380003900000b580000613d000000840380003900000001090000290000000402800039000000240280003900000044028000390000008003000039000000640280003900000000001804350000055501000041000000400800043d00000006070000290000000400a004430000002001200039000005540120009c00000c470000613d00000b1d0000613d00000c1f0000c13d00000aed0000413d00000af50000613d0000000b04000029000000060a0000290000000002060019000000c0022002100000000002034019000000000204801900000ad60000013d00000ac00000c13d00060000000a001d000000040460008c000005510310009c0000004403000039000400000003001d000000000336004b0000000000a3043500000024031000390000055003000041000000080300002900000c170000213d0000050602a0009c000000000a09043300000c7b0000613d00000a830000613d00000a6c0000413d00000a740000613d0000000609000029000600000009001d000400000006001d00000a880000013d00000a540000c13d000000000062043500000506062001970000000a02000029000600000001001d000b00000002001d00000c5c0000613d00000a030000613d000009ec0000413d000009f40000613d0000000b09000029000b00000009001d00000a070000013d000009d50000c13d00000506031001970000000b01000029000c00000001001d0000050601400197000500000004001d000a00000003001d000b00000005001d000c000000000002000009970000613d0000099a0000c13d000009250000613d000009280000813d0000054c0230009c000100000003001d00000506023001970000088b0000213d0000087e0000a13d000008840000813d0000087e0000613d0000086c0000413d000008640000413d000008570000613d0000085a0000613d000007cd0000613d0000077d0000213d000007700000a13d000007760000813d000007700000613d0000075e0000413d000007560000413d000007490000c13d0000074c0000613d0000001201000039000006b40000613d0000069f0000413d000006a60000613d000006950000613d000006800000413d000006870000613d00000000212100d900000000316100a9000006ba0000613d000000000221001a000006760000213d000000000332004b000003e8422000c9000000000321013f000000000363004b00000000431200d9000006640000613d00000000315100aa0000000706000029000000000313004b00000000435200d9000600000002001d0000000002014019000000000343004b0000000604000029000005030330009c0000004003900039000005430320009c000005430210009c000000600320008c0000069b0000613d0000000105000029000006130000613d000005fc0000413d000006040000613d0000006005000039000000600430008c000200000009001d00000542011001c70000000002094019000100000005001d000006180000013d000005e40000c13d00000000051904360000054101000041000200000004001d0000000400400443000005060140009c00000000040904330000067c0000613d000005a70000613d000005900000413d000005980000613d0000000509000029000500000009001d000005ab0000013d000005790000c13d0000000603000029000500000001001d000000000240004c000700000002001d00000506033001970007000000000002000005350000c13d000005350000213d0000001f023000390000000002130019000005230000a13d000000000234004b000005180000413d00000000062400190000000005140019000005230000613d0000004001100039000000000034043500000000043104360000050f0000a13d000000000245004b000005050000413d000000000645004b000000000076043500000000070704330000000007350019000000200550003900000000062500190000050f0000613d0000000001240019000005060650009c0000008405500370000005060640009c000000640450037000000044035003700000000401500370000000000201043b0000002401500370000004fd0000613d0000009f0310008c0000004403300370000000240230037000000004013003700000000203000367000004dc0000613d0000005f0310008c000004c10000c13d0000052a02100197000004c10000613d0000000401100370000004ab0000213d0000002402100370000004ab0000613d000004940000213d000004940000613d0000047d0000613d000004640000213d000005060210009c000004640000613d0000053b03000041000000a00010043f0000000501000029000003e8012000890000044b0000813d000003e90120008c000004390000613d0000000702000029000004240000613d000000000017041b0000000101800210000000000212016f000000000121013f000000000112022f0000000301800210000003c30000013d00000001028002100000000002620019000000000343013f000000000334022f000000010400008a000000f80330018f0000000303800210000003b90000813d000000000383004b000003a60000413d0000002002200039000000000051041b00000000050504330000000005620019000003ae0000613d0000000003280170000003bc0000a13d0000001f0280008c0000039a0000413d000000000003041b0000039e0000813d000000000331001900000000022100190000000003020019000000200380008c0000001f028000390000039e0000413d000000200240008c000000030800002900000004070000290000000000700435000400000007001d000300000008001d000200000005001d0000038d0000413d000000200110008c000000000184019f0000041e0000c13d000000000112004b00000001010020390000001f0140008c00000000040360190000007f0310018f00000001011002700000000102100190000000000107041a0000000207000039000004180000813d000005320180009c000004060000613d000000000180004c0000000058060434000003610000c13d0000030d0000c13d000700000004001d0009000000000002000002b10000613d0000052e011000410000000001044019000005030540009c14070fd80000040f1407047f0000040f0000052d0100004100000001010060390000052c0110009c00000001020060390000052b0210009c0000052a01100197140704ad0000040f14070d2e0000040f1407053b0000040f140704c30000040f14070eff0000040f140704660000040f140706c00000040f000000010100c03914070e7a0000040f14070e8b0000040f1407119f0000040f140707bd0000040f140707cf0000040f1407129c0000040f140710db0000040f140708cb0000040f000005180110009c000002940000613d000005170210009c140713980000040f000005260110009c000002830000613d000005250210009c00000527020000410000050f0110009c000002770000613d0000050e0210009c000002690000613d0000050d0210009c14070e9b0000040f0000051d0110009c0000025d0000613d0000051c0210009c000002510000613d0000051b0210009c000005160110009c000002380000613d000005150210009c000002230000613d000005140210009c000001840000a13d000005130210009c1407093d0000040f000005240110009c000002170000613d000005230210009c000001fa0000613d000005220210009c0000015f0000a13d000005210210009c140709af0000040f140704de0000040f000005120110009c000001ee0000613d000005110210009c000001e20000613d000005100210009c0000013f0000213d0000050c0210009c000000f20000a13d0000050b0210009c0000050701000041000001200010044300000002010000390000010000200443000001a000100443000001800020044300000160002004430000014000000443000000a00200043d000000800100043d140702b30000040f00000040033000390000000004040433000000600430003900000000000404350000000004170019000000aa0000a13d000000000456004b0000009f0000413d000000000856004b00000000009804350000000009090433000000000946001900000000081600190000002006600039000000aa0000613d000000000650004c000000000668004b000000000847001900000020075000390000000000510435000000400070043f0000000108800190000005040970009c0000000108004039000000000817004b0000000007710019000000000717016f0000003f07500039000005040750009c000000000550004c00000000050760190000000005080019000005050550009c000000000595013f0000000007008019000000000a95004b000005050960019700000505055001970000000008078019000000000865004b00000505070000410000001f0540003900000000043500190000000006430019000005040650009c0000000025030434000000000205c019000005050660009c000000000760004c00000505064001970000000005024019000000800540008c000000000272019f00000000022501cf000000000525022f0000010002200089000000000727022f00000000072701cf0000000006630019000000000565034f000000690000613d000000000720004c000000520000413d000000000885034f0000005a0000613d00000005064002720000001f0240018f000005040620009c000000000552004b0000000002350019000000000512016f000000200100008a000000c001000039000005200110009c000001c70000613d0000051f0210009c000001a30000613d0000051e0210009c0000011e0000213d0000051a0210009c000000de0000a13d000005190210009c000000c80000213d0000050a0210009c000000e001100270000000be0000413d000000040210008c00000080010000390000003a0000c13d000100000000001f000005030030019d000200000001035500030000004103550137020600620087020505580557055605550037055405530036004605520551020400040550054f054e054d054c054b054a0549054805470546054500130022000f001300610060002c0086001a005200320031004500300026002f000f00130136001c0025003d000100030002000d00770020054400360022000f0013020302020543054201350541054000440108053f0183010702010200053e01ff053d053c013401330132053b01310130012f012e053a05390538012d0537053601fe01fd0535053401fc053305320531053001fb002c052f0044052e052d052c0045052b052a004c00130529052801820527052605250524052301fa052205210520051f051e051d051c051b051a0519001301f9051801830517051600100515051401fa051305120183051102010510050f050e050d050c0182050b050a0085050905080507050605050504050305020501050004ff01f801f7018204fe04fd04fc018104fb04fa04f904f804f7010604f604f504f404f304f204f10020000f001300150020001f000e003c001e001d000704f004ef04ee04ed04ec04eb04ea04e904e800130022000f0013004604e704e60001002500030002000d002004e504e404e304e204e104e004df00130022000f00130046012c04de0001002500030002000d002004dd04dc04db04da04d904d804d700130022000f001300610060002c0086001a005200320031004500300026002f000f00130010004b01050067012b0066018001f6012a01f5017f01f4007600010129017e000d0077002004d604d504d404d304d200130022000f001300610060002c0128001a005200320031004500300026002f000f001300ad00ac000404d10001002500030002000d002004d004cf04ce04cd04cc00130022000f001300610060002c0086001a005200320031004500300026002f000f0013001004cb0014001200180011000d0077002004ca04c904c800130022000f001300610060002c0086001a005200320031004500300026002f000f001304c701f30010004b00ab012700aa001200180011007500a900740040005f002004c604c504c400130022000f001300610060002c0128001a005200320031004500300026002f000f001300ad00ac000404c30001002500030002000d00200022000f001300610060002c0086001a005200320031004500300026002f000f00130010004b01050067012b006601f201f101f6012a01f501f4007600010129017e000d007700200022000f001300610060002c0128001a005200320031004500300026002f000f001300ad00ac000404c20001002500030002000d00200022000f00130046012c04c10001002500030002000d00200022000f00130046017d04c00001002500030002000d00200022000f001300610060002c0128001a005200320031004500300026002f000f001300ad00ac000404bf0025003d000100030002000d007700200022000f00130046012c04be0001002500030002000d00200022000f00130046012c005e04bd007304bc001c002a001504bb0025003d000100030002000d007700200022000f001300610060002c0086001a005200320031004500300026002f000f0013001001f0001200180011000d007700200022000f00130046017d04ba0001002500030002000d00200022000f0013004604b904b80001002500030002000d00200022000f0013004604b704b60025003d000100030002000d007700200022000f00130046017d04b50001002500030002000d00200022000f0013004604b404b304b2002e04b104b0001504af005f01ef01ee04ae00200022000f0013004604ad04ac0001002500030002000d00200015000700620001017c04ab04aa000801ed017b04a901ec0009000504a8000400170015000704a704a601eb01ea01e9008400160001000a000300020008000c000b00090005003f0004005d01e8002901e70019001b0001000a000300020008000c000b00090005003f0004001c002a04a5008400160001000a000300020008000c000b00090005003f000401260019001b0001000a000300020008000c000b00090005003f0004005c005b003e01040043001000120035003b003400330011000d003a002d00510039005a01030044017a0179002b0037003f0042000e00160001000a000300020008000c000b00090005003f000401260019001b0001000a000300020008000c000b00090005003f0004001c002a04a40042000e00160001000a000300020008000c000b00090005003f000401260019001b0001000a000300020008000c000b00090005003f0004005c005b003e01040043001000120035003b003400330011000d003a002d00510039005a01030178017a0179002b0037003f01e604a304a204a104a0049f049e049d049c049b049a01e5049904980015049701ef04960495049404930015049201e404910490048f048e0001000a00030002000800a8000b00090005003f000401e6048d048c00650127048b048a048901e30488048701e2020201e30486048501e104840483005001e10482048104800125047f0106047e0106004f047d047c047b047a00720177017604790478047704760475047404730472047101f8003e004301360470046f046e01e0046d046c01df046b046a002d04690042000e00160001000a000300020008000c000b00090005003f000401260019001b0001000a000300020008000c000b00090005003f0004001c002a0468046701750466013600430010001400120035003b003400330011000d003a002d00a80039012401de01dd002b0037003f017404650464046301ee04620461001700150007001000210460000600240173000600280014002700230006001200180011000d004a0007001f000e003c001e001d0007001f000e01dc001e001d0007001000640123000600210122000600240121000600280014002700230006001200180011000d005900070010002101db000600240173000600280014002700230006001200180011000d004a0007001f000e0172001e001d00070083002c01da001a008200320031008100300026002f000f045f00ad00ac0004045e045d0017001500070083002c0171001a008200320031008100300026002f000f045c01d901d8000401d701d601d5012001d401d60017001500070083002c0171001a008200320031008100300026002f000f045b01d901d8000401d7045a01d501200017001500070083002c0171001a008200320031008100300026002f000f045902040458012001d40457045600040017001500070083002c01da001a008200320031008100300026002f000f045500ad00ac00040454004904530017001500070083002c0452001a008200320031008100300026002f000f04510450044f0004044e012001f701d3044d017001d201d30017001500070083002c044c001a008200320031008100300026002f000f044b01ff044a0449044800040447017001d2016f044600630445016f044401fc0443016f001700150007006201d101d00442044100440440043f043e043d043c043b043a0439043801f000170023043700a70436043501020434004f04330177043201cf0071017604310430042f042e016e042d01ce003e017b001701cd01ce003e017b0049002e0070006f042c0005042b00360017001f000e003c001e001d0007042a01e5002904290015042801eb016d010104270101011f01050067012b016c006601800001000a000300020008016b016a0009000500a6000401cc01cb017f042600660001000a00030002000800a500a40009000500a60004000f00a6010001ca011e01c9008004250006011d011c000601c8011b04240058042300ff001800fe00fd011a011900fc0008007f01c70422000904210062008700fb00a3011800fa00a200a10420008500a000f900f8009f009e009d009c041f009b041e009a004e00f7004d00f600f500f40048009900f300f200f1003800f000570005041d00ef012501ea009800ee0049002e0070006f01c6000501c500360117005601c4001a0116007e01150114007d0113000f01c3041c041b011201d00015010101110067041a0001000a00030002000800a500a4041900090110000500a60004000f00a6010004180417008001c2041600580415041400120018001100fd041300740008005f041200ed0411000901690062008700fb0410040f00fa00a200a1040e008500a000f900f8009f009e009d009c040d009b040c009a004e00f7004d00f600f500f40048009900f300f200f1003800f000570005040b040a00ef01c8009800ee0049002e0070006f01c6000501c50036011700560409001a0116007e01150114007d0113000f01c301c10408011201df040701120406018104050112011c0404040300620052040201750015010101c000150101040101bf0105006700ec006601f201f10001000a000300020008016b016a0009000500a601e001be0400000403ff03fe01bd03fd03fc03fb03fa01bd03f9017403f803f703f603f503f403f303f2001700150007001f000e003c001e001d0007001f000e0172001e001d000700eb00ea03f1001a00e9004e00480071005000e803f000e703ef00e6009700960095009400930004009200910090008f003d00010056000300020040000700eb00ea03ee001a00e9004e00480071005000e803ed00e703ec00e6009700960095009400930004009200910090008f003d000100560003000200400007001f000e03eb001e001d0007008e01680042000e00160001000a000300020008000c000b00090005006e00040072001c004b000e00160001000a000300020008000c000b00090005006e0004005d006d00290019001b0001000a000300020008000c000b00090005006e0004001c002a03ea0042000e00160001000a000300020008000c000b00090005006e000400470029005e0019001b0001000a000300020008000c000b00090005006e0004001c002a03e90042000e00160001000a000300020008000c000b00090005006e000400730019001b0001000a000300020008000c000b00090005006e0004005c005b003e01040043001000120035003b003400330011000d003a002d00510039005a0103017800e500e4002b0037006e001700150007001000e300e203e8001f000e003c001e001d0007008d00e1003600e000df00de00dd001a00dc00db00da00630038005000d903e70055004c03e6008c00d800d70014005500d603e5001f000e008b001e001d000700d500a700d400d3000600d20065007c00d1008a03e400d0004d00cf00ce00cd00cc00cb00ca00c900c8003800c700c600c503e300c4001500c301bc00c2007b00c100c0011f00bf00be0006004b00bd007a005400bc001400bb007b0054010f00ba00b90076002600b800890025006d003d00b7004700ab011000aa001200180011007500a900740040005f0007000e00160001000a000300020008000c000b0009000503e200040072001c001700150007008e01680042000e00160001000a000300020008000c000b00090005006c00040072001c004b000e00160001000a000300020008000c000b00090005006c0004005d006d00290019001b0001000a000300020008000c000b00090005006c0004001c002a03e10042000e00160001000a000300020008000c000b00090005006c000400470029005e0019001b0001000a000300020008000c000b00090005006c0004001c002a03e00042000e00160001000a000300020008000c000b00090005006c000400730019001b0001000a000300020008000c000b00090005006c0004005c005b003e0043001000120035003b003400330011000d003a002d00510039005a00b6017800e500e4002b0037006c001700150007001000e300e203df001f000e003c001e001d0007008d00e1003600e000df00de00dd001a00dc00db00da00630038005000d903de0055004c03dd008c00d800d70014005500d603dc001f000e008b001e001d000700d500a700d400d3000600d20065007c00d1008a03db00d0004d00cf00ce00cd00cc00cb00ca00c900c8003800c700c600c503da00c4001500c301bc00c2007b00c100c0011f00bf00be0006004b00bd007a005400bc001400bb007b0054010f00ba00b90076002600b800890025006d003d00b7004700ab011000aa001200180011007500a900740040005f0007008e01bb03d9006b03d803d703d6006a000e00160001000a000300020008000c000b0009000500b5000400470019001b0001000a000300020008000c000b0009000500b50004001c002a03d5007a000e00160001000a000300020008000c000b0009000500b5000400470019001b0001000a000300020008000c000b0009000500b50004005c005b003e0043001000120035003b003400330011000d003a002d00510039005a00b6006501ba01b9002b003700b50017001500070010006401b80006002101b70006002401b6000600280014002700230006001200180011000d00590007008e005e002901bb006b016d03d4006a000e00160001000a000300020008000c000b0009000500b4000400470019001b0001000a000300020008000c000b0009000500b40004001c002a03d3007a000e00160001000a000300020008000c000b0009000500b4000400470019001b0001000a000300020008000c000b0009000500b40004005c005b003e0043001000120035003b003400330011000d003a002d00510039005a00b6006501ba01b9002b003700b40017001500070010006401b80006002101b70006002401b6000600280014002700230006001200180011000d0059000703d203d103d001e701e90111006703cf03ce03cd00660001000a00030002000800a500a40009000500530004000f0053010001b5011e03cc03cb011d008001bf000601b4011b03ca005803c900ff001800fe00fd011a011900fc0008007f01b303c8000903c70062008700fb00a3011800fa00a200a103c6008500a000f900f8009f009e009d009c03c5009b03c4009a004e00f7004d00f600f500f40048009900f300f200f1003800f00057000503c300ef012503c2009800ee0049002e0070006f0079000500b300360117005601c4001a0116007e01150114007d0113000f008801c1006a01050067012b006601800001000a000300020008016b016a000900050053000401cc01cb017f03c100660001000a00030002000800a500a40009000500530004000f0053010001ca011e01c9008001b2000603c003bf011d03be0174011b03bd005803bc03bb00ff001800fe00fd011a011900fc0008007f01c703ba000903b90062008700fb00a3011800fa00a200a103b8008500a000f900f8009f009e009d009c03b7009b03b6009a004e00f7004d00f600f500f40048009900f300f200f1003800f000570005017a03b500ef01b1009800ee0049002e0070006f0079000500b30036002c005800a3004f01b001af01ae004501ad01ac004c008803b403b303b2002103b1000601ab03b0000603af03ae01b203ad01aa004f010e011f01e203ac03ab01a903aa007901a801a7003503a903a803a70058002e03a600ff01a603a5007400b201a500fe0040005f012900ed03a403a3005f03a2002b03a101670057010d010c01660165010201a4016403a0016300100162016100440108010b0079010700b300b1010a0160015f015e015d039f013401330132015c01310130012f012e039e015b01a4012d015a015901580157015601550063015401530152015100b00005039d015000af039c014f014e004f010e007e014d014c007d00ed014b004c008800b2014a002e014900490088000f039b0025039a007903990036005e016e0111006703980001000a00030002000800a500a400090397000500530004000f005303960395039403930080039200060391011c00060390010f0006038f01090006038e01a3038d014800af038c038b004f038a0177038901cf007101a20388008a0387038603850384038303820147038101cd0147003e0380037f037e037d037c037b01a6037a01ed0379003303780008002d008d0377002b0376006200870375020501470057000503740373037203710049002e0070006f0079000500b300360117005600af001a0116007e01150114007d0113000f008801110067037000660001000a00030002000800a500a40009000500530004000f0053010001b5011e011d0080011c000601b4011b036f0058036e00ff001800fe00fd011a011900fc0008007f01b3036d0009036c0062008700fb00a3011800fa00a200a1036b008500a000f900f8009f009e009d009c036a009b0369009a004e00f7004d00f600f500f40048009900f300f200f1003800f000570005036800ef01b1009800ee0049002e0070006f0079000500b30036002c005800a3004f01b001af01ae004501ad01ac004c008801a3011003670366036501aa016d036401ab00060363001400120035003b003400330011000d003a002d000c0039036203610360035f002b00370053001700150007001f000e003c001e001d000700100021014600060028001400240023000600270006001200180011000d004a0007001f000e0172001e001d00070021035e00060024035d000600280014002700230006001200180011000d004a0007001000640145000600210144000600240143000600280014002700230006001200180011000d0059000700eb00ea035c001a00e9004e00480071005000e8035b00e7035a00e6009700960095009400930004009200910090008f003d00010056000300020040000700eb00ea0359001a00e9004e00480071005000e8035800e7035700e6009700960095009400930004009200910090008f003d000100560003000200400007035603550354004f0353004e00480071035201a2035101020350034f009700960095009400930004009200910090008f003d00010056000300020040000700eb00ea034e001a00e9004e00480071005000e8034d00e7034c00e6009700960095009400930004009200910090008f003d00010056000300020040000701f30010034b034a01a801a70349010a0203034800440347034603450048034403430342034101a10340033f01d1033e033d00b001a1033c033b033a01f903390338033703360335008c03340333033201fe03310330032f032e01fd032d032c032b01fb032a032903280327032603250017001f000e008b001e001d0007001f000e003c001e001d00070010002101a000060028001400240023000600270006001200180011000d004a000701370168008400160001000a000300020008000c000b00090005004100040072001c004b000e00160001000a000300020008000c000b0009000500410004005d006d002901e80019001b0001000a000300020008000c000b0009000500410004001c002a0324008400160001000a000300020008000c000b000900050041000400470029005e0019001b0001000a000300020008000c000b0009000500410004001c002a0323008400160001000a000300020008000c000b000900050041000400730019001b0001000a000300020008000c000b0009000500410004005c005b003e01040043001000120035003b003400330011000d003a002d00510039005a0103004400e500e4002b00370041008400160001000a000300020008000c000b000900050041000400ae0019001b0001000a000300020008000c000b0009000500410004001c002a0322008400160001000a000300020008000c000b000900050041000400ae0019001b0001000a000300020008000c000b0009000500410004005c005b003e0043001000120035003b003400330011000d003a002d00510039005a00b60044019f0179002b00370041001700150007001000e300e20321001f000e003c001e001d0007008d00e1003600e000df00de00dd001a00dc00db00da00630038005000d903200055004c031f008c00d800d70014005500d6031e001f000e008b001e001d000700d500a700d400d3000600d20065007c00d1008a031d00d0004d00cf00ce00cd00cc00cb00ca00c900c8003800c700c600c5031c00c4001500c3014200c2007b00c100c0014100bf00be0006006a00bd0140005400bc001400bb007a0054010900ba00b90076002600b800890025006b003d00b700ae00ab013f00aa001200180011007500a900740040005f000700290019001b0001000a000300020008000c000b00090005031b0004001700150007000e00160001000a000300020008000c000b00090005031a00040017001500070206004b0042000e00160001000a000300020008000c000b00090005013e0004005d00290019001b0001000a000300020008000c000b00090005013e0004001c002a0319007301750318013600430010001400120035003b003400330011000d003a002d00a80039012401de01dd002b0037013e001700150007001000640123000600210122000600240121000600280014002700230006001200180011000d005900070010002101db000600240173000600280014002700230006001200180011000d004a0007019e006d004b0042000e00160001000a000300020008000c000b00090005019d0004005d00290019001b0001000a000300020008000c000b00090005019d01350004001c002a0317031603150014019c002903140313012a01480312016e03110310030f0200017c00730029019b030e0058002e030d019a01990198000d018101970196030c030b0075007c01950194007f002b01670057010d010c01660165010201930164013d016300100162016100440108010b030a0107030900b1010a0160015f015e015d0308013401330132015c01310130012f012e0307015b0193012d015a015901580157015601550063015401530152015100b000050306015000af0305014f014e004f010e007e014d014c007d00ed014b004c019200b2014a002e014900490192000f0304001700150007001f000e003c001e001d000703030302001403010300001402ff02fe00140089007602fd0106001400010129017e000d0059000700100021014600060028001400240023000600270006001200180011000d004a0007001000640145000600210144000600240143000600280014002700230006001200180011000d00590007008e006b006a0042000e00160001000a000300020008000c000b00090005013c0004005d0029005e0019001b0001000a000300020008000c000b00090005013c0004001c002a02fc010f01c002fb00100021000602fa02f901480024012702f8012a0014019c002902f702f602f500b1017c019b02f40058002e02f3019a0197019600fc00b2019901980040007f0075007c01950194007f002b01670057010d010c01660165010201910164013d016300100162016100440108010b02f2010702f100b1010a0160015f015e015d02f0013401330132015c01310130012f012e02ef015b0191012d015a015901580157015601550063015401530152015100b0000502ee015000af02ed014f014e004f010e007e014d014c007d00ed014b004c019000b2014a002e014900490190000f02ec00100047001400120035003b003400330011000d003a002d00a800390124018f0065002b0037013c001700150007001f000e003c001e001d0007001000640123000600210122000600240121000600280014002700230006001200180011000d0059000700100021018e00060024018d000600280014002700230006001200180011000d004a000700100021014600060028001400240023000600270006001200180011000d004a0007001000640145000600210144000600240143000600280014002700230006001200180011000d00590007019e006a0042000e00160001000a000300020008000c000b00090005013b0004005d005e00290019001b0001000a000300020008000c000b00090005013b0004001c002a02eb016902ea012702e9008001c202e8013a02e702e60012013502e5003401a50011000802e4002d005102e302e20044002b016902e10057010d010c02e00086018c02df013d02de013502dd017600440108010b02dc010702db00b102da02d902d800a200a102d7008500a002d602d5009f009e009d009c02d4009b018c009a02d302d2004d02d102d002cf0170009902ce02cd02cc01a90010004c02cb02ca00120035003b003400330011000d003a002d00a800390124018f0044002b0037013b001700150007001000640123000600210122000600240121000600280014002700230006001200180011000d0059000700100021018e00060024018d000600280014002700230006001200180011000d004a0007002102c90006002402c8000600280014002700230006001200180011000d004a0007001f000e003c001e001d00070137006b016c000e00160001000a000300020008000c000b00090005006900040072001c004b000e00160001000a000300020008000c000b0009000500690004005d006d00290019001b0001000a000300020008000c000b0009000500690004001c002a02c700ec000e00160001000a000300020008000c000b000900050069000400470029005e0019001b0001000a000300020008000c000b0009000500690004001c002a02c600ec000e00160001000a000300020008000c000b000900050069000400730019001b0001000a000300020008000c000b0009000500690004005c005b003e01040043001000120035003b003400330011000d003a002d00510039005a0103018b00e500e4002b00370069001700150007001000e300e202c5001f000e003c001e001d0007008d00e1003600e000df00de00dd001a00dc00db00da00630038005000d902c40055004c02c3008c00d800d70014005500d602c2001f000e008b001e001d000700d500a700d400d3000600d20065007c00d1008a02c100d0004d00cf00ce00cd00cc00cb00ca00c900c8003800c700c600c502c000c4001500c3014200c2007b00c100c0014100bf00be0006006a00bd0140005400bc001400bb007a0054010900ba00b90076002600b800890025006b003d00b700ae00ab013f00aa001200180011007500a900740040005f00070137006b016c000e00160001000a000300020008000c000b00090005006800040072001c004b000e00160001000a000300020008000c000b0009000500680004005d006d00290019001b0001000a000300020008000c000b0009000500680004001c002a02bf00ec000e00160001000a000300020008000c000b000900050068000400470029005e0019001b0001000a000300020008000c000b0009000500680004001c002a02be00ec000e00160001000a000300020008000c000b000900050068000400730019001b0001000a000300020008000c000b0009000500680004005c005b003e0043001000120035003b003400330011000d003a002d00510039005a00b6018b00e500e4002b00370068001700150007001000e300e202bd001f000e003c001e001d0007008d00e1003600e000df00de00dd001a00dc00db00da00630038005000d902bc0055004c02bb008c00d800d70014005500d602ba001f000e008b001e001d000700d500a700d400d3000600d20065007c00d1008a02b900d0004d00cf00ce00cd00cc00cb00ca00c900c8003800c700c600c502b800c4001500c3014200c2007b00c100c0014100bf00be0006006a00bd0140005400bc001400bb007a0054010900ba00b90076002600b800890025006b003d00b700ae00ab013f00aa001200180011007500a900740040005f0007008e02b702b602b502b402b302b202b102b0004f02af02ae02ad02ac02ab02aa02a902a802a702a602a502a402a301e402a202a100190001000a00030002000800a8000b0009000502a00106019f029f01be029e0004001a029d01ec029c029b00b00072029a0299029802970125009802960049002e0070006f029500050294003602930017001f000e01dc001e001d0007001f000e003c001e001d000700150007000f029200170010002101a000060028001400240023000600270006001200180011000d004a00070291013a0017002e00170290013a0017002e0017028f0020000700000000000000000000018a0000000000000078028e0000000000000000018a00780078028d0000028c0000028b0000000000000000000001890000000000000000028a0000000000000289000000000000028800000000000002870000000000000286000000000000028500000000000002840000000000000283000000000000028200000000000002810000000000000280000000000000027f000000000000027e000000000000027d000000000000027c000000000000027b000000000000027a0000000000000279000000000000027800000000000002770000000000000276000000000000027500000000000002740000000000000273000000000000027200000000000002710000000000000270000000000000026f000000000000026e026d026c026b026a0000000001880000026902680267026602650000000000000264000000000000026300000000000000000000026200000139000000000000013800000261000001380000000000000260025f025e025d00000000025c00000138000001880000025b025a025902580187025702560000025500000000000000000000025400000253000000000000025202510250024f00000000024e00000187024d024c00000139000001860000024b024a024902480139000001890000024700000000000000000000018600000246000000000000000000000245000000000000024400780000000000000243024200780078007802410000000000000240000000000000023f023e000000000185023d023c0000023b023a02390000023802370236023500000234000000000233023200000000018502310230022f022e000000000000022d000000000000000000000000022c022b022a0000000001840229022802270000000000000226022500000000000002240223022202210220021f021e00000184021d021c021b000000000000021a0219021802170216021500000000000002140213021202110210020f020e020d020c020b000000000000000000000000020a0209020802070000000000000000000000000000", + "logIndex": 13, + "blockHash": "0x45ee8a3fec0bd2f1b1a96e7b510c7f88fbd6d46b1a94d5c18ac6b44f23c9cbbc" + }, + { + "transactionIndex": 3, + "blockNumber": 2342274, + "transactionHash": "0x7be639e0fa4345519d8df6b0ff3dd20c28f5a5cbf356c376c35e8887b8fa4e7a", + "address": "0x0000000000000000000000000000000000008004", + "topics": [ + "0xc94722ff13eacf53547c4741dab5228353a05938ffcdd5d4a2d533ae0e618287", + "0x010005611c40bf0e531decca481a35062ab62a39ca3dae894d8550e4af61980c", + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "data": "0x", + "logIndex": 14, + "blockHash": "0x45ee8a3fec0bd2f1b1a96e7b510c7f88fbd6d46b1a94d5c18ac6b44f23c9cbbc" + }, + { + "transactionIndex": 3, + "blockNumber": 2342274, + "transactionHash": "0x7be639e0fa4345519d8df6b0ff3dd20c28f5a5cbf356c376c35e8887b8fa4e7a", + "address": "0x9F12adB64cDE6cD312f7f4acEc865327931fD5F7", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000001a267d3f9f5116df6ae00a4ad698cdcf27b71920", + "0x0000000000000000000000001a267d3f9f5116df6ae00a4ad698cdcf27b71920" + ], + "data": "0x", + "logIndex": 15, + "blockHash": "0x45ee8a3fec0bd2f1b1a96e7b510c7f88fbd6d46b1a94d5c18ac6b44f23c9cbbc" + }, + { + "transactionIndex": 3, + "blockNumber": 2342274, + "transactionHash": "0x7be639e0fa4345519d8df6b0ff3dd20c28f5a5cbf356c376c35e8887b8fa4e7a", + "address": "0x9F12adB64cDE6cD312f7f4acEc865327931fD5F7", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0x339759585899103d2ace64958e37e18ccb0504652c81d4a1b8aa80fe2126ab95", + "0x0000000000000000000000001a267d3f9f5116df6ae00a4ad698cdcf27b71920", + "0x0000000000000000000000001a267d3f9f5116df6ae00a4ad698cdcf27b71920" + ], + "data": "0x", + "logIndex": 16, + "blockHash": "0x45ee8a3fec0bd2f1b1a96e7b510c7f88fbd6d46b1a94d5c18ac6b44f23c9cbbc" + }, + { + "transactionIndex": 3, + "blockNumber": 2342274, + "transactionHash": "0x7be639e0fa4345519d8df6b0ff3dd20c28f5a5cbf356c376c35e8887b8fa4e7a", + "address": "0x9F12adB64cDE6cD312f7f4acEc865327931fD5F7", + "topics": [ + "0xf43f23b7a28e6f8ce6843a21bd7b48bce778aa913b8c8cf459edf7d770e8d38a", + "0x0000000000000000000000009f12adb64cde6cd312f7f4acec865327931fd5f7" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000001d4c0", + "logIndex": 17, + "blockHash": "0x45ee8a3fec0bd2f1b1a96e7b510c7f88fbd6d46b1a94d5c18ac6b44f23c9cbbc" + }, + { + "transactionIndex": 3, + "blockNumber": 2342274, + "transactionHash": "0x7be639e0fa4345519d8df6b0ff3dd20c28f5a5cbf356c376c35e8887b8fa4e7a", + "address": "0x0000000000000000000000000000000000008006", + "topics": [ + "0x290afdae231a3fc0bbae8b1af63698b0a1d79b21ad17df0342dfb952fe74f8e5", + "0x0000000000000000000000001a267d3f9f5116df6ae00a4ad698cdcf27b71920", + "0x010005611c40bf0e531decca481a35062ab62a39ca3dae894d8550e4af61980c", + "0x0000000000000000000000009f12adb64cde6cd312f7f4acec865327931fd5f7" + ], + "data": "0x", + "logIndex": 18, + "blockHash": "0x45ee8a3fec0bd2f1b1a96e7b510c7f88fbd6d46b1a94d5c18ac6b44f23c9cbbc" + }, + { + "transactionIndex": 3, + "blockNumber": 2342274, + "transactionHash": "0x7be639e0fa4345519d8df6b0ff3dd20c28f5a5cbf356c376c35e8887b8fa4e7a", + "address": "0x000000000000000000000000000000000000800A", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000008001", + "0x0000000000000000000000001a267d3f9f5116df6ae00a4ad698cdcf27b71920" + ], + "data": "0x00000000000000000000000000000000000000000000000000262fc7f6c35a00", + "logIndex": 19, + "blockHash": "0x45ee8a3fec0bd2f1b1a96e7b510c7f88fbd6d46b1a94d5c18ac6b44f23c9cbbc" + } + ], + "blockNumber": 2342274, + "cumulativeGasUsed": "0", + "status": 1, + "byzantium": true + }, + "args": [ + "SpaceAdapter", + "0x0700Fb51560CfC8F896B2c812499D17c5B0bF6A7", + 3, + 120000 + ], + "numDeployments": 1, + "solcInputHash": "ba937bbd09cce40de1141f1bc2a91d0b", + "metadata": { + "optimizer_settings": "M3B3", + "solc_metadata": "{\"compiler\":{\"version\":\"0.8.4+commit.c7e474f2\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"_factory\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_fee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_swapGasEstimate\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Recovered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_adapter\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_newEstimate\",\"type\":\"uint256\"}],\"name\":\"UpdatedGasEstimate\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_tokenFrom\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_tokenTo\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amountIn\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amountOut\",\"type\":\"uint256\"}],\"name\":\"YakAdapterSwap\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MAINTAINER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"addedMaintainer\",\"type\":\"address\"}],\"name\":\"addMaintainer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"factory\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"feeCompliment\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amountIn\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_tokenIn\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_tokenOut\",\"type\":\"address\"}],\"name\":\"query\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"recoverAVAX\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_tokenAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenAmount\",\"type\":\"uint256\"}],\"name\":\"recoverERC20\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"removedMaintainer\",\"type\":\"address\"}],\"name\":\"removeMaintainer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_spender\",\"type\":\"address\"}],\"name\":\"revokeAllowance\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_estimate\",\"type\":\"uint256\"}],\"name\":\"setSwapGasEstimate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amountIn\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_amountOut\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_fromToken\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_toToken\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"}],\"name\":\"swap\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"swapGasEstimate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event.\"},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event.\"},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/contracts/adapters/UniswapV2Adapter.sol\":\"UniswapV2Adapter\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[],\"viaIR\":true},\"sources\":{\"@openzeppelin/contracts/access/AccessControl.sol\":{\"keccak256\":\"0x5b35d8e68aeaccc685239bd9dd79b9ba01a0357930f8a3307ab85511733d9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba8eb2d22f9321bd4660f6617c181d9611ff30a9b089408b8c6e2216d6d5cdc5\",\"dweb:/ipfs/QmTSJvhjHfnUV1j4hsqDv8PmLvGBLRs9gHLjTUXrUJ5Y9q\"]},\"@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a\",\"dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0xaf159a8b1923ad2a26d516089bceca9bdeaeacd04be50983ea00ba63070f08a3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f2cf1c531122bc7ca96b8c8db6a60deae60441e5223065e792553d4849b5638\",\"dweb:/ipfs/QmPBdJmBBABMDCfyDjCbdxgiqRavgiSL88SYPGibgbPas9\"]},\"@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"src/contracts/YakAdapter.sol\":{\"keccak256\":\"0x377c666774047a318fa2f7c6f82eccbe64343e18d26df56abfa991e5ea88361a\",\"license\":\"GPL-3.0-only\",\"urls\":[\"bzz-raw://97ff18d18e5a0a7b1fd2a6d484abd2831911bd68889c9b7506d18800e3ac7ba1\",\"dweb:/ipfs/QmdbTGqS9f6ugkrXKDGhKXvTiGvi1QhjFmrWo9TcDtrvL7\"]},\"src/contracts/adapters/UniswapV2Adapter.sol\":{\"keccak256\":\"0x4dfa4a5a7f50ab9695b85149d02bbf22c9800e12f9196d74d25a97039885585b\",\"license\":\"GPL-3.0-only\",\"urls\":[\"bzz-raw://85efc17e7853ba6957429fef05140d2c51c5347770545ab8f333e2d0e5fc7a04\",\"dweb:/ipfs/QmSBX7qkhtnko6DNoCVjPz2wBk9riNWzzLteCJWQrv9p7Y\"]},\"src/contracts/interface/IERC20.sol\":{\"keccak256\":\"0x7b2d64b5cf6350bd5590f96eaea048fcf0182b50fc22f1075adeed1a98325932\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a46d7b05a39141be8f75a706b5525bd1d42f18c3acb20f71abe68bcc5b9513c\",\"dweb:/ipfs/QmYHYnVyVYoNp69BDmDwn4USKn5jFExzSRhXfEeQonz6C5\"]},\"src/contracts/interface/IUniswapFactory.sol\":{\"keccak256\":\"0xb7d21e6ccad0889b867393285639d3ce58ac1fe514ea079500808771521b4aa1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4aeef2bca96f47c7b30ec0042d7ef4102e7cf958f9888ade5b366a2214d5d511\",\"dweb:/ipfs/QmVuzntsj27Vxs4suj3cRCCwJh7QZKy1w9qpEM5x9Zt9z8\"]},\"src/contracts/interface/IUniswapPair.sol\":{\"keccak256\":\"0x5e137fdd99bfd13436243a4d821e60fe350e80e35bc3bf53b7465ecd5639d022\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3a5357cd8764d20f652676cbbbc56b4364d93b8891a8447fedf4673c584e3e5d\",\"dweb:/ipfs/QmXKgjrNouFxL6FWuUDKUSJ6AHGb2huC7cEymVbmVvF5N3\"]},\"src/contracts/lib/Maintainable.sol\":{\"keccak256\":\"0xcf17b3f89386f661ee6230c9774bc88a119f2385111279497bbb443209ad6bb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e0018ced83e9f5a9d7e51eff74e5bb4cb4ab56ef8cfe008a1d1b4c5623478baf\",\"dweb:/ipfs/QmUeaoPLux58rffKpD3jWkp7fZB1YFV4sDYm2985tB8pAZ\"]},\"src/contracts/lib/SafeERC20.sol\":{\"keccak256\":\"0x2d77601f615804eb7471002f23f9a4593f86ac295e7353c2e7545f51d4f81728\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://587682afca9226a1b032c66bcc536d191dc7d1cc91fee950278bad70d46b4fa1\",\"dweb:/ipfs/QmPC5y2N2gLAkpJgHmgwHdDH6d3oNPLFVqWCqUhiKNZJip\"]}},\"version\":1}", + "zk_version": "1.3.8" + }, + "bytecode": "0x0004000000000002000100000000000200000000030100190000006003300270000005030430019700030000004103550002000000010355000005030030019d000100000000001f00000001012001900000003a0000c13d0000008001000039000000400010043f0000000001000031000000040210008c000000be0000413d0000000201000367000000000101043b000000e0011002700000050a0210009c000000c80000213d000005190210009c000000de0000a13d0000051a0210009c0000011e0000213d0000051e0210009c000001a30000613d0000051f0210009c000001c70000613d000005200110009c000002a00000c13d0000000001000416000000000110004c000002a00000c13d000000040100008a00000000011000310000050502000041000000000310004c000000000300001900000000030240190000050501100197000000000410004c000000000200a019000005050110009c00000000010300190000000001026019000000000110004c000002a00000c13d0000000101000039000000000101041a000000400200043d00000000001204350000050301000041000005030320009c0000000001024019000000400110021000000528011001c7000014080001042e000000c001000039000000400010043f0000000001000416000000000110004c000002a00000c13d00000000040000310000001f02400039000000200100008a000000000512016f000000400300043d0000000002350019000000000552004b00000000050000190000000105004039000005040620009c000000c20000213d0000000105500190000000c20000c13d000000400020043f0000001f0240018f000000020500036700000005064002720000005a0000613d000000000700001900000005087002100000000009830019000000000885034f000000000808043b00000000008904350000000107700039000000000867004b000000520000413d000000000720004c000000690000613d0000000506600210000000000565034f00000000066300190000000302200210000000000706043300000000072701cf000000000727022f000000000505043b0000010002200089000000000525022f00000000022501cf000000000272019f00000000002604350000050502000041000000800540008c000000000500001900000000050240190000050506400197000000000760004c000000000200a019000005050660009c000000000205c019000000000220004c000002a00000c13d0000000025030434000005040650009c000002a00000213d000000000643001900000000043500190000001f054000390000050507000041000000000865004b0000000008000019000000000807801900000505055001970000050509600197000000000a95004b0000000007008019000000000595013f000005050550009c00000000050800190000000005076019000000000550004c000002a00000c13d0000000005040433000005040750009c000000c20000213d0000003f07500039000000000717016f000000400100043d0000000007710019000000000817004b00000000080000190000000108004039000005040970009c000000c20000213d0000000108800190000000c20000c13d000000400070043f000000000051043500000020075000390000000008470019000000000668004b000002a00000213d000000000650004c000000aa0000613d000000000600001900000020066000390000000008160019000000000946001900000000090904330000000000980435000000000856004b0000009f0000413d000000000456004b000000aa0000a13d000000000417001900000000000404350000000002020433000005060420009c000002a00000213d0000006004300039000000000404043300000040033000390000000003030433140702b30000040f000000800100043d000000a00200043d0000014000000443000001600020044300000020020000390000018000200443000001a0001004430000010000200443000000020100003900000120001004430000050701000041000014080001042e000000000110004c000002a00000c13d0000000001000019000014080001042e000005080100004100000000001004350000004101000039000000040010043f000005090100004100001409000104300000050b0210009c000000f20000a13d0000050c0210009c0000013f0000213d000005100210009c000001e20000613d000005110210009c000001ee0000613d000005120110009c000002a00000c13d0000000001000416000000000110004c000002a00000c13d0000000001000031140704de0000040f140709af0000040f0000050301000041000000400200043d000005030320009c00000000010240190000004001100210000014080001042e000005210210009c0000015f0000a13d000005220210009c000001fa0000613d000005230210009c000002170000613d000005240110009c000002a00000c13d0000000001000416000000000110004c000002a00000c13d0000000001000031140704960000040f1407093d0000040f0000050301000041000000400200043d000005030320009c00000000010240190000004001100210000014080001042e000005130210009c000001840000a13d000005140210009c000002230000613d000005150210009c000002380000613d000005160110009c000002a00000c13d0000000001000416000000000110004c000002a00000c13d000000040100008a00000000011000310000050502000041000000000310004c000000000300001900000000030240190000050501100197000000000410004c000000000200a019000005050110009c00000000010300190000000001026019000000000110004c000002a00000c13d000000400100043d000100000001001d0000052901000041000000000010043900000000010004120000000400100443000000240000044300008005010000390000004402000039140702a20000040f0000050601100197000000010300002900000000001304350000050301000041000005030230009c0000000001034019000000400110021000000528011001c7000014080001042e0000051b0210009c000002510000613d0000051c0210009c0000025d0000613d0000051d0110009c000002a00000c13d0000000001000416000000000110004c000002a00000c13d000000040100008a00000000011000310000050502000041000000200310008c000000000300001900000000030240190000050501100197000000000410004c000000000200a019000005050110009c00000000010300190000000001026019000000000110004c000002a00000c13d00000004010000390000000201100367000000000101043b14070e9b0000040f0000050301000041000000400200043d000005030320009c00000000010240190000004001100210000014080001042e0000050d0210009c000002690000613d0000050e0210009c000002770000613d0000050f0110009c000002a00000c13d0000000001000416000000000110004c000002a00000c13d000000040100008a00000000011000310000050502000041000000000310004c000000000300001900000000030240190000050501100197000000000410004c000000000200a019000005050110009c00000000010300190000000001026019000000000110004c000002a00000c13d000000400100043d000005270200004100000000002104350000050302000041000005030310009c0000000001028019000000400110021000000528011001c7000014080001042e000005250210009c000002830000613d000005260110009c000002a00000c13d0000000001000416000000000110004c000002a00000c13d000000040100008a00000000011000310000050502000041000000000310004c000000000300001900000000030240190000050501100197000000000410004c000000000200a019000005050110009c00000000010300190000000001026019000000000110004c000002a00000c13d140713980000040f0000000002010019000000400100043d000100000001001d140705100000040f000000010400002900000000014100490000050302000041000005030310009c0000000001028019000005030340009c000000000204401900000040022002100000006001100210000000000121019f000014080001042e000005170210009c000002940000613d000005180110009c000002a00000c13d0000000001000416000000000110004c000002a00000c13d000000040100008a00000000011000310000050502000041000000200310008c000000000300001900000000030240190000050501100197000000000410004c000000000200a019000005050110009c00000000010300190000000001026019000000000110004c000002a00000c13d00000004010000390000000201100367000000000101043b140708cb0000040f0000050301000041000000400200043d000005030320009c00000000010240190000004001100210000014080001042e0000000001000416000000000110004c000002a00000c13d000000040100008a00000000011000310000050502000041000000000310004c000000000300001900000000030240190000050501100197000000000410004c000000000200a019000005050110009c00000000010300190000000001026019000000000110004c000002a00000c13d000000400100043d000100000001001d00000529010000410000000000100439000000000100041200000004001004430000002001000039000000240010044300008005010000390000004402000039140702a20000040f000000010300002900000000001304350000050301000041000005030230009c0000000001034019000000400110021000000528011001c7000014080001042e0000000001000416000000000110004c000002a00000c13d000000040100008a00000000011000310000050502000041000000200310008c000000000300001900000000030240190000050501100197000000000410004c000000000200a019000005050110009c00000000010300190000000001026019000000000110004c000002a00000c13d00000004010000390000000201100367000000000101043b140710db0000040f0000050301000041000000400200043d000005030320009c00000000010240190000004001100210000014080001042e0000000001000416000000000110004c000002a00000c13d0000000001000031140704960000040f1407129c0000040f0000050301000041000000400200043d000005030320009c00000000010240190000004001100210000014080001042e0000000001000416000000000110004c000002a00000c13d0000000001000031140704510000040f140707cf0000040f0000050301000041000000400200043d000005030320009c00000000010240190000004001100210000014080001042e0000000001000416000000000110004c000002a00000c13d000000040100008a00000000011000310000050502000041000000200310008c000000000300001900000000030240190000050501100197000000000410004c000000000200a019000005050110009c00000000010300190000000001026019000000000110004c000002a00000c13d00000004010000390000000201100367000000000101043b140707bd0000040f000000400200043d00000000001204350000050301000041000005030320009c0000000001024019000000400110021000000528011001c7000014080001042e0000000001000416000000000110004c000002a00000c13d0000000001000031140704960000040f1407119f0000040f0000050301000041000000400200043d000005030320009c00000000010240190000004001100210000014080001042e0000000001000416000000000110004c000002a00000c13d0000000001000031140704960000040f000100000002001d14070e8b0000040f000000010200002914070e7a0000040f000000000101041a000000ff011001900000000001000019000000010100c039000000400200043d00000000001204350000050301000041000005030320009c0000000001024019000000400110021000000528011001c7000014080001042e0000000001000416000000000110004c000002a00000c13d000000040100008a00000000011000310000050502000041000000000310004c000000000300001900000000030240190000050501100197000000000410004c000000000200a019000005050110009c00000000010300190000000001026019000000000110004c000002a00000c13d000000400100043d00000000000104350000050302000041000005030310009c0000000001028019000000400110021000000528011001c7000014080001042e0000000001000416000000000110004c000002a00000c13d0000000001000031140704510000040f140706c00000040f0000050301000041000000400200043d000005030320009c00000000010240190000004001100210000014080001042e0000000001000416000000000110004c000002a00000c13d0000000001000031140704660000040f14070eff0000040f0000050301000041000000400200043d000005030320009c00000000010240190000004001100210000014080001042e0000000001000416000000000110004c000002a00000c13d0000000001000031140704c30000040f1407053b0000040f000000400200043d00000000001204350000050301000041000005030320009c0000000001024019000000400110021000000528011001c7000014080001042e0000000001000416000000000110004c000002a00000c13d0000000001000031140704510000040f14070d2e0000040f0000050301000041000000400200043d000005030320009c00000000010240190000004001100210000014080001042e0000000001000416000000000110004c000002a00000c13d0000000001000031140704ad0000040f0000052a011001970000052b0210009c000000000200001900000001020060390000052c0110009c00000000010000190000000101006039000000000121019f000000010110018f000000800010043f0000052d01000041000014080001042e0000000001000416000000000110004c000002a00000c13d00000000010000311407047f0000040f14070fd80000040f0000050301000041000000400200043d000005030320009c00000000010240190000004001100210000014080001042e00000000010000190000140900010430000000000301001900000503010000410000000004000414000005030540009c0000000001044019000000c001100210000000600220021000000000011200190000052e011000410000000002030019140714020000040f0000000102200190000002b10000613d000000000101043b000000000001042d000000000100001900001409000104300009000000000002000700000004001d000600000003001d000500000002001d000800000001001d0000000000000435000000200000043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000004040000613d000000000101043b0000000002000411000400000002001d0000050602200197000900000002001d0000000000200435000000200010043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000004040000613d000000000101043b000000000101041a000000ff011001900000030d0000c13d0000000000000435000000200000043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000004040000613d000000000101043b00000009020000290000000000200435000000200010043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000004040000613d000000000101043b000000000201041a000001000300008a000000000232016f00000001022001bf000000000021041b000000400100043d00000503020000410000000003000414000005030430009c0000000003028019000005030410009c00000000010280190000004001100210000000c002300210000000000112019f00000530011001c70000800d0200003900000004030000390000053104000041000000000500001900000004060000290000000007060019140713fd0000040f0000000101200190000004040000613d00000527010000410000000000100435000000200000043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000004040000613d000000000101043b00000009020000290000000000200435000000200010043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000004040000613d000000000101043b000000000101041a000000ff01100190000003610000c13d00000527010000410000000000100435000000200000043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000004040000613d000000000101043b00000009020000290000000000200435000000200010043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000004040000613d000000000101043b000000000201041a000001000300008a000000000232016f00000001022001bf000000000021041b000000400100043d00000503020000410000000003000414000005030430009c0000000003028019000005030410009c00000000010280190000004001100210000000c002300210000000000112019f00000530011001c70000800d0200003900000004030000390000053104000041000005270500004100000004060000290000000007060019140713fd0000040f0000000101200190000004040000613d00000008060000290000000058060434000000000180004c000004060000613d000005320180009c000004180000813d0000000207000039000000000107041a000000010210019000000001011002700000007f0310018f000000000401001900000000040360190000001f0140008c00000000010000190000000101002039000000010110018f000000000112004b0000041e0000c13d000000000184019f000000200110008c00000000010000190000038d0000413d000100000004001d000200000005001d000300000008001d000400000007001d000000000070043500000503010000410000000002000414000005030320009c0000000001024019000000c00110021000000533011001c70000801002000039140714020000040f0000000102200190000004040000613d000000000101043b00000008060000290000000407000029000000030800002900000002050000290000000104000029000000200240008c0000039e0000413d0000001f028000390000000502200270000000200380008c000000000302001900000000030040190000001f02400039000000050220027000000000022100190000000003310019000000000423004b0000039e0000813d000000000003041b0000000103300039000000000423004b0000039a0000413d0000001f0280008c000003bc0000a13d000000200200008a00000000032801700000002002000039000003ae0000613d0000002002000039000000000400001900000000056200190000000005050433000000000051041b000000200220003900000001011000390000002004400039000000000534004b000003a60000413d000000000383004b000003b90000813d0000000303800210000000f80330018f000000010400008a000000000334022f000000000343013f00000000026200190000000002020433000000000232016f000000000021041b00000001010000390000000102800210000003c30000013d0000000301800210000000010200008a000000000112022f000000000121013f0000000002050433000000000212016f0000000101800210000000000112019f000000000017041b00000527010000410000000000100435000000200000043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000004040000613d000000000101043b00000009020000290000000000200435000000200010043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000004040000613d000000000101043b000000000101041a000000ff01100190000004240000613d0000000702000029000000000120004c000004390000613d0000000101000039000000000021041b000000400100043d000000000021043500000503020000410000000003000414000005030430009c0000000003028019000005030410009c00000000010280190000004001100210000000c002300210000000000112019f00000533011001c70000800d02000039000000020300003900000534040000410000000005000410140713fd0000040f0000000101200190000004040000613d0000000602000029000003e90120008c0000044b0000813d000003e801200089000000800010043f0000000501000029000000a00010043f000000000001042d00000000010000190000140900010430000000400100043d00000044021000390000053b030000410000000000320435000000240210003900000014030000390000000000320435000005360200004100000000002104350000000402100039000000200300003900000000003204350000050302000041000005030310009c0000000001028019000000400110021000000537011001c70000140900010430000005080100004100000000001004350000004101000039000000040010043f00000509010000410000140900010430000005080100004100000000001004350000002201000039000000040010043f00000509010000410000140900010430000000400100043d000000640210003900000538030000410000000000320435000000440210003900000539030000410000000000320435000000240210003900000028030000390000000000320435000005360200004100000000002104350000000402100039000000200300003900000000003204350000050302000041000005030310009c000000000102801900000040011002100000053a011001c70000140900010430000000400100043d000000440210003900000535030000410000000000320435000000240210003900000014030000390000000000320435000005360200004100000000002104350000000402100039000000200300003900000000003204350000050302000041000005030310009c0000000001028019000000400110021000000537011001c70000140900010430000005080100004100000000001004350000001101000039000000040010043f00000509010000410000140900010430000000040110008a00000505020000410000001f0310008c000000000300001900000000030220190000050501100197000000000410004c0000000002008019000005050110009c00000000010300190000000001026019000000000110004c000004640000613d00000004010000390000000201100367000000000101043b000005060210009c000004640000213d000000000001042d00000000010000190000140900010430000000040110008a00000505020000410000003f0310008c000000000300001900000000030220190000050501100197000000000410004c0000000002008019000005050110009c00000000010300190000000001026019000000000110004c0000047d0000613d00000002020003670000000401200370000000000101043b000005060310009c0000047d0000213d0000002402200370000000000202043b000005060320009c0000047d0000213d000000000001042d00000000010000190000140900010430000000040110008a00000505020000410000003f0310008c000000000300001900000000030220190000050501100197000000000410004c0000000002008019000005050110009c00000000010300190000000001026019000000000110004c000004940000613d00000002020003670000000401200370000000000101043b000005060310009c000004940000213d0000002402200370000000000202043b000000000001042d00000000010000190000140900010430000000040110008a00000505020000410000003f0310008c000000000300001900000000030220190000050501100197000000000410004c0000000002008019000005050110009c00000000010300190000000001026019000000000110004c000004ab0000613d00000002010003670000002402100370000000000202043b000005060320009c000004ab0000213d0000000401100370000000000101043b000000000001042d00000000010000190000140900010430000000040110008a00000505020000410000001f0310008c000000000300001900000000030220190000050501100197000000000410004c0000000002008019000005050110009c00000000010300190000000001026019000000000110004c000004c10000613d00000004010000390000000201100367000000000101043b0000052a02100197000000000221004b000004c10000c13d000000000001042d00000000010000190000140900010430000000040110008a00000505020000410000005f0310008c000000000300001900000000030220190000050501100197000000000410004c0000000002008019000005050110009c00000000010300190000000001026019000000000110004c000004dc0000613d00000002030003670000000401300370000000000101043b0000002402300370000000000202043b000005060420009c000004dc0000213d0000004403300370000000000303043b000005060430009c000004dc0000213d000000000001042d00000000010000190000140900010430000000040110008a00000505020000410000009f0310008c000000000300001900000000030220190000050501100197000000000410004c0000000002008019000005050110009c00000000010300190000000001026019000000000110004c000004fd0000613d00000002050003670000002401500370000000000201043b0000000401500370000000000101043b0000004403500370000000000303043b000005060430009c000004fd0000213d0000006404500370000000000404043b000005060640009c000004fd0000213d0000008405500370000000000505043b000005060650009c000004fd0000213d000000000001042d0000000001000019000014090001043000000000030100190000000004030433000000000140004c00000000012400190000050f0000613d000000000500001900000000062500190000002005500039000000000735001900000000070704330000000000760435000000000645004b000005050000413d000000000245004b0000050f0000a13d0000000000010435000000000001042d00000020030000390000000004310436000000000302043300000000003404350000004001100039000000000430004c000005230000613d000000000400001900000000051400190000002004400039000000000624001900000000060604330000000000650435000000000534004b000005180000413d000000000234004b000005230000a13d000000000213001900000000000204350000001f02300039000000200300008a000000000232016f0000000001120019000000000001042d0000001f02200039000000200300008a000000000232016f0000000001120019000000000221004b00000000020000190000000102004039000005040310009c000005350000213d0000000102200190000005350000c13d000000400010043f000000000001042d000005080100004100000000001004350000004101000039000000040010043f0000050901000041000014090001043000070000000000020000000004010019000005060220019700000506033001970000000001000019000700000002001d000600000003001d000000000232004b0000066d0000613d000000000240004c0000066d0000613d000300000004001d000005290100004100000000001004390000000001000412000400000001001d0000000400100443000000240000044300000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000053c011001c70000800502000039140714020000040f00000001022001900000066e0000613d000000000101043b0000053d0200004100000000002004390000050601100197000500000001001d000000040010044300000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000053e011001c70000800202000039140714020000040f00000001022001900000066e0000613d000000000101043b000000000110004c0000066e0000613d000000400900043d0000053f01000041000000000019043500000024029000390000000001000414000000060300002900000000003204350000000402900039000000070300002900000000003204350000000502000029000000040320008c000005790000c13d0000000103000031000005ab0000013d0000050304000041000005030310009c0000000001048019000005030390009c000000000304001900000000030940190000004003300210000000c001100210000000000131019f00000540011001c7000500000009001d140714020000040f0000000509000029000000000301001900000060033002700000050303300197000000200430008c000000200500003900000000050340190000001f0450018f0000000505500272000005980000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b000005900000413d000000000640004c000005a70000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f000300000001035500000001022001900000067c0000613d0000001f01300039000000200200008a000500000002001d000000000221016f0000000001920019000000000221004b00000000020000190000000102004039000005040310009c000006700000213d0000000102200190000006700000c13d000000400010043f00000505010000410000000102000031000000200320008c000000000300001900000000030140190000050502200197000000000420004c000000000100a019000005050220009c000000000103c019000000000110004c0000066e0000c13d0000000004090433000005060140009c0000066e0000213d000000000140004c00000000010000190000066d0000613d0000053d010000410000000000100439000000040040044300000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000053e011001c70000800202000039000200000004001d140714020000040f000000020400002900000001022001900000066e0000613d000000000101043b000000000110004c0000066e0000613d000000400900043d000005410100004100000000051904360000000001000414000000040240008c000005e40000c13d0000000103000031000006180000013d000100000005001d0000050302000041000005030310009c0000000001028019000005030390009c00000000020940190000004002200210000000c001100210000000000121019f00000542011001c70000000002040019000200000009001d140714020000040f0000000209000029000000000301001900000060033002700000050303300197000000600430008c000000600500003900000000050340190000001f0450018f0000000505500272000006040000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b000005fc0000413d000000000640004c000006130000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f0003000000010355000000010220019000000001050000290000069b0000613d0000001f013000390000000502000029000000000221016f0000000001920019000000000221004b00000000020000190000000102004039000005040310009c000006700000213d0000000102200190000006700000c13d000000400010043f00000505010000410000000102000031000000600320008c000000000300001900000000030140190000050502200197000000000420004c000000000100a019000005050220009c000000000103c019000000000110004c0000066e0000c13d0000000001090433000005430210009c0000066e0000213d0000000002050433000005430320009c0000066e0000213d00000040039000390000000003030433000005030330009c0000066e0000213d00000007030000290000000604000029000000000343004b000000000301001900000000030240190000000002014019000000000120004c00000000010000190000066d0000613d000000000130004c00000000010000190000066d0000613d000600000002001d000700000003001d00000529010000410000000000100439000000040100002900000004001004430000002001000039000000240010044300000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000053c011001c70000800502000039140714020000040f00000001022001900000066e0000613d000000010200008a000000030500002900000000435200d9000000000101043b000000000313004b0000000706000029000006760000413d00000000315100aa000006640000613d00000000431200d9000000000363004b000006760000413d000000000321013f0000000602000029000003e8422000c9000000000332004b000006760000213d000000000221001a000006ba0000613d00000000316100a900000000212100d9000000000001042d00000000010000190000140900010430000005080100004100000000001004350000004101000039000000040010043f00000509010000410000140900010430000005080100004100000000001004350000001101000039000000040010043f000005090100004100001409000104300000001f0430018f0000000502300272000006870000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b000006800000413d000000000340004c000006950000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000503010000410000000102000031000005030320009c0000000001024019000000600110021000001409000104300000001f0430018f0000000502300272000006a60000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b0000069f0000413d000000000340004c000006b40000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000503010000410000000102000031000005030320009c000000000102401900000060011002100000140900010430000005080100004100000000001004350000001201000039000000040010043f000005090100004100001409000104300003000000000002000300000001001d00000527010000410000000000100435000000200000043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f00000001022001900000074a0000613d000000000101043b0000000101100039000000000101041a000100000001001d0000000000100435000000200000043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f00000001022001900000074a0000613d000000000101043b0000000002000411000200000002001d00000506022001970000000000200435000000200010043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f00000001022001900000074a0000613d000000000101043b000000000101041a000000ff011001900000074c0000613d00000527010000410000000000100435000000200000043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f00000001022001900000074a0000613d000000000101043b00000003020000290000050602200197000100000002001d0000000000200435000000200010043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f00000001022001900000074a0000613d000000000101043b000000000101041a000000ff01100190000007490000c13d00000527010000410000000000100435000000200000043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f00000001022001900000074a0000613d000000000101043b00000001020000290000000000200435000000200010043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f00000001022001900000074a0000613d000000000101043b000000000201041a000001000300008a000000000232016f00000001022001bf000000000021041b000000400100043d00000503020000410000000003000414000005030430009c0000000003028019000005030410009c00000000010280190000004001100210000000c002300210000000000112019f00000530011001c70000800d0200003900000004030000390000053104000041000005270500004100000003060000290000000207000029140713fd0000040f00000001012001900000074a0000613d000000000001042d00000000010000190000140900010430000000400100043d0000000007010019000005440110009c000007560000413d000005080100004100000000001004350000004101000039000000040010043f0000050901000041000014090001043000000000020700190000006001200039000000400010043f0000002a01000039000000000112043600000000020000310000000202200367000000000300001900000005043002100000000005410019000000000442034f000000000404043b00000000004504350000000103300039000000020430008c0000075e0000413d0000000002070433000000000220004c000007700000613d0000000002010433000005450220019700000546022001c700000000002104350000000002070433000000020220008c000007760000813d000005080100004100000000001004350000003201000039000000040010043f0000050901000041000014090001043000000021027000390000000003020433000005450330019700000547033001c700000000003204350000002902000039000000020500002900000000030500190000000004070433000000000424004b000007700000a13d0000000f0430018f0000000304400210000000f80440015f0000054805000041000000000445022f000000000512001900000000060504330000054506600197000000f804400210000000000446019f00000000004504350000000405300270000000010220008a000000010420008c0000077d0000213d000000100130008c00000000010000190000000101004039000200000007001d140713e90000040f000000010100002914070cd80000040f000000400400043d000300000004001d000000200240003900000549030000410000000000320435000100000001001d00000037024000390000000201000029140704ff0000040f0000054a02000041000000000021043500000011021000390000000101000029140704ff0000040f00000003030000290000000002310049000000200120008a00000000001304350000000001030019140705280000040f0000053601000041000000400200043d000200000002001d000000000012043500000004012000390000000302000029140705100000040f000000020400002900000000014100490000050302000041000005030310009c0000000001028019000005030340009c000000000204401900000040022002100000006001100210000000000121019f00001409000104300000000000100435000000200000043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000007cd0000613d000000000101043b0000000101100039000000000101041a000000000001042d000000000100001900001409000104300003000000000002000300000001001d00000527010000410000000000100435000000200000043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000008580000613d000000000101043b0000000101100039000000000101041a000100000001001d0000000000100435000000200000043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000008580000613d000000000101043b0000000002000411000200000002001d00000506022001970000000000200435000000200010043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000008580000613d000000000101043b000000000101041a000000ff011001900000085a0000613d00000527010000410000000000100435000000200000043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000008580000613d000000000101043b00000003020000290000050602200197000100000002001d0000000000200435000000200010043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000008580000613d000000000101043b000000000101041a000000ff01100190000008570000613d00000527010000410000000000100435000000200000043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000008580000613d000000000101043b00000001020000290000000000200435000000200010043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000008580000613d000000000101043b000000000201041a000001000300008a000000000232016f000000000021041b000000400100043d00000503020000410000000003000414000005030430009c0000000003028019000005030410009c00000000010280190000004001100210000000c002300210000000000112019f00000530011001c70000800d0200003900000004030000390000054b04000041000005270500004100000003060000290000000207000029140713fd0000040f0000000101200190000008580000613d000000000001042d00000000010000190000140900010430000000400100043d0000000007010019000005440110009c000008640000413d000005080100004100000000001004350000004101000039000000040010043f0000050901000041000014090001043000000000020700190000006001200039000000400010043f0000002a01000039000000000112043600000000020000310000000202200367000000000300001900000005043002100000000005410019000000000442034f000000000404043b00000000004504350000000103300039000000020430008c0000086c0000413d0000000002070433000000000220004c0000087e0000613d0000000002010433000005450220019700000546022001c700000000002104350000000002070433000000020220008c000008840000813d000005080100004100000000001004350000003201000039000000040010043f0000050901000041000014090001043000000021027000390000000003020433000005450330019700000547033001c700000000003204350000002902000039000000020500002900000000030500190000000004070433000000000424004b0000087e0000a13d0000000f0430018f0000000304400210000000f80440015f0000054805000041000000000445022f000000000512001900000000060504330000054506600197000000f804400210000000000446019f00000000004504350000000405300270000000010220008a000000010420008c0000088b0000213d000000100130008c00000000010000190000000101004039000200000007001d140713e90000040f000000010100002914070cd80000040f000000400400043d000300000004001d000000200240003900000549030000410000000000320435000100000001001d00000037024000390000000201000029140704ff0000040f0000054a02000041000000000021043500000011021000390000000101000029140704ff0000040f00000003030000290000000002310049000000200120008a00000000001304350000000001030019140705280000040f0000053601000041000000400200043d000200000002001d000000000012043500000004012000390000000302000029140705100000040f000000020400002900000000014100490000050302000041000005030310009c0000000001028019000005030340009c000000000204401900000040022002100000006001100210000000000121019f0000140900010430000300000000000200000000030004110000050602300197000300000002001d000100000003001d0000054c0230009c000009280000813d000200000001001d0000000000100435000000200000043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000009260000613d000000000101043b00000003020000290000000000200435000000200010043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000009260000613d000000000101043b000000000101041a000000ff01100190000009250000613d00000002010000290000000000100435000000200000043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000009260000613d000000000101043b00000003020000290000000000200435000000200010043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000009260000613d000000000101043b000000000201041a000001000300008a000000000232016f000000000021041b000000400100043d00000503020000410000000003000414000005030430009c0000000003028019000005030410009c00000000010280190000004001100210000000c002300210000000000112019f00000530011001c70000800d0200003900000004030000390000054b04000041000000020500002900000001060000290000000307000029140713fd0000040f0000000101200190000009260000613d000000000001042d00000000010000190000140900010430000000400100043d00000064021000390000054d03000041000000000032043500000044021000390000054e03000041000000000032043500000024021000390000002f030000390000000000320435000005360200004100000000002104350000000402100039000000200300003900000000003204350000050302000041000005030310009c000000000102801900000040011002100000053a011001c700001409000104300003000000000002000100000002001d00000506022001970000000003000411000300000002001d000000000232004b0000099a0000c13d000200000001001d0000000000100435000000200000043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000009980000613d000000000101043b00000003020000290000000000200435000000200010043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000009980000613d000000000101043b000000000101041a000000ff01100190000009970000613d00000002010000290000000000100435000000200000043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000009980000613d000000000101043b00000003020000290000000000200435000000200010043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000009980000613d000000000101043b000000000201041a000001000300008a000000000232016f000000000021041b000000400100043d00000503020000410000000003000414000005030430009c0000000003028019000005030410009c00000000010280190000004001100210000000c002300210000000000112019f00000530011001c70000800d0200003900000004030000390000054b04000041000000020500002900000001060000290000000307000029140713fd0000040f0000000101200190000009980000613d000000000001042d00000000010000190000140900010430000000400100043d00000064021000390000054d03000041000000000032043500000044021000390000054e03000041000000000032043500000024021000390000002f030000390000000000320435000005360200004100000000002104350000000402100039000000200300003900000000003204350000050302000041000005030310009c000000000102801900000040011002100000053a011001c70000140900010430000c000000000002000b00000005001d000a00000003001d000900000002001d000800000001001d0000053d010000410000000000100439000500000004001d0000050601400197000c00000001001d000000040010044300000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000053e011001c70000800202000039140714020000040f000000010220019000000c170000613d000000000101043b000000000110004c00000c170000613d000000400900043d0000054f0100004100000000001904350000000b01000029000005060310019700000004029000390000000001000414000700000003001d00000000003204350000000c02000029000000040320008c000009d50000c13d000000010300003100000a070000013d0000050304000041000005030310009c0000000001048019000005030390009c000000000304001900000000030940190000004003300210000000c001100210000000000131019f00000509011001c7000b00000009001d140714020000040f0000000b09000029000000000301001900000060033002700000050303300197000000200430008c000000200500003900000000050340190000001f0450018f0000000505500272000009f40000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b000009ec0000413d000000000640004c00000a030000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f0003000000010355000000010220019000000c5c0000613d0000001f01300039000000200200008a000b00000002001d000000000221016f0000000001920019000000000221004b00000000020000190000000102004039000005040310009c00000c190000213d000000010220019000000c190000c13d000000400010043f00000505010000410000000102000031000000200320008c000000000300001900000000030140190000050502200197000000000420004c000000000100a019000005050220009c000000000103c019000000000110004c00000c170000c13d0000000001090433000200000001001d0000052901000041000000000010043900000000010004120000000400100443000000240000044300000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000053c011001c70000800502000039140714020000040f000000010220019000000c170000613d000000000101043b0000053d0200004100000000002004390000050601100197000600000001001d000000040010044300000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000053e011001c70000800202000039140714020000040f000000010220019000000c170000613d000000000101043b000000000110004c00000c170000613d000000400900043d0000053f010000410000000000190435000000240290003900000000010004140000000c0300002900000000003204350000000a020000290000050606200197000000040290003900000000006204350000000602000029000000040320008c00000a540000c13d000000010300003100000a880000013d000400000006001d0000050304000041000005030310009c0000000001048019000005030390009c000000000304001900000000030940190000004003300210000000c001100210000000000131019f00000540011001c7000600000009001d140714020000040f0000000609000029000000000301001900000060033002700000050303300197000000200430008c000000200500003900000000050340190000001f0450018f000000050550027200000a740000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b00000a6c0000413d000000000640004c00000a830000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f00030000000103550000000102200190000000040600002900000c7b0000613d0000001f013000390000000b02000029000000000221016f0000000001920019000000000221004b00000000020000190000000102004039000005040310009c00000c190000213d000000010220019000000c190000c13d000000400010043f00000505020000410000000103000031000000200430008c000000000400001900000000040240190000050503300197000000000530004c000000000200a019000005050330009c000000000204c019000000000220004c00000c170000c13d000000000a0904330000050602a0009c00000c170000213d00000044021000390000000803000029000000000032043500000020021000390000055003000041000000000032043500000024031000390000000000a304350000000c03000029000000000336004b000000090300002900000000040000190000000004034019000300000004001d0000000003004019000400000003001d00000044030000390000000000310435000005510310009c00000c190000213d0000008003100039000000400030043f0000000003000414000000040460008c00060000000a001d00000ac00000c13d0000000103000031000000000200001900000ad60000013d0000050304000041000005030520009c000000000204801900000040022002100000000001010433000005030510009c00000000010480190000006001100210000000000121019f000005030230009c00000000020400190000000002034019000000c002200210000000000121019f0000000002060019140713fd0000040f000000060a000029000000010220015f00030000000103550000006001100270000105030010019d00000503031001970000006001000039000000000430004c00000b040000613d0000003f013000390000000b04000029000000000441016f000000400100043d0000000004410019000000000514004b00000000050000190000000105004039000005040640009c00000c190000213d000000010550019000000c190000c13d000000400040043f0000000003310436000000030400036700000001060000310000001f0560018f000000050660027200000af50000613d000000000700001900000005087002100000000009830019000000000884034f000000000808043b00000000008904350000000107700039000000000867004b00000aed0000413d000000000750004c00000b040000613d0000000506600210000000000464034f00000000036300190000000305500210000000000603043300000000065601cf000000000656022f000000000404043b0000010005500089000000000454022f00000000045401cf000000000464019f0000000000430435000000010220019000000c1f0000c13d0000000012010434000000000320004c00000b1d0000613d0000050503000041000000200420008c000000000400001900000000040340190000050502200197000000000520004c000000000300a019000005050220009c00000000020400190000000002036019000000000220004c00000c170000c13d0000000001010433000000000210004c0000000002000019000000010200c039000000000221004b00000c170000c13d000000000110004c00000c470000613d000000400200043d000005540120009c00000c190000213d0000002001200039000000400010043f000100000002001d00000000000204350000053d0100004100000000001004390000000400a0044300000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000053e011001c70000800202000039140714020000040f0000000607000029000000010220019000000c170000613d000000000101043b000000000110004c00000c170000613d000000400800043d0000055501000041000000000018043500000064028000390000000001000414000000800300003900000000003204350000004402800039000000070300002900000000003204350000002402800039000000030300002900000000003204350000000402800039000000040300002900000000003204350000000109000029000000000209043300000084038000390000000000230435000000000320004c00000b580000613d000000a403800039000000000400001900000000053400190000002004400039000000000694001900000000060604330000000000650435000000000524004b00000b4d0000413d000000000424004b00000b580000a13d00000000033200190000000000030435000000040370008c00000b5d0000c13d00000001040000310000000b0300002900000b7a0000013d0000001f022000390000000b03000029000000000232016f0000050303000041000005030480009c000000000403001900000000040840190000004004400210000000a402200039000005030520009c00000000020380190000006002200210000000000242019f000005030410009c0000000001038019000000c001100210000000000112019f0000000002070019000600000008001d140713fd0000040f000000060800002900000000030100190000006003300270000105030030019d00000503043001970000000b030000290003000000010355000000010220019000000c9a0000613d0000001f01400039000000000231016f0000000001820019000000000221004b00000000020000190000000102004039000005040310009c00000c190000213d000000010220019000000c190000c13d000000400010043f00000505010000410000000102000031000000000320004c000000000300001900000000030140190000050502200197000000000420004c000000000100a019000005050220009c000000000103c019000000000110004c00000c170000c13d0000053d0100004100000000001004390000000c01000029000000040010044300000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000053e011001c70000800202000039140714020000040f000000010220019000000c170000613d000000000101043b000000000110004c00000c170000613d000000400900043d0000054f01000041000000000019043500000004029000390000000001000414000000070300002900000000003204350000000c02000029000000040320008c00000bae0000c13d000000010300003100000be00000013d0000050304000041000005030310009c0000000001048019000005030390009c000000000304001900000000030940190000004003300210000000c001100210000000000131019f00000509011001c7000c00000009001d140714020000040f0000000c09000029000000000301001900000060033002700000050303300197000000200430008c000000200500003900000000050340190000001f0450018f000000050550027200000bcd0000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b00000bc50000413d000000000640004c00000bdc0000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f0003000000010355000000010220019000000cb90000613d0000001f013000390000000b02000029000000000221016f0000000001920019000000000221004b00000000020000190000000102004039000005040310009c00000c190000213d000000010220019000000c190000c13d000000400010043f00000505020000410000000103000031000000200430008c000000000400001900000000040240190000050503300197000000000530004c000000000200a019000005050330009c000000000204c019000000000220004c00000c170000c13d00000000020904330000000204000029000000000342004b00000c300000413d00000000024200490000000903000029000000000232004b00000c360000413d000000200210003900000000003204350000000802000029000000000021043500000503020000410000000003000414000005030430009c0000000003028019000005030410009c00000000010280190000004001100210000000c002300210000000000112019f0000052f011001c70000800d02000039000000030300003900000556040000410000000a050000290000000506000029140713fd0000040f000000010120019000000c170000613d000000000001042d00000000010000190000140900010430000005080100004100000000001004350000004101000039000000040010043f00000509010000410000140900010430000000400100043d00000044021000390000055803000041000000000032043500000536020000410000000000210435000000240210003900000020030000390000000000320435000000040210003900000000003204350000050302000041000005030310009c0000000001028019000000400110021000000537011001c70000140900010430000005080100004100000000001004350000001101000039000000040010043f00000509010000410000140900010430000000440210003900000557030000410000000000320435000000240210003900000017030000390000000000320435000005360200004100000000002104350000000402100039000000200300003900000000003204350000050302000041000005030310009c0000000001028019000000400110021000000537011001c70000140900010430000000400100043d00000064021000390000055203000041000000000032043500000044021000390000055303000041000000000032043500000024021000390000002a030000390000000000320435000005360200004100000000002104350000000402100039000000200300003900000000003204350000050302000041000005030310009c000000000102801900000040011002100000053a011001c700001409000104300000001f0430018f000000050230027200000c670000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b00000c600000413d000000000340004c00000c750000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000503010000410000000102000031000005030320009c0000000001024019000000600110021000001409000104300000001f0430018f000000050230027200000c860000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b00000c7f0000413d000000000340004c00000c940000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000503010000410000000102000031000005030320009c0000000001024019000000600110021000001409000104300000001f0340018f000000050240027200000ca50000613d00000000040000190000000505400210000000000651034f000000000606043b00000000006504350000000104400039000000000524004b00000c9e0000413d000000000430004c00000cb30000613d00000003033002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000503010000410000000102000031000005030320009c0000000001024019000000600110021000001409000104300000001f0430018f000000050230027200000cc40000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b00000cbd0000413d000000000340004c00000cd20000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000503010000410000000102000031000005030320009c0000000001024019000000600110021000001409000104300000000002010019000000400100043d000005590310009c00000d170000813d0000008003100039000000400030043f0000004203000039000000000331043600000000040000310000000204400367000000000500001900000005065002100000000007630019000000000664034f000000000606043b00000000006704350000000105500039000000030650008c00000ce30000413d0000000004010433000000000440004c00000d110000613d0000000004030433000005450440019700000546044001c700000000004304350000000004010433000000020440008c00000d110000413d00000021041000390000000005040433000005450550019700000547055001c70000000000540435000000410400003900000000050200190000000002010433000000000242004b00000d110000a13d0000000f0250018f0000000302200210000000f80220015f0000054806000041000000000226022f000000000634001900000000070604330000054507700197000000f802200210000000000227019f00000000002604350000000402500270000000010440008a000000010640008c00000cfb0000213d000000100250008c00000d1d0000813d000000000001042d000005080100004100000000001004350000003201000039000000040010043f00000509010000410000140900010430000005080100004100000000001004350000004101000039000000040010043f00000509010000410000140900010430000000400100043d00000044021000390000055a03000041000000000032043500000536020000410000000000210435000000240210003900000020030000390000000000320435000000040210003900000000003204350000050302000041000005030310009c0000000001028019000000400110021000000537011001c700001409000104300004000000000002000300000001001d0000000000000435000000200000043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f000000010220019000000e070000613d000000000101043b0000000101100039000000000101041a000100000001001d0000000000100435000000200000043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f000000010220019000000e070000613d000000000101043b0000000002000411000200000002001d0000050602200197000400000002001d0000000000200435000000200010043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f000000010220019000000e070000613d000000000101043b000000000101041a000000ff0110019000000e090000613d0000000000000435000000200000043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f000000010220019000000e070000613d000000000101043b00000003020000290000050602200197000100000002001d0000000000200435000000200010043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f000000010220019000000e070000613d000000000101043b000000000101041a000000ff0110019000000db50000c13d0000000000000435000000200000043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f000000010220019000000e070000613d000000000101043b00000001020000290000000000200435000000200010043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f000000010220019000000e070000613d000000000101043b000000000201041a000001000300008a000000000232016f00000001022001bf000000000021041b000000400100043d00000503020000410000000003000414000005030430009c0000000003028019000005030410009c00000000010280190000004001100210000000c002300210000000000112019f00000530011001c70000800d0200003900000004030000390000053104000041000000000500001900000003060000290000000207000029140713fd0000040f000000010120019000000e070000613d0000000000000435000000200000043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f000000010220019000000e070000613d000000000101043b00000004020000290000000000200435000000200010043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f000000010220019000000e070000613d000000000101043b000000000101041a000000ff0110019000000e060000613d0000000000000435000000200000043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f000000010220019000000e070000613d000000000101043b00000004020000290000000000200435000000200010043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f000000010220019000000e070000613d000000000101043b000000000201041a000001000300008a000000000232016f000000000021041b000000400100043d00000503020000410000000003000414000005030430009c0000000003028019000005030410009c00000000010280190000004001100210000000c002300210000000000112019f00000530011001c70000800d0200003900000004030000390000054b04000041000000000500001900000002060000290000000007060019140713fd0000040f000000010120019000000e070000613d000000000001042d00000000010000190000140900010430000000400100043d0000000007010019000005440110009c00000e130000413d000005080100004100000000001004350000004101000039000000040010043f0000050901000041000014090001043000000000020700190000006001200039000000400010043f0000002a01000039000000000112043600000000020000310000000202200367000000000300001900000005043002100000000005410019000000000442034f000000000404043b00000000004504350000000103300039000000020430008c00000e1b0000413d0000000002070433000000000220004c00000e2d0000613d0000000002010433000005450220019700000546022001c700000000002104350000000002070433000000020220008c00000e330000813d000005080100004100000000001004350000003201000039000000040010043f0000050901000041000014090001043000000021027000390000000003020433000005450330019700000547033001c700000000003204350000002902000039000000020500002900000000030500190000000004070433000000000424004b00000e2d0000a13d0000000f0430018f0000000304400210000000f80440015f0000054805000041000000000445022f000000000512001900000000060504330000054506600197000000f804400210000000000446019f00000000004504350000000405300270000000010220008a000000010420008c00000e3a0000213d000000100130008c00000000010000190000000101004039000300000007001d140713e90000040f000000010100002914070cd80000040f000000400400043d000400000004001d000000200240003900000549030000410000000000320435000200000001001d00000037024000390000000301000029140704ff0000040f0000054a02000041000000000021043500000011021000390000000201000029140704ff0000040f00000004030000290000000002310049000000200120008a00000000001304350000000001030019140705280000040f0000053601000041000000400200043d000300000002001d000000000012043500000004012000390000000402000029140705100000040f000000030400002900000000014100490000050302000041000005030310009c0000000001028019000005030340009c000000000204401900000040022002100000006001100210000000000121019f000014090001043000000506022001970000000000200435000000200010043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f000000010220019000000e890000613d000000000101043b000000000001042d000000000100001900001409000104300000000000100435000000200000043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f000000010220019000000e990000613d000000000101043b000000000001042d000000000100001900001409000104300001000000000002000100000001001d00000527010000410000000000100435000000200000043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f000000010220019000000ed60000613d000000000101043b000000000200041100000506022001970000000000200435000000200010043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f000000010220019000000ed60000613d000000000101043b000000000101041a000000ff0110019000000ed80000613d0000000102000029000000000120004c00000eed0000613d0000000101000039000000000021041b000000400100043d000000000021043500000503020000410000000003000414000005030430009c0000000003028019000005030410009c00000000010280190000004001100210000000c002300210000000000112019f00000533011001c70000800d02000039000000020300003900000534040000410000000005000410140713fd0000040f000000010120019000000ed60000613d000000000001042d00000000010000190000140900010430000000400100043d000000640210003900000538030000410000000000320435000000440210003900000539030000410000000000320435000000240210003900000028030000390000000000320435000005360200004100000000002104350000000402100039000000200300003900000000003204350000050302000041000005030310009c000000000102801900000040011002100000053a011001c70000140900010430000000400100043d000000440210003900000535030000410000000000320435000000240210003900000014030000390000000000320435000005360200004100000000002104350000000402100039000000200300003900000000003204350000050302000041000005030310009c0000000001028019000000400110021000000537011001c700001409000104300002000000000002000200000002001d000100000001001d00000527010000410000000000100435000000200000043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f000000010220019000000f960000613d000000000101043b000000000200041100000506022001970000000000200435000000200010043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f000000010220019000000f960000613d000000400300043d000000000101043b000000000101041a000000ff0110019000000f9e0000613d00000020013000390000055b02000041000000000021043500000002020000290000050602200197000000240430003900000000002404350000004402000039000000000023043500000044023000390000000000020435000005590230009c00000f980000813d0000008002300039000000400020043f000000000400041400000001020000290000050602200197000000040520008c00000f3a0000c13d0000000103000031000000000200001900000f4e0000013d0000050305000041000005030610009c000000000105801900000040011002100000000003030433000005030630009c00000000030580190000006003300210000000000113019f000005030340009c00000000030500190000000003044019000000c003300210000000000131019f140713fd0000040f000000010220015f00030000000103550000006001100270000105030010019d00000503031001970000006001000039000000000430004c00000f7c0000613d0000003f01300039000000200400008a000000000441016f000000400100043d0000000004410019000000000514004b00000000050000190000000105004039000005040640009c00000f980000213d000000010550019000000f980000c13d000000400040043f0000000003310436000000030400036700000001060000310000001f0560018f000000050660027200000f6d0000613d000000000700001900000005087002100000000009830019000000000884034f000000000808043b00000000008904350000000107700039000000000867004b00000f650000413d000000000750004c00000f7c0000613d0000000506600210000000000464034f00000000036300190000000305500210000000000603043300000000065601cf000000000656022f000000000404043b0000010005500089000000000454022f00000000045401cf000000000464019f0000000000430435000000010220019000000fb20000c13d0000000012010434000000000320004c00000f950000613d0000050503000041000000200420008c000000000400001900000000040340190000050502200197000000000520004c000000000300a019000005050220009c00000000020400190000000002036019000000000220004c00000f960000c13d0000000001010433000000000210004c0000000002000019000000010200c039000000000221004b00000f960000c13d000000000110004c00000fc30000613d000000000001042d00000000010000190000140900010430000005080100004100000000001004350000004101000039000000040010043f00000509010000410000140900010430000000640130003900000538020000410000000000210435000000440130003900000539020000410000000000210435000000240130003900000028020000390000000000210435000005360100004100000000001304350000000401300039000000200200003900000000002104350000050301000041000005030230009c000000000103401900000040011002100000053a011001c70000140900010430000000400100043d00000044021000390000055803000041000000000032043500000536020000410000000000210435000000240210003900000020030000390000000000320435000000040210003900000000003204350000050302000041000005030310009c0000000001028019000000400110021000000537011001c70000140900010430000000400100043d00000064021000390000055203000041000000000032043500000044021000390000055303000041000000000032043500000024021000390000002a030000390000000000320435000005360200004100000000002104350000000402100039000000200300003900000000003204350000050302000041000005030310009c000000000102801900000040011002100000053a011001c700001409000104300003000000000002000300000002001d000200000001001d00000527010000410000000000100435000000200000043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000010860000613d000000000101043b00000000020004110000050602200197000100000002001d0000000000200435000000200010043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000010860000613d000000000101043b000000000101041a000000ff011001900000108e0000613d0000000303000029000000000130004c000010a30000613d000000400100043d000000440210003900000000003204350000002003100039000005500200004100000000002304350000002402100039000000010400002900000000004204350000004402000039000000000021043500000002020000290000050602200197000005590410009c000010880000813d0000008004100039000000400040043f0000000004000414000000040520008c000010160000c13d000000010300003100000000020000190000102a0000013d0000050305000041000005030630009c000000000305801900000040033002100000000001010433000005030610009c00000000010580190000006001100210000000000131019f000005030340009c00000000030500190000000003044019000000c003300210000000000131019f140713fd0000040f000000010220015f00030000000103550000006001100270000105030010019d00000503031001970000006001000039000000000430004c000010580000613d0000003f01300039000000200400008a000000000441016f000000400100043d0000000004410019000000000514004b00000000050000190000000105004039000005040640009c000010880000213d0000000105500190000010880000c13d000000400040043f0000000003310436000000030400036700000001060000310000001f0560018f0000000506600272000010490000613d000000000700001900000005087002100000000009830019000000000884034f000000000808043b00000000008904350000000107700039000000000867004b000010410000413d000000000750004c000010580000613d0000000506600210000000000464034f00000000036300190000000305500210000000000603043300000000065601cf000000000656022f000000000404043b0000010005500089000000000454022f00000000045401cf000000000464019f00000000004304350000000102200190000010b50000c13d0000000012010434000000000320004c000010710000613d0000050503000041000000200420008c000000000400001900000000040340190000050502200197000000000520004c000000000300a019000005050220009c00000000020400190000000002036019000000000220004c000010860000c13d0000000001010433000000000210004c0000000002000019000000010200c039000000000221004b000010860000c13d000000000110004c000010c60000613d000000400100043d0000000302000029000000000021043500000503020000410000000003000414000005030430009c0000000003028019000005030410009c00000000010280190000004001100210000000c002300210000000000112019f00000533011001c70000800d0200003900000002030000390000055c040000410000000205000029140713fd0000040f0000000101200190000010860000613d000000000001042d00000000010000190000140900010430000005080100004100000000001004350000004101000039000000040010043f00000509010000410000140900010430000000400100043d000000640210003900000538030000410000000000320435000000440210003900000539030000410000000000320435000000240210003900000028030000390000000000320435000005360200004100000000002104350000000402100039000000200300003900000000003204350000050302000041000005030310009c000000000102801900000040011002100000053a011001c70000140900010430000000400100043d00000044021000390000055d03000041000000000032043500000024021000390000001e030000390000000000320435000005360200004100000000002104350000000402100039000000200300003900000000003204350000050302000041000005030310009c0000000001028019000000400110021000000537011001c70000140900010430000000400100043d00000044021000390000055803000041000000000032043500000536020000410000000000210435000000240210003900000020030000390000000000320435000000040210003900000000003204350000050302000041000005030310009c0000000001028019000000400110021000000537011001c70000140900010430000000400100043d00000064021000390000055203000041000000000032043500000044021000390000055303000041000000000032043500000024021000390000002a030000390000000000320435000005360200004100000000002104350000000402100039000000200300003900000000003204350000050302000041000005030310009c000000000102801900000040011002100000053a011001c700001409000104300002000000000002000200000001001d00000527010000410000000000100435000000200000043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f00000001022001900000115f0000613d000000000101043b0000000002000411000100000002001d00000506022001970000000000200435000000200010043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f00000001022001900000115f0000613d000000000101043b000000000101041a000000ff01100190000011610000613d0000000209000029000000000190004c0000000104000029000011760000613d0000000001000414000000040240008c000011080000c13d000000010200003900000001010000310000111c0000013d0000050302000041000000400300043d000005030530009c0000000003028019000005030510009c0000000001028019000000c0011002100000004002300210000000000112019f00000530011001c7000080090200003900000000030900190000000005000019140713fd0000040f0000000209000029000000010220018f00030000000103550000006001100270000105030010019d0000050301100197000000000310004c000011490000613d0000003f03100039000000200400008a000000000443016f000000400300043d0000000004430019000000000534004b00000000050000190000000105004039000005040640009c000011990000213d0000000105500190000011990000c13d000000400040043f0000000001130436000000030300036700000001050000310000001f0450018f00000005055002720000113a0000613d000000000600001900000005076002100000000008710019000000000773034f000000000707043b00000000007804350000000106600039000000000756004b000011320000413d000000000640004c000011490000613d0000000505500210000000000353034f00000000015100190000000304400210000000000501043300000000054501cf000000000545022f000000000303043b0000010004400089000000000343022f00000000034301cf000000000353019f0000000000310435000000400100043d000000000220004c000011880000613d000000000091043500000503020000410000000003000414000005030430009c0000000003028019000005030410009c00000000010280190000004001100210000000c002300210000000000112019f00000533011001c70000800d0200003900000002030000390000055c040000410000000005000019140713fd0000040f00000001012001900000115f0000613d000000000001042d00000000010000190000140900010430000000400100043d000000640210003900000538030000410000000000320435000000440210003900000539030000410000000000320435000000240210003900000028030000390000000000320435000005360200004100000000002104350000000402100039000000200300003900000000003204350000050302000041000005030310009c000000000102801900000040011002100000053a011001c70000140900010430000000400100043d00000044021000390000055d03000041000000000032043500000024021000390000001e030000390000000000320435000005360200004100000000002104350000000402100039000000200300003900000000003204350000050302000041000005030310009c0000000001028019000000400110021000000537011001c7000014090001043000000044021000390000055e030000410000000000320435000000240210003900000010030000390000000000320435000005360200004100000000002104350000000402100039000000200300003900000000003204350000050302000041000005030310009c0000000001028019000000400110021000000537011001c70000140900010430000005080100004100000000001004350000004101000039000000040010043f000005090100004100001409000104300004000000000002000300000002001d000400000001001d0000000000100435000000200000043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000012290000613d000000000101043b0000000101100039000000000101041a000100000001001d0000000000100435000000200000043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000012290000613d000000000101043b0000000002000411000200000002001d00000506022001970000000000200435000000200010043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000012290000613d000000000101043b000000000101041a000000ff011001900000122b0000613d00000004010000290000000000100435000000200000043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000012290000613d000000000101043b00000003020000290000050602200197000100000002001d0000000000200435000000200010043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000012290000613d000000000101043b000000000101041a000000ff01100190000012280000c13d00000004010000290000000000100435000000200000043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000012290000613d000000000101043b00000001020000290000000000200435000000200010043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000012290000613d000000000101043b000000000201041a000001000300008a000000000232016f00000001022001bf000000000021041b000000400100043d00000503020000410000000003000414000005030430009c0000000003028019000005030410009c00000000010280190000004001100210000000c002300210000000000112019f00000530011001c70000800d0200003900000004030000390000053104000041000000040500002900000003060000290000000207000029140713fd0000040f0000000101200190000012290000613d000000000001042d00000000010000190000140900010430000000400100043d0000000007010019000005440110009c000012350000413d000005080100004100000000001004350000004101000039000000040010043f0000050901000041000014090001043000000000020700190000006001200039000000400010043f0000002a01000039000000000112043600000000020000310000000202200367000000000300001900000005043002100000000005410019000000000442034f000000000404043b00000000004504350000000103300039000000020430008c0000123d0000413d0000000002070433000000000220004c0000124f0000613d0000000002010433000005450220019700000546022001c700000000002104350000000002070433000000020220008c000012550000813d000005080100004100000000001004350000003201000039000000040010043f0000050901000041000014090001043000000021027000390000000003020433000005450330019700000547033001c700000000003204350000002902000039000000020500002900000000030500190000000004070433000000000424004b0000124f0000a13d0000000f0430018f0000000304400210000000f80440015f0000054805000041000000000445022f000000000512001900000000060504330000054506600197000000f804400210000000000446019f00000000004504350000000405300270000000010220008a000000010420008c0000125c0000213d000000100130008c00000000010000190000000101004039000300000007001d140713e90000040f000000010100002914070cd80000040f000000400400043d000400000004001d000000200240003900000549030000410000000000320435000200000001001d00000037024000390000000301000029140704ff0000040f0000054a02000041000000000021043500000011021000390000000201000029140704ff0000040f00000004030000290000000002310049000000200120008a00000000001304350000000001030019140705280000040f0000053601000041000000400200043d000300000002001d000000000012043500000004012000390000000402000029140705100000040f000000030400002900000000014100490000050302000041000005030310009c0000000001028019000005030340009c000000000204401900000040022002100000006001100210000000000121019f00001409000104300004000000000002000300000002001d000400000001001d0000000000100435000000200000043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000013250000613d000000000101043b0000000101100039000000000101041a000100000001001d0000000000100435000000200000043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000013250000613d000000000101043b0000000002000411000200000002001d00000506022001970000000000200435000000200010043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000013250000613d000000000101043b000000000101041a000000ff01100190000013270000613d00000004010000290000000000100435000000200000043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000013250000613d000000000101043b00000003020000290000050602200197000100000002001d0000000000200435000000200010043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000013250000613d000000000101043b000000000101041a000000ff01100190000013240000613d00000004010000290000000000100435000000200000043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000013250000613d000000000101043b00000001020000290000000000200435000000200010043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000013250000613d000000000101043b000000000201041a000001000300008a000000000232016f000000000021041b000000400100043d00000503020000410000000003000414000005030430009c0000000003028019000005030410009c00000000010280190000004001100210000000c002300210000000000112019f00000530011001c70000800d0200003900000004030000390000054b04000041000000040500002900000003060000290000000207000029140713fd0000040f0000000101200190000013250000613d000000000001042d00000000010000190000140900010430000000400100043d0000000007010019000005440110009c000013310000413d000005080100004100000000001004350000004101000039000000040010043f0000050901000041000014090001043000000000020700190000006001200039000000400010043f0000002a01000039000000000112043600000000020000310000000202200367000000000300001900000005043002100000000005410019000000000442034f000000000404043b00000000004504350000000103300039000000020430008c000013390000413d0000000002070433000000000220004c0000134b0000613d0000000002010433000005450220019700000546022001c700000000002104350000000002070433000000020220008c000013510000813d000005080100004100000000001004350000003201000039000000040010043f0000050901000041000014090001043000000021027000390000000003020433000005450330019700000547033001c700000000003204350000002902000039000000020500002900000000030500190000000004070433000000000424004b0000134b0000a13d0000000f0430018f0000000304400210000000f80440015f0000054805000041000000000445022f000000000512001900000000060504330000054506600197000000f804400210000000000446019f00000000004504350000000405300270000000010220008a000000010420008c000013580000213d000000100130008c00000000010000190000000101004039000300000007001d140713e90000040f000000010100002914070cd80000040f000000400400043d000400000004001d000000200240003900000549030000410000000000320435000200000001001d00000037024000390000000301000029140704ff0000040f0000054a02000041000000000021043500000011021000390000000201000029140704ff0000040f00000004030000290000000002310049000000200120008a00000000001304350000000001030019140705280000040f0000053601000041000000400200043d000300000002001d000000000012043500000004012000390000000402000029140705100000040f000000030400002900000000014100490000050302000041000005030310009c0000000001028019000005030340009c000000000204401900000040022002100000006001100210000000000121019f000014090001043000030000000000020000000202000039000000000102041a000000010310019000000001041002700000007f0540018f000000000604001900000000060560190000001f0460008c00000000040000190000000104002039000000010440018f000000000443004b000013db0000c13d000000400500043d0000000004650436000000000330004c000013af0000c13d000001000200008a000000000121016f00000000001404350000004002000039000013d00000013d000100000004001d000200000006001d000300000005001d000000000020043500000503010000410000000002000414000005030320009c0000000001024019000000c00110021000000533011001c70000801002000039140714020000040f0000000102200190000013e70000613d00000020020000390000000206000029000000000360004c0000000305000029000013d00000613d000000000101043b0000000003000019000000010700002900000000020300190000000003720019000000000401041a000000000043043500000001011000390000002003200039000000000463004b000013c50000413d0000005f01200039000000200200008a000000000221016f0000000001520019000000000221004b00000000020000190000000102004039000005040310009c000013e10000213d0000000102200190000013e10000c13d000000400010043f0000000001050019000000000001042d000005080100004100000000001004350000002201000039000000040010043f00000509010000410000140900010430000005080100004100000000001004350000004101000039000000040010043f0000050901000041000014090001043000000000010000190000140900010430000000000110004c000013ec0000613d000000000001042d000000400100043d00000044021000390000055a03000041000000000032043500000536020000410000000000210435000000240210003900000020030000390000000000320435000000040210003900000000003204350000050302000041000005030310009c0000000001028019000000400110021000000537011001c7000014090001043000001400002104210000000102000039000000000001042d0000000002000019000000000001042d00001405002104230000000102000039000000000001042d0000000002000019000000000001042d0000140700000432000014080001042e00001409000104300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff000000000000000000000000000000000000000000000000ffffffffffffffff8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffffffffffff00000002000000000000000000000000000000c00000010000000000000000004e487b71000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024000000000000000000000000000000000000000000000000000000000000000000000000000000008980f11e00000000000000000000000000000000000000000000000000000000d547741e00000000000000000000000000000000000000000000000000000000ef99893900000000000000000000000000000000000000000000000000000000ef99893a00000000000000000000000000000000000000000000000000000000f2fde38b00000000000000000000000000000000000000000000000000000000f874225400000000000000000000000000000000000000000000000000000000d547741f00000000000000000000000000000000000000000000000000000000d8baf7cf00000000000000000000000000000000000000000000000000000000eab90da60000000000000000000000000000000000000000000000000000000091d148530000000000000000000000000000000000000000000000000000000091d1485400000000000000000000000000000000000000000000000000000000a217fddf00000000000000000000000000000000000000000000000000000000c45a0155000000000000000000000000000000000000000000000000000000008980f11f000000000000000000000000000000000000000000000000000000008bb9c5bf000000000000000000000000000000000000000000000000000000003b720fc9000000000000000000000000000000000000000000000000000000006b453c1e000000000000000000000000000000000000000000000000000000006b453c1f000000000000000000000000000000000000000000000000000000007ae267730000000000000000000000000000000000000000000000000000000084a33e63000000000000000000000000000000000000000000000000000000003b720fca000000000000000000000000000000000000000000000000000000004ebb79160000000000000000000000000000000000000000000000000000000069cff80d00000000000000000000000000000000000000000000000000000000248a9ca200000000000000000000000000000000000000000000000000000000248a9ca3000000000000000000000000000000000000000000000000000000002f2ff15d0000000000000000000000000000000000000000000000000000000036568abe0000000000000000000000000000000000000000000000000000000001ffc9a70000000000000000000000000000000000000000000000000000000006fdde03339759585899103d2ace64958e37e18ccb0504652c81d4a1b8aa80fe2126ab950000000000000000000000000000000000000020000000000000000000000000310ab089e4439a4c15d089f94afb7896ff553aecb10793d0ab882de59d99a32effffffff0000000000000000000000000000000000000000000000000000000001ffc9a7000000000000000000000000000000000000000000000000000000007965db0b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000008000000000000000000200000200000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000004000000000000000000000000002000000000000000000000000000000000000000000000000000000000000002f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d00000000000000000000000000000000000000000000000100000000000000000200000000000000000000000000000000000020000000000000000000000000f43f23b7a28e6f8ce6843a21bd7b48bce778aa913b8c8cf459edf7d770e8d38a496e76616c6964206761732d657374696d61746500000000000000000000000008c379a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000064000000000000000000000000696e7461696e65720000000000000000000000000000000000000000000000004d61696e7461696e61626c653a2043616c6c6572206973206e6f742061206d610000000000000000000000000000000000000084000000000000000000000000496e76616c69642061646170746572206e616d6500000000000000000000000002000002000000000000000000000000000000440000000000000000000000001806aa1896bbf26568e884a7374b41e002500962caba6a15023a8d90e8508b830200000200000000000000000000000000000024000000000000000000000000e6a439050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000440000000000000000000000000902f1ac000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffff000000000000000000000000000000000000000000000000ffffffffffffffa000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff300000000000000000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000000000000000003031323334353637383961626364656600000000000000000000000000000000416363657373436f6e74726f6c3a206163636f756e7420000000000000000000206973206d697373696e6720726f6c6520000000000000000000000000000000f6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b000000000000000000000001000000000000000000000000000000000000000020726f6c657320666f722073656c660000000000000000000000000000000000416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636570a0823100000000000000000000000000000000000000000000000000000000a9059cbb00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffff7f6f742073756363656564000000000000000000000000000000000000000000005361666545524332303a204552433230206f7065726174696f6e20646964206e000000000000000000000000000000000000000000000000ffffffffffffffdf022c0d9f00000000000000000000000000000000000000000000000000000000e2bdbc6b7225eb0a972ac943c485a6cc05f7c6811838bce8903f23200fb744fa496e73756666696369656e7420616d6f756e742d6f75740000000000000000005361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564000000000000000000000000000000000000000000000000ffffffffffffff80537472696e67733a20686578206c656e67746820696e73756666696369656e74095ea7b3000000000000000000000000000000000000000000000000000000008c1256b8896378cd5044f80c202f9772b9d77dc85c8a6eb51967210b09bfaa2859616b416461707465723a204e6f7468696e6720746f207265636f76657200005472616e73666572206661696c65642e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006b3a836da170106a546717c8627e0475261aa8dd705fe8e9764049832cff3c80", + "deployedBytecode": "0x0004000000000002000100000000000200000000030100190000006003300270000005030430019700030000004103550002000000010355000005030030019d000100000000001f00000001012001900000003a0000c13d0000008001000039000000400010043f0000000001000031000000040210008c000000be0000413d0000000201000367000000000101043b000000e0011002700000050a0210009c000000c80000213d000005190210009c000000de0000a13d0000051a0210009c0000011e0000213d0000051e0210009c000001a30000613d0000051f0210009c000001c70000613d000005200110009c000002a00000c13d0000000001000416000000000110004c000002a00000c13d000000040100008a00000000011000310000050502000041000000000310004c000000000300001900000000030240190000050501100197000000000410004c000000000200a019000005050110009c00000000010300190000000001026019000000000110004c000002a00000c13d0000000101000039000000000101041a000000400200043d00000000001204350000050301000041000005030320009c0000000001024019000000400110021000000528011001c7000014080001042e000000c001000039000000400010043f0000000001000416000000000110004c000002a00000c13d00000000040000310000001f02400039000000200100008a000000000512016f000000400300043d0000000002350019000000000552004b00000000050000190000000105004039000005040620009c000000c20000213d0000000105500190000000c20000c13d000000400020043f0000001f0240018f000000020500036700000005064002720000005a0000613d000000000700001900000005087002100000000009830019000000000885034f000000000808043b00000000008904350000000107700039000000000867004b000000520000413d000000000720004c000000690000613d0000000506600210000000000565034f00000000066300190000000302200210000000000706043300000000072701cf000000000727022f000000000505043b0000010002200089000000000525022f00000000022501cf000000000272019f00000000002604350000050502000041000000800540008c000000000500001900000000050240190000050506400197000000000760004c000000000200a019000005050660009c000000000205c019000000000220004c000002a00000c13d0000000025030434000005040650009c000002a00000213d000000000643001900000000043500190000001f054000390000050507000041000000000865004b0000000008000019000000000807801900000505055001970000050509600197000000000a95004b0000000007008019000000000595013f000005050550009c00000000050800190000000005076019000000000550004c000002a00000c13d0000000005040433000005040750009c000000c20000213d0000003f07500039000000000717016f000000400100043d0000000007710019000000000817004b00000000080000190000000108004039000005040970009c000000c20000213d0000000108800190000000c20000c13d000000400070043f000000000051043500000020075000390000000008470019000000000668004b000002a00000213d000000000650004c000000aa0000613d000000000600001900000020066000390000000008160019000000000946001900000000090904330000000000980435000000000856004b0000009f0000413d000000000456004b000000aa0000a13d000000000417001900000000000404350000000002020433000005060420009c000002a00000213d0000006004300039000000000404043300000040033000390000000003030433140702b30000040f000000800100043d000000a00200043d0000014000000443000001600020044300000020020000390000018000200443000001a0001004430000010000200443000000020100003900000120001004430000050701000041000014080001042e000000000110004c000002a00000c13d0000000001000019000014080001042e000005080100004100000000001004350000004101000039000000040010043f000005090100004100001409000104300000050b0210009c000000f20000a13d0000050c0210009c0000013f0000213d000005100210009c000001e20000613d000005110210009c000001ee0000613d000005120110009c000002a00000c13d0000000001000416000000000110004c000002a00000c13d0000000001000031140704de0000040f140709af0000040f0000050301000041000000400200043d000005030320009c00000000010240190000004001100210000014080001042e000005210210009c0000015f0000a13d000005220210009c000001fa0000613d000005230210009c000002170000613d000005240110009c000002a00000c13d0000000001000416000000000110004c000002a00000c13d0000000001000031140704960000040f1407093d0000040f0000050301000041000000400200043d000005030320009c00000000010240190000004001100210000014080001042e000005130210009c000001840000a13d000005140210009c000002230000613d000005150210009c000002380000613d000005160110009c000002a00000c13d0000000001000416000000000110004c000002a00000c13d000000040100008a00000000011000310000050502000041000000000310004c000000000300001900000000030240190000050501100197000000000410004c000000000200a019000005050110009c00000000010300190000000001026019000000000110004c000002a00000c13d000000400100043d000100000001001d0000052901000041000000000010043900000000010004120000000400100443000000240000044300008005010000390000004402000039140702a20000040f0000050601100197000000010300002900000000001304350000050301000041000005030230009c0000000001034019000000400110021000000528011001c7000014080001042e0000051b0210009c000002510000613d0000051c0210009c0000025d0000613d0000051d0110009c000002a00000c13d0000000001000416000000000110004c000002a00000c13d000000040100008a00000000011000310000050502000041000000200310008c000000000300001900000000030240190000050501100197000000000410004c000000000200a019000005050110009c00000000010300190000000001026019000000000110004c000002a00000c13d00000004010000390000000201100367000000000101043b14070e9b0000040f0000050301000041000000400200043d000005030320009c00000000010240190000004001100210000014080001042e0000050d0210009c000002690000613d0000050e0210009c000002770000613d0000050f0110009c000002a00000c13d0000000001000416000000000110004c000002a00000c13d000000040100008a00000000011000310000050502000041000000000310004c000000000300001900000000030240190000050501100197000000000410004c000000000200a019000005050110009c00000000010300190000000001026019000000000110004c000002a00000c13d000000400100043d000005270200004100000000002104350000050302000041000005030310009c0000000001028019000000400110021000000528011001c7000014080001042e000005250210009c000002830000613d000005260110009c000002a00000c13d0000000001000416000000000110004c000002a00000c13d000000040100008a00000000011000310000050502000041000000000310004c000000000300001900000000030240190000050501100197000000000410004c000000000200a019000005050110009c00000000010300190000000001026019000000000110004c000002a00000c13d140713980000040f0000000002010019000000400100043d000100000001001d140705100000040f000000010400002900000000014100490000050302000041000005030310009c0000000001028019000005030340009c000000000204401900000040022002100000006001100210000000000121019f000014080001042e000005170210009c000002940000613d000005180110009c000002a00000c13d0000000001000416000000000110004c000002a00000c13d000000040100008a00000000011000310000050502000041000000200310008c000000000300001900000000030240190000050501100197000000000410004c000000000200a019000005050110009c00000000010300190000000001026019000000000110004c000002a00000c13d00000004010000390000000201100367000000000101043b140708cb0000040f0000050301000041000000400200043d000005030320009c00000000010240190000004001100210000014080001042e0000000001000416000000000110004c000002a00000c13d000000040100008a00000000011000310000050502000041000000000310004c000000000300001900000000030240190000050501100197000000000410004c000000000200a019000005050110009c00000000010300190000000001026019000000000110004c000002a00000c13d000000400100043d000100000001001d00000529010000410000000000100439000000000100041200000004001004430000002001000039000000240010044300008005010000390000004402000039140702a20000040f000000010300002900000000001304350000050301000041000005030230009c0000000001034019000000400110021000000528011001c7000014080001042e0000000001000416000000000110004c000002a00000c13d000000040100008a00000000011000310000050502000041000000200310008c000000000300001900000000030240190000050501100197000000000410004c000000000200a019000005050110009c00000000010300190000000001026019000000000110004c000002a00000c13d00000004010000390000000201100367000000000101043b140710db0000040f0000050301000041000000400200043d000005030320009c00000000010240190000004001100210000014080001042e0000000001000416000000000110004c000002a00000c13d0000000001000031140704960000040f1407129c0000040f0000050301000041000000400200043d000005030320009c00000000010240190000004001100210000014080001042e0000000001000416000000000110004c000002a00000c13d0000000001000031140704510000040f140707cf0000040f0000050301000041000000400200043d000005030320009c00000000010240190000004001100210000014080001042e0000000001000416000000000110004c000002a00000c13d000000040100008a00000000011000310000050502000041000000200310008c000000000300001900000000030240190000050501100197000000000410004c000000000200a019000005050110009c00000000010300190000000001026019000000000110004c000002a00000c13d00000004010000390000000201100367000000000101043b140707bd0000040f000000400200043d00000000001204350000050301000041000005030320009c0000000001024019000000400110021000000528011001c7000014080001042e0000000001000416000000000110004c000002a00000c13d0000000001000031140704960000040f1407119f0000040f0000050301000041000000400200043d000005030320009c00000000010240190000004001100210000014080001042e0000000001000416000000000110004c000002a00000c13d0000000001000031140704960000040f000100000002001d14070e8b0000040f000000010200002914070e7a0000040f000000000101041a000000ff011001900000000001000019000000010100c039000000400200043d00000000001204350000050301000041000005030320009c0000000001024019000000400110021000000528011001c7000014080001042e0000000001000416000000000110004c000002a00000c13d000000040100008a00000000011000310000050502000041000000000310004c000000000300001900000000030240190000050501100197000000000410004c000000000200a019000005050110009c00000000010300190000000001026019000000000110004c000002a00000c13d000000400100043d00000000000104350000050302000041000005030310009c0000000001028019000000400110021000000528011001c7000014080001042e0000000001000416000000000110004c000002a00000c13d0000000001000031140704510000040f140706c00000040f0000050301000041000000400200043d000005030320009c00000000010240190000004001100210000014080001042e0000000001000416000000000110004c000002a00000c13d0000000001000031140704660000040f14070eff0000040f0000050301000041000000400200043d000005030320009c00000000010240190000004001100210000014080001042e0000000001000416000000000110004c000002a00000c13d0000000001000031140704c30000040f1407053b0000040f000000400200043d00000000001204350000050301000041000005030320009c0000000001024019000000400110021000000528011001c7000014080001042e0000000001000416000000000110004c000002a00000c13d0000000001000031140704510000040f14070d2e0000040f0000050301000041000000400200043d000005030320009c00000000010240190000004001100210000014080001042e0000000001000416000000000110004c000002a00000c13d0000000001000031140704ad0000040f0000052a011001970000052b0210009c000000000200001900000001020060390000052c0110009c00000000010000190000000101006039000000000121019f000000010110018f000000800010043f0000052d01000041000014080001042e0000000001000416000000000110004c000002a00000c13d00000000010000311407047f0000040f14070fd80000040f0000050301000041000000400200043d000005030320009c00000000010240190000004001100210000014080001042e00000000010000190000140900010430000000000301001900000503010000410000000004000414000005030540009c0000000001044019000000c001100210000000600220021000000000011200190000052e011000410000000002030019140714020000040f0000000102200190000002b10000613d000000000101043b000000000001042d000000000100001900001409000104300009000000000002000700000004001d000600000003001d000500000002001d000800000001001d0000000000000435000000200000043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000004040000613d000000000101043b0000000002000411000400000002001d0000050602200197000900000002001d0000000000200435000000200010043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000004040000613d000000000101043b000000000101041a000000ff011001900000030d0000c13d0000000000000435000000200000043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000004040000613d000000000101043b00000009020000290000000000200435000000200010043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000004040000613d000000000101043b000000000201041a000001000300008a000000000232016f00000001022001bf000000000021041b000000400100043d00000503020000410000000003000414000005030430009c0000000003028019000005030410009c00000000010280190000004001100210000000c002300210000000000112019f00000530011001c70000800d0200003900000004030000390000053104000041000000000500001900000004060000290000000007060019140713fd0000040f0000000101200190000004040000613d00000527010000410000000000100435000000200000043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000004040000613d000000000101043b00000009020000290000000000200435000000200010043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000004040000613d000000000101043b000000000101041a000000ff01100190000003610000c13d00000527010000410000000000100435000000200000043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000004040000613d000000000101043b00000009020000290000000000200435000000200010043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000004040000613d000000000101043b000000000201041a000001000300008a000000000232016f00000001022001bf000000000021041b000000400100043d00000503020000410000000003000414000005030430009c0000000003028019000005030410009c00000000010280190000004001100210000000c002300210000000000112019f00000530011001c70000800d0200003900000004030000390000053104000041000005270500004100000004060000290000000007060019140713fd0000040f0000000101200190000004040000613d00000008060000290000000058060434000000000180004c000004060000613d000005320180009c000004180000813d0000000207000039000000000107041a000000010210019000000001011002700000007f0310018f000000000401001900000000040360190000001f0140008c00000000010000190000000101002039000000010110018f000000000112004b0000041e0000c13d000000000184019f000000200110008c00000000010000190000038d0000413d000100000004001d000200000005001d000300000008001d000400000007001d000000000070043500000503010000410000000002000414000005030320009c0000000001024019000000c00110021000000533011001c70000801002000039140714020000040f0000000102200190000004040000613d000000000101043b00000008060000290000000407000029000000030800002900000002050000290000000104000029000000200240008c0000039e0000413d0000001f028000390000000502200270000000200380008c000000000302001900000000030040190000001f02400039000000050220027000000000022100190000000003310019000000000423004b0000039e0000813d000000000003041b0000000103300039000000000423004b0000039a0000413d0000001f0280008c000003bc0000a13d000000200200008a00000000032801700000002002000039000003ae0000613d0000002002000039000000000400001900000000056200190000000005050433000000000051041b000000200220003900000001011000390000002004400039000000000534004b000003a60000413d000000000383004b000003b90000813d0000000303800210000000f80330018f000000010400008a000000000334022f000000000343013f00000000026200190000000002020433000000000232016f000000000021041b00000001010000390000000102800210000003c30000013d0000000301800210000000010200008a000000000112022f000000000121013f0000000002050433000000000212016f0000000101800210000000000112019f000000000017041b00000527010000410000000000100435000000200000043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000004040000613d000000000101043b00000009020000290000000000200435000000200010043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000004040000613d000000000101043b000000000101041a000000ff01100190000004240000613d0000000702000029000000000120004c000004390000613d0000000101000039000000000021041b000000400100043d000000000021043500000503020000410000000003000414000005030430009c0000000003028019000005030410009c00000000010280190000004001100210000000c002300210000000000112019f00000533011001c70000800d02000039000000020300003900000534040000410000000005000410140713fd0000040f0000000101200190000004040000613d0000000602000029000003e90120008c0000044b0000813d000003e801200089000000800010043f0000000501000029000000a00010043f000000000001042d00000000010000190000140900010430000000400100043d00000044021000390000053b030000410000000000320435000000240210003900000014030000390000000000320435000005360200004100000000002104350000000402100039000000200300003900000000003204350000050302000041000005030310009c0000000001028019000000400110021000000537011001c70000140900010430000005080100004100000000001004350000004101000039000000040010043f00000509010000410000140900010430000005080100004100000000001004350000002201000039000000040010043f00000509010000410000140900010430000000400100043d000000640210003900000538030000410000000000320435000000440210003900000539030000410000000000320435000000240210003900000028030000390000000000320435000005360200004100000000002104350000000402100039000000200300003900000000003204350000050302000041000005030310009c000000000102801900000040011002100000053a011001c70000140900010430000000400100043d000000440210003900000535030000410000000000320435000000240210003900000014030000390000000000320435000005360200004100000000002104350000000402100039000000200300003900000000003204350000050302000041000005030310009c0000000001028019000000400110021000000537011001c70000140900010430000005080100004100000000001004350000001101000039000000040010043f00000509010000410000140900010430000000040110008a00000505020000410000001f0310008c000000000300001900000000030220190000050501100197000000000410004c0000000002008019000005050110009c00000000010300190000000001026019000000000110004c000004640000613d00000004010000390000000201100367000000000101043b000005060210009c000004640000213d000000000001042d00000000010000190000140900010430000000040110008a00000505020000410000003f0310008c000000000300001900000000030220190000050501100197000000000410004c0000000002008019000005050110009c00000000010300190000000001026019000000000110004c0000047d0000613d00000002020003670000000401200370000000000101043b000005060310009c0000047d0000213d0000002402200370000000000202043b000005060320009c0000047d0000213d000000000001042d00000000010000190000140900010430000000040110008a00000505020000410000003f0310008c000000000300001900000000030220190000050501100197000000000410004c0000000002008019000005050110009c00000000010300190000000001026019000000000110004c000004940000613d00000002020003670000000401200370000000000101043b000005060310009c000004940000213d0000002402200370000000000202043b000000000001042d00000000010000190000140900010430000000040110008a00000505020000410000003f0310008c000000000300001900000000030220190000050501100197000000000410004c0000000002008019000005050110009c00000000010300190000000001026019000000000110004c000004ab0000613d00000002010003670000002402100370000000000202043b000005060320009c000004ab0000213d0000000401100370000000000101043b000000000001042d00000000010000190000140900010430000000040110008a00000505020000410000001f0310008c000000000300001900000000030220190000050501100197000000000410004c0000000002008019000005050110009c00000000010300190000000001026019000000000110004c000004c10000613d00000004010000390000000201100367000000000101043b0000052a02100197000000000221004b000004c10000c13d000000000001042d00000000010000190000140900010430000000040110008a00000505020000410000005f0310008c000000000300001900000000030220190000050501100197000000000410004c0000000002008019000005050110009c00000000010300190000000001026019000000000110004c000004dc0000613d00000002030003670000000401300370000000000101043b0000002402300370000000000202043b000005060420009c000004dc0000213d0000004403300370000000000303043b000005060430009c000004dc0000213d000000000001042d00000000010000190000140900010430000000040110008a00000505020000410000009f0310008c000000000300001900000000030220190000050501100197000000000410004c0000000002008019000005050110009c00000000010300190000000001026019000000000110004c000004fd0000613d00000002050003670000002401500370000000000201043b0000000401500370000000000101043b0000004403500370000000000303043b000005060430009c000004fd0000213d0000006404500370000000000404043b000005060640009c000004fd0000213d0000008405500370000000000505043b000005060650009c000004fd0000213d000000000001042d0000000001000019000014090001043000000000030100190000000004030433000000000140004c00000000012400190000050f0000613d000000000500001900000000062500190000002005500039000000000735001900000000070704330000000000760435000000000645004b000005050000413d000000000245004b0000050f0000a13d0000000000010435000000000001042d00000020030000390000000004310436000000000302043300000000003404350000004001100039000000000430004c000005230000613d000000000400001900000000051400190000002004400039000000000624001900000000060604330000000000650435000000000534004b000005180000413d000000000234004b000005230000a13d000000000213001900000000000204350000001f02300039000000200300008a000000000232016f0000000001120019000000000001042d0000001f02200039000000200300008a000000000232016f0000000001120019000000000221004b00000000020000190000000102004039000005040310009c000005350000213d0000000102200190000005350000c13d000000400010043f000000000001042d000005080100004100000000001004350000004101000039000000040010043f0000050901000041000014090001043000070000000000020000000004010019000005060220019700000506033001970000000001000019000700000002001d000600000003001d000000000232004b0000066d0000613d000000000240004c0000066d0000613d000300000004001d000005290100004100000000001004390000000001000412000400000001001d0000000400100443000000240000044300000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000053c011001c70000800502000039140714020000040f00000001022001900000066e0000613d000000000101043b0000053d0200004100000000002004390000050601100197000500000001001d000000040010044300000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000053e011001c70000800202000039140714020000040f00000001022001900000066e0000613d000000000101043b000000000110004c0000066e0000613d000000400900043d0000053f01000041000000000019043500000024029000390000000001000414000000060300002900000000003204350000000402900039000000070300002900000000003204350000000502000029000000040320008c000005790000c13d0000000103000031000005ab0000013d0000050304000041000005030310009c0000000001048019000005030390009c000000000304001900000000030940190000004003300210000000c001100210000000000131019f00000540011001c7000500000009001d140714020000040f0000000509000029000000000301001900000060033002700000050303300197000000200430008c000000200500003900000000050340190000001f0450018f0000000505500272000005980000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b000005900000413d000000000640004c000005a70000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f000300000001035500000001022001900000067c0000613d0000001f01300039000000200200008a000500000002001d000000000221016f0000000001920019000000000221004b00000000020000190000000102004039000005040310009c000006700000213d0000000102200190000006700000c13d000000400010043f00000505010000410000000102000031000000200320008c000000000300001900000000030140190000050502200197000000000420004c000000000100a019000005050220009c000000000103c019000000000110004c0000066e0000c13d0000000004090433000005060140009c0000066e0000213d000000000140004c00000000010000190000066d0000613d0000053d010000410000000000100439000000040040044300000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000053e011001c70000800202000039000200000004001d140714020000040f000000020400002900000001022001900000066e0000613d000000000101043b000000000110004c0000066e0000613d000000400900043d000005410100004100000000051904360000000001000414000000040240008c000005e40000c13d0000000103000031000006180000013d000100000005001d0000050302000041000005030310009c0000000001028019000005030390009c00000000020940190000004002200210000000c001100210000000000121019f00000542011001c70000000002040019000200000009001d140714020000040f0000000209000029000000000301001900000060033002700000050303300197000000600430008c000000600500003900000000050340190000001f0450018f0000000505500272000006040000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b000005fc0000413d000000000640004c000006130000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f0003000000010355000000010220019000000001050000290000069b0000613d0000001f013000390000000502000029000000000221016f0000000001920019000000000221004b00000000020000190000000102004039000005040310009c000006700000213d0000000102200190000006700000c13d000000400010043f00000505010000410000000102000031000000600320008c000000000300001900000000030140190000050502200197000000000420004c000000000100a019000005050220009c000000000103c019000000000110004c0000066e0000c13d0000000001090433000005430210009c0000066e0000213d0000000002050433000005430320009c0000066e0000213d00000040039000390000000003030433000005030330009c0000066e0000213d00000007030000290000000604000029000000000343004b000000000301001900000000030240190000000002014019000000000120004c00000000010000190000066d0000613d000000000130004c00000000010000190000066d0000613d000600000002001d000700000003001d00000529010000410000000000100439000000040100002900000004001004430000002001000039000000240010044300000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000053c011001c70000800502000039140714020000040f00000001022001900000066e0000613d000000010200008a000000030500002900000000435200d9000000000101043b000000000313004b0000000706000029000006760000413d00000000315100aa000006640000613d00000000431200d9000000000363004b000006760000413d000000000321013f0000000602000029000003e8422000c9000000000332004b000006760000213d000000000221001a000006ba0000613d00000000316100a900000000212100d9000000000001042d00000000010000190000140900010430000005080100004100000000001004350000004101000039000000040010043f00000509010000410000140900010430000005080100004100000000001004350000001101000039000000040010043f000005090100004100001409000104300000001f0430018f0000000502300272000006870000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b000006800000413d000000000340004c000006950000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000503010000410000000102000031000005030320009c0000000001024019000000600110021000001409000104300000001f0430018f0000000502300272000006a60000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b0000069f0000413d000000000340004c000006b40000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000503010000410000000102000031000005030320009c000000000102401900000060011002100000140900010430000005080100004100000000001004350000001201000039000000040010043f000005090100004100001409000104300003000000000002000300000001001d00000527010000410000000000100435000000200000043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f00000001022001900000074a0000613d000000000101043b0000000101100039000000000101041a000100000001001d0000000000100435000000200000043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f00000001022001900000074a0000613d000000000101043b0000000002000411000200000002001d00000506022001970000000000200435000000200010043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f00000001022001900000074a0000613d000000000101043b000000000101041a000000ff011001900000074c0000613d00000527010000410000000000100435000000200000043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f00000001022001900000074a0000613d000000000101043b00000003020000290000050602200197000100000002001d0000000000200435000000200010043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f00000001022001900000074a0000613d000000000101043b000000000101041a000000ff01100190000007490000c13d00000527010000410000000000100435000000200000043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f00000001022001900000074a0000613d000000000101043b00000001020000290000000000200435000000200010043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f00000001022001900000074a0000613d000000000101043b000000000201041a000001000300008a000000000232016f00000001022001bf000000000021041b000000400100043d00000503020000410000000003000414000005030430009c0000000003028019000005030410009c00000000010280190000004001100210000000c002300210000000000112019f00000530011001c70000800d0200003900000004030000390000053104000041000005270500004100000003060000290000000207000029140713fd0000040f00000001012001900000074a0000613d000000000001042d00000000010000190000140900010430000000400100043d0000000007010019000005440110009c000007560000413d000005080100004100000000001004350000004101000039000000040010043f0000050901000041000014090001043000000000020700190000006001200039000000400010043f0000002a01000039000000000112043600000000020000310000000202200367000000000300001900000005043002100000000005410019000000000442034f000000000404043b00000000004504350000000103300039000000020430008c0000075e0000413d0000000002070433000000000220004c000007700000613d0000000002010433000005450220019700000546022001c700000000002104350000000002070433000000020220008c000007760000813d000005080100004100000000001004350000003201000039000000040010043f0000050901000041000014090001043000000021027000390000000003020433000005450330019700000547033001c700000000003204350000002902000039000000020500002900000000030500190000000004070433000000000424004b000007700000a13d0000000f0430018f0000000304400210000000f80440015f0000054805000041000000000445022f000000000512001900000000060504330000054506600197000000f804400210000000000446019f00000000004504350000000405300270000000010220008a000000010420008c0000077d0000213d000000100130008c00000000010000190000000101004039000200000007001d140713e90000040f000000010100002914070cd80000040f000000400400043d000300000004001d000000200240003900000549030000410000000000320435000100000001001d00000037024000390000000201000029140704ff0000040f0000054a02000041000000000021043500000011021000390000000101000029140704ff0000040f00000003030000290000000002310049000000200120008a00000000001304350000000001030019140705280000040f0000053601000041000000400200043d000200000002001d000000000012043500000004012000390000000302000029140705100000040f000000020400002900000000014100490000050302000041000005030310009c0000000001028019000005030340009c000000000204401900000040022002100000006001100210000000000121019f00001409000104300000000000100435000000200000043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000007cd0000613d000000000101043b0000000101100039000000000101041a000000000001042d000000000100001900001409000104300003000000000002000300000001001d00000527010000410000000000100435000000200000043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000008580000613d000000000101043b0000000101100039000000000101041a000100000001001d0000000000100435000000200000043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000008580000613d000000000101043b0000000002000411000200000002001d00000506022001970000000000200435000000200010043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000008580000613d000000000101043b000000000101041a000000ff011001900000085a0000613d00000527010000410000000000100435000000200000043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000008580000613d000000000101043b00000003020000290000050602200197000100000002001d0000000000200435000000200010043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000008580000613d000000000101043b000000000101041a000000ff01100190000008570000613d00000527010000410000000000100435000000200000043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000008580000613d000000000101043b00000001020000290000000000200435000000200010043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000008580000613d000000000101043b000000000201041a000001000300008a000000000232016f000000000021041b000000400100043d00000503020000410000000003000414000005030430009c0000000003028019000005030410009c00000000010280190000004001100210000000c002300210000000000112019f00000530011001c70000800d0200003900000004030000390000054b04000041000005270500004100000003060000290000000207000029140713fd0000040f0000000101200190000008580000613d000000000001042d00000000010000190000140900010430000000400100043d0000000007010019000005440110009c000008640000413d000005080100004100000000001004350000004101000039000000040010043f0000050901000041000014090001043000000000020700190000006001200039000000400010043f0000002a01000039000000000112043600000000020000310000000202200367000000000300001900000005043002100000000005410019000000000442034f000000000404043b00000000004504350000000103300039000000020430008c0000086c0000413d0000000002070433000000000220004c0000087e0000613d0000000002010433000005450220019700000546022001c700000000002104350000000002070433000000020220008c000008840000813d000005080100004100000000001004350000003201000039000000040010043f0000050901000041000014090001043000000021027000390000000003020433000005450330019700000547033001c700000000003204350000002902000039000000020500002900000000030500190000000004070433000000000424004b0000087e0000a13d0000000f0430018f0000000304400210000000f80440015f0000054805000041000000000445022f000000000512001900000000060504330000054506600197000000f804400210000000000446019f00000000004504350000000405300270000000010220008a000000010420008c0000088b0000213d000000100130008c00000000010000190000000101004039000200000007001d140713e90000040f000000010100002914070cd80000040f000000400400043d000300000004001d000000200240003900000549030000410000000000320435000100000001001d00000037024000390000000201000029140704ff0000040f0000054a02000041000000000021043500000011021000390000000101000029140704ff0000040f00000003030000290000000002310049000000200120008a00000000001304350000000001030019140705280000040f0000053601000041000000400200043d000200000002001d000000000012043500000004012000390000000302000029140705100000040f000000020400002900000000014100490000050302000041000005030310009c0000000001028019000005030340009c000000000204401900000040022002100000006001100210000000000121019f0000140900010430000300000000000200000000030004110000050602300197000300000002001d000100000003001d0000054c0230009c000009280000813d000200000001001d0000000000100435000000200000043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000009260000613d000000000101043b00000003020000290000000000200435000000200010043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000009260000613d000000000101043b000000000101041a000000ff01100190000009250000613d00000002010000290000000000100435000000200000043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000009260000613d000000000101043b00000003020000290000000000200435000000200010043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000009260000613d000000000101043b000000000201041a000001000300008a000000000232016f000000000021041b000000400100043d00000503020000410000000003000414000005030430009c0000000003028019000005030410009c00000000010280190000004001100210000000c002300210000000000112019f00000530011001c70000800d0200003900000004030000390000054b04000041000000020500002900000001060000290000000307000029140713fd0000040f0000000101200190000009260000613d000000000001042d00000000010000190000140900010430000000400100043d00000064021000390000054d03000041000000000032043500000044021000390000054e03000041000000000032043500000024021000390000002f030000390000000000320435000005360200004100000000002104350000000402100039000000200300003900000000003204350000050302000041000005030310009c000000000102801900000040011002100000053a011001c700001409000104300003000000000002000100000002001d00000506022001970000000003000411000300000002001d000000000232004b0000099a0000c13d000200000001001d0000000000100435000000200000043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000009980000613d000000000101043b00000003020000290000000000200435000000200010043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000009980000613d000000000101043b000000000101041a000000ff01100190000009970000613d00000002010000290000000000100435000000200000043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000009980000613d000000000101043b00000003020000290000000000200435000000200010043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000009980000613d000000000101043b000000000201041a000001000300008a000000000232016f000000000021041b000000400100043d00000503020000410000000003000414000005030430009c0000000003028019000005030410009c00000000010280190000004001100210000000c002300210000000000112019f00000530011001c70000800d0200003900000004030000390000054b04000041000000020500002900000001060000290000000307000029140713fd0000040f0000000101200190000009980000613d000000000001042d00000000010000190000140900010430000000400100043d00000064021000390000054d03000041000000000032043500000044021000390000054e03000041000000000032043500000024021000390000002f030000390000000000320435000005360200004100000000002104350000000402100039000000200300003900000000003204350000050302000041000005030310009c000000000102801900000040011002100000053a011001c70000140900010430000c000000000002000b00000005001d000a00000003001d000900000002001d000800000001001d0000053d010000410000000000100439000500000004001d0000050601400197000c00000001001d000000040010044300000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000053e011001c70000800202000039140714020000040f000000010220019000000c170000613d000000000101043b000000000110004c00000c170000613d000000400900043d0000054f0100004100000000001904350000000b01000029000005060310019700000004029000390000000001000414000700000003001d00000000003204350000000c02000029000000040320008c000009d50000c13d000000010300003100000a070000013d0000050304000041000005030310009c0000000001048019000005030390009c000000000304001900000000030940190000004003300210000000c001100210000000000131019f00000509011001c7000b00000009001d140714020000040f0000000b09000029000000000301001900000060033002700000050303300197000000200430008c000000200500003900000000050340190000001f0450018f0000000505500272000009f40000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b000009ec0000413d000000000640004c00000a030000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f0003000000010355000000010220019000000c5c0000613d0000001f01300039000000200200008a000b00000002001d000000000221016f0000000001920019000000000221004b00000000020000190000000102004039000005040310009c00000c190000213d000000010220019000000c190000c13d000000400010043f00000505010000410000000102000031000000200320008c000000000300001900000000030140190000050502200197000000000420004c000000000100a019000005050220009c000000000103c019000000000110004c00000c170000c13d0000000001090433000200000001001d0000052901000041000000000010043900000000010004120000000400100443000000240000044300000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000053c011001c70000800502000039140714020000040f000000010220019000000c170000613d000000000101043b0000053d0200004100000000002004390000050601100197000600000001001d000000040010044300000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000053e011001c70000800202000039140714020000040f000000010220019000000c170000613d000000000101043b000000000110004c00000c170000613d000000400900043d0000053f010000410000000000190435000000240290003900000000010004140000000c0300002900000000003204350000000a020000290000050606200197000000040290003900000000006204350000000602000029000000040320008c00000a540000c13d000000010300003100000a880000013d000400000006001d0000050304000041000005030310009c0000000001048019000005030390009c000000000304001900000000030940190000004003300210000000c001100210000000000131019f00000540011001c7000600000009001d140714020000040f0000000609000029000000000301001900000060033002700000050303300197000000200430008c000000200500003900000000050340190000001f0450018f000000050550027200000a740000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b00000a6c0000413d000000000640004c00000a830000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f00030000000103550000000102200190000000040600002900000c7b0000613d0000001f013000390000000b02000029000000000221016f0000000001920019000000000221004b00000000020000190000000102004039000005040310009c00000c190000213d000000010220019000000c190000c13d000000400010043f00000505020000410000000103000031000000200430008c000000000400001900000000040240190000050503300197000000000530004c000000000200a019000005050330009c000000000204c019000000000220004c00000c170000c13d000000000a0904330000050602a0009c00000c170000213d00000044021000390000000803000029000000000032043500000020021000390000055003000041000000000032043500000024031000390000000000a304350000000c03000029000000000336004b000000090300002900000000040000190000000004034019000300000004001d0000000003004019000400000003001d00000044030000390000000000310435000005510310009c00000c190000213d0000008003100039000000400030043f0000000003000414000000040460008c00060000000a001d00000ac00000c13d0000000103000031000000000200001900000ad60000013d0000050304000041000005030520009c000000000204801900000040022002100000000001010433000005030510009c00000000010480190000006001100210000000000121019f000005030230009c00000000020400190000000002034019000000c002200210000000000121019f0000000002060019140713fd0000040f000000060a000029000000010220015f00030000000103550000006001100270000105030010019d00000503031001970000006001000039000000000430004c00000b040000613d0000003f013000390000000b04000029000000000441016f000000400100043d0000000004410019000000000514004b00000000050000190000000105004039000005040640009c00000c190000213d000000010550019000000c190000c13d000000400040043f0000000003310436000000030400036700000001060000310000001f0560018f000000050660027200000af50000613d000000000700001900000005087002100000000009830019000000000884034f000000000808043b00000000008904350000000107700039000000000867004b00000aed0000413d000000000750004c00000b040000613d0000000506600210000000000464034f00000000036300190000000305500210000000000603043300000000065601cf000000000656022f000000000404043b0000010005500089000000000454022f00000000045401cf000000000464019f0000000000430435000000010220019000000c1f0000c13d0000000012010434000000000320004c00000b1d0000613d0000050503000041000000200420008c000000000400001900000000040340190000050502200197000000000520004c000000000300a019000005050220009c00000000020400190000000002036019000000000220004c00000c170000c13d0000000001010433000000000210004c0000000002000019000000010200c039000000000221004b00000c170000c13d000000000110004c00000c470000613d000000400200043d000005540120009c00000c190000213d0000002001200039000000400010043f000100000002001d00000000000204350000053d0100004100000000001004390000000400a0044300000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000053e011001c70000800202000039140714020000040f0000000607000029000000010220019000000c170000613d000000000101043b000000000110004c00000c170000613d000000400800043d0000055501000041000000000018043500000064028000390000000001000414000000800300003900000000003204350000004402800039000000070300002900000000003204350000002402800039000000030300002900000000003204350000000402800039000000040300002900000000003204350000000109000029000000000209043300000084038000390000000000230435000000000320004c00000b580000613d000000a403800039000000000400001900000000053400190000002004400039000000000694001900000000060604330000000000650435000000000524004b00000b4d0000413d000000000424004b00000b580000a13d00000000033200190000000000030435000000040370008c00000b5d0000c13d00000001040000310000000b0300002900000b7a0000013d0000001f022000390000000b03000029000000000232016f0000050303000041000005030480009c000000000403001900000000040840190000004004400210000000a402200039000005030520009c00000000020380190000006002200210000000000242019f000005030410009c0000000001038019000000c001100210000000000112019f0000000002070019000600000008001d140713fd0000040f000000060800002900000000030100190000006003300270000105030030019d00000503043001970000000b030000290003000000010355000000010220019000000c9a0000613d0000001f01400039000000000231016f0000000001820019000000000221004b00000000020000190000000102004039000005040310009c00000c190000213d000000010220019000000c190000c13d000000400010043f00000505010000410000000102000031000000000320004c000000000300001900000000030140190000050502200197000000000420004c000000000100a019000005050220009c000000000103c019000000000110004c00000c170000c13d0000053d0100004100000000001004390000000c01000029000000040010044300000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000053e011001c70000800202000039140714020000040f000000010220019000000c170000613d000000000101043b000000000110004c00000c170000613d000000400900043d0000054f01000041000000000019043500000004029000390000000001000414000000070300002900000000003204350000000c02000029000000040320008c00000bae0000c13d000000010300003100000be00000013d0000050304000041000005030310009c0000000001048019000005030390009c000000000304001900000000030940190000004003300210000000c001100210000000000131019f00000509011001c7000c00000009001d140714020000040f0000000c09000029000000000301001900000060033002700000050303300197000000200430008c000000200500003900000000050340190000001f0450018f000000050550027200000bcd0000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b00000bc50000413d000000000640004c00000bdc0000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f0003000000010355000000010220019000000cb90000613d0000001f013000390000000b02000029000000000221016f0000000001920019000000000221004b00000000020000190000000102004039000005040310009c00000c190000213d000000010220019000000c190000c13d000000400010043f00000505020000410000000103000031000000200430008c000000000400001900000000040240190000050503300197000000000530004c000000000200a019000005050330009c000000000204c019000000000220004c00000c170000c13d00000000020904330000000204000029000000000342004b00000c300000413d00000000024200490000000903000029000000000232004b00000c360000413d000000200210003900000000003204350000000802000029000000000021043500000503020000410000000003000414000005030430009c0000000003028019000005030410009c00000000010280190000004001100210000000c002300210000000000112019f0000052f011001c70000800d02000039000000030300003900000556040000410000000a050000290000000506000029140713fd0000040f000000010120019000000c170000613d000000000001042d00000000010000190000140900010430000005080100004100000000001004350000004101000039000000040010043f00000509010000410000140900010430000000400100043d00000044021000390000055803000041000000000032043500000536020000410000000000210435000000240210003900000020030000390000000000320435000000040210003900000000003204350000050302000041000005030310009c0000000001028019000000400110021000000537011001c70000140900010430000005080100004100000000001004350000001101000039000000040010043f00000509010000410000140900010430000000440210003900000557030000410000000000320435000000240210003900000017030000390000000000320435000005360200004100000000002104350000000402100039000000200300003900000000003204350000050302000041000005030310009c0000000001028019000000400110021000000537011001c70000140900010430000000400100043d00000064021000390000055203000041000000000032043500000044021000390000055303000041000000000032043500000024021000390000002a030000390000000000320435000005360200004100000000002104350000000402100039000000200300003900000000003204350000050302000041000005030310009c000000000102801900000040011002100000053a011001c700001409000104300000001f0430018f000000050230027200000c670000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b00000c600000413d000000000340004c00000c750000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000503010000410000000102000031000005030320009c0000000001024019000000600110021000001409000104300000001f0430018f000000050230027200000c860000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b00000c7f0000413d000000000340004c00000c940000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000503010000410000000102000031000005030320009c0000000001024019000000600110021000001409000104300000001f0340018f000000050240027200000ca50000613d00000000040000190000000505400210000000000651034f000000000606043b00000000006504350000000104400039000000000524004b00000c9e0000413d000000000430004c00000cb30000613d00000003033002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000503010000410000000102000031000005030320009c0000000001024019000000600110021000001409000104300000001f0430018f000000050230027200000cc40000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b00000cbd0000413d000000000340004c00000cd20000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000503010000410000000102000031000005030320009c0000000001024019000000600110021000001409000104300000000002010019000000400100043d000005590310009c00000d170000813d0000008003100039000000400030043f0000004203000039000000000331043600000000040000310000000204400367000000000500001900000005065002100000000007630019000000000664034f000000000606043b00000000006704350000000105500039000000030650008c00000ce30000413d0000000004010433000000000440004c00000d110000613d0000000004030433000005450440019700000546044001c700000000004304350000000004010433000000020440008c00000d110000413d00000021041000390000000005040433000005450550019700000547055001c70000000000540435000000410400003900000000050200190000000002010433000000000242004b00000d110000a13d0000000f0250018f0000000302200210000000f80220015f0000054806000041000000000226022f000000000634001900000000070604330000054507700197000000f802200210000000000227019f00000000002604350000000402500270000000010440008a000000010640008c00000cfb0000213d000000100250008c00000d1d0000813d000000000001042d000005080100004100000000001004350000003201000039000000040010043f00000509010000410000140900010430000005080100004100000000001004350000004101000039000000040010043f00000509010000410000140900010430000000400100043d00000044021000390000055a03000041000000000032043500000536020000410000000000210435000000240210003900000020030000390000000000320435000000040210003900000000003204350000050302000041000005030310009c0000000001028019000000400110021000000537011001c700001409000104300004000000000002000300000001001d0000000000000435000000200000043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f000000010220019000000e070000613d000000000101043b0000000101100039000000000101041a000100000001001d0000000000100435000000200000043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f000000010220019000000e070000613d000000000101043b0000000002000411000200000002001d0000050602200197000400000002001d0000000000200435000000200010043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f000000010220019000000e070000613d000000000101043b000000000101041a000000ff0110019000000e090000613d0000000000000435000000200000043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f000000010220019000000e070000613d000000000101043b00000003020000290000050602200197000100000002001d0000000000200435000000200010043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f000000010220019000000e070000613d000000000101043b000000000101041a000000ff0110019000000db50000c13d0000000000000435000000200000043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f000000010220019000000e070000613d000000000101043b00000001020000290000000000200435000000200010043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f000000010220019000000e070000613d000000000101043b000000000201041a000001000300008a000000000232016f00000001022001bf000000000021041b000000400100043d00000503020000410000000003000414000005030430009c0000000003028019000005030410009c00000000010280190000004001100210000000c002300210000000000112019f00000530011001c70000800d0200003900000004030000390000053104000041000000000500001900000003060000290000000207000029140713fd0000040f000000010120019000000e070000613d0000000000000435000000200000043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f000000010220019000000e070000613d000000000101043b00000004020000290000000000200435000000200010043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f000000010220019000000e070000613d000000000101043b000000000101041a000000ff0110019000000e060000613d0000000000000435000000200000043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f000000010220019000000e070000613d000000000101043b00000004020000290000000000200435000000200010043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f000000010220019000000e070000613d000000000101043b000000000201041a000001000300008a000000000232016f000000000021041b000000400100043d00000503020000410000000003000414000005030430009c0000000003028019000005030410009c00000000010280190000004001100210000000c002300210000000000112019f00000530011001c70000800d0200003900000004030000390000054b04000041000000000500001900000002060000290000000007060019140713fd0000040f000000010120019000000e070000613d000000000001042d00000000010000190000140900010430000000400100043d0000000007010019000005440110009c00000e130000413d000005080100004100000000001004350000004101000039000000040010043f0000050901000041000014090001043000000000020700190000006001200039000000400010043f0000002a01000039000000000112043600000000020000310000000202200367000000000300001900000005043002100000000005410019000000000442034f000000000404043b00000000004504350000000103300039000000020430008c00000e1b0000413d0000000002070433000000000220004c00000e2d0000613d0000000002010433000005450220019700000546022001c700000000002104350000000002070433000000020220008c00000e330000813d000005080100004100000000001004350000003201000039000000040010043f0000050901000041000014090001043000000021027000390000000003020433000005450330019700000547033001c700000000003204350000002902000039000000020500002900000000030500190000000004070433000000000424004b00000e2d0000a13d0000000f0430018f0000000304400210000000f80440015f0000054805000041000000000445022f000000000512001900000000060504330000054506600197000000f804400210000000000446019f00000000004504350000000405300270000000010220008a000000010420008c00000e3a0000213d000000100130008c00000000010000190000000101004039000300000007001d140713e90000040f000000010100002914070cd80000040f000000400400043d000400000004001d000000200240003900000549030000410000000000320435000200000001001d00000037024000390000000301000029140704ff0000040f0000054a02000041000000000021043500000011021000390000000201000029140704ff0000040f00000004030000290000000002310049000000200120008a00000000001304350000000001030019140705280000040f0000053601000041000000400200043d000300000002001d000000000012043500000004012000390000000402000029140705100000040f000000030400002900000000014100490000050302000041000005030310009c0000000001028019000005030340009c000000000204401900000040022002100000006001100210000000000121019f000014090001043000000506022001970000000000200435000000200010043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f000000010220019000000e890000613d000000000101043b000000000001042d000000000100001900001409000104300000000000100435000000200000043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f000000010220019000000e990000613d000000000101043b000000000001042d000000000100001900001409000104300001000000000002000100000001001d00000527010000410000000000100435000000200000043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f000000010220019000000ed60000613d000000000101043b000000000200041100000506022001970000000000200435000000200010043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f000000010220019000000ed60000613d000000000101043b000000000101041a000000ff0110019000000ed80000613d0000000102000029000000000120004c00000eed0000613d0000000101000039000000000021041b000000400100043d000000000021043500000503020000410000000003000414000005030430009c0000000003028019000005030410009c00000000010280190000004001100210000000c002300210000000000112019f00000533011001c70000800d02000039000000020300003900000534040000410000000005000410140713fd0000040f000000010120019000000ed60000613d000000000001042d00000000010000190000140900010430000000400100043d000000640210003900000538030000410000000000320435000000440210003900000539030000410000000000320435000000240210003900000028030000390000000000320435000005360200004100000000002104350000000402100039000000200300003900000000003204350000050302000041000005030310009c000000000102801900000040011002100000053a011001c70000140900010430000000400100043d000000440210003900000535030000410000000000320435000000240210003900000014030000390000000000320435000005360200004100000000002104350000000402100039000000200300003900000000003204350000050302000041000005030310009c0000000001028019000000400110021000000537011001c700001409000104300002000000000002000200000002001d000100000001001d00000527010000410000000000100435000000200000043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f000000010220019000000f960000613d000000000101043b000000000200041100000506022001970000000000200435000000200010043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f000000010220019000000f960000613d000000400300043d000000000101043b000000000101041a000000ff0110019000000f9e0000613d00000020013000390000055b02000041000000000021043500000002020000290000050602200197000000240430003900000000002404350000004402000039000000000023043500000044023000390000000000020435000005590230009c00000f980000813d0000008002300039000000400020043f000000000400041400000001020000290000050602200197000000040520008c00000f3a0000c13d0000000103000031000000000200001900000f4e0000013d0000050305000041000005030610009c000000000105801900000040011002100000000003030433000005030630009c00000000030580190000006003300210000000000113019f000005030340009c00000000030500190000000003044019000000c003300210000000000131019f140713fd0000040f000000010220015f00030000000103550000006001100270000105030010019d00000503031001970000006001000039000000000430004c00000f7c0000613d0000003f01300039000000200400008a000000000441016f000000400100043d0000000004410019000000000514004b00000000050000190000000105004039000005040640009c00000f980000213d000000010550019000000f980000c13d000000400040043f0000000003310436000000030400036700000001060000310000001f0560018f000000050660027200000f6d0000613d000000000700001900000005087002100000000009830019000000000884034f000000000808043b00000000008904350000000107700039000000000867004b00000f650000413d000000000750004c00000f7c0000613d0000000506600210000000000464034f00000000036300190000000305500210000000000603043300000000065601cf000000000656022f000000000404043b0000010005500089000000000454022f00000000045401cf000000000464019f0000000000430435000000010220019000000fb20000c13d0000000012010434000000000320004c00000f950000613d0000050503000041000000200420008c000000000400001900000000040340190000050502200197000000000520004c000000000300a019000005050220009c00000000020400190000000002036019000000000220004c00000f960000c13d0000000001010433000000000210004c0000000002000019000000010200c039000000000221004b00000f960000c13d000000000110004c00000fc30000613d000000000001042d00000000010000190000140900010430000005080100004100000000001004350000004101000039000000040010043f00000509010000410000140900010430000000640130003900000538020000410000000000210435000000440130003900000539020000410000000000210435000000240130003900000028020000390000000000210435000005360100004100000000001304350000000401300039000000200200003900000000002104350000050301000041000005030230009c000000000103401900000040011002100000053a011001c70000140900010430000000400100043d00000044021000390000055803000041000000000032043500000536020000410000000000210435000000240210003900000020030000390000000000320435000000040210003900000000003204350000050302000041000005030310009c0000000001028019000000400110021000000537011001c70000140900010430000000400100043d00000064021000390000055203000041000000000032043500000044021000390000055303000041000000000032043500000024021000390000002a030000390000000000320435000005360200004100000000002104350000000402100039000000200300003900000000003204350000050302000041000005030310009c000000000102801900000040011002100000053a011001c700001409000104300003000000000002000300000002001d000200000001001d00000527010000410000000000100435000000200000043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000010860000613d000000000101043b00000000020004110000050602200197000100000002001d0000000000200435000000200010043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000010860000613d000000000101043b000000000101041a000000ff011001900000108e0000613d0000000303000029000000000130004c000010a30000613d000000400100043d000000440210003900000000003204350000002003100039000005500200004100000000002304350000002402100039000000010400002900000000004204350000004402000039000000000021043500000002020000290000050602200197000005590410009c000010880000813d0000008004100039000000400040043f0000000004000414000000040520008c000010160000c13d000000010300003100000000020000190000102a0000013d0000050305000041000005030630009c000000000305801900000040033002100000000001010433000005030610009c00000000010580190000006001100210000000000131019f000005030340009c00000000030500190000000003044019000000c003300210000000000131019f140713fd0000040f000000010220015f00030000000103550000006001100270000105030010019d00000503031001970000006001000039000000000430004c000010580000613d0000003f01300039000000200400008a000000000441016f000000400100043d0000000004410019000000000514004b00000000050000190000000105004039000005040640009c000010880000213d0000000105500190000010880000c13d000000400040043f0000000003310436000000030400036700000001060000310000001f0560018f0000000506600272000010490000613d000000000700001900000005087002100000000009830019000000000884034f000000000808043b00000000008904350000000107700039000000000867004b000010410000413d000000000750004c000010580000613d0000000506600210000000000464034f00000000036300190000000305500210000000000603043300000000065601cf000000000656022f000000000404043b0000010005500089000000000454022f00000000045401cf000000000464019f00000000004304350000000102200190000010b50000c13d0000000012010434000000000320004c000010710000613d0000050503000041000000200420008c000000000400001900000000040340190000050502200197000000000520004c000000000300a019000005050220009c00000000020400190000000002036019000000000220004c000010860000c13d0000000001010433000000000210004c0000000002000019000000010200c039000000000221004b000010860000c13d000000000110004c000010c60000613d000000400100043d0000000302000029000000000021043500000503020000410000000003000414000005030430009c0000000003028019000005030410009c00000000010280190000004001100210000000c002300210000000000112019f00000533011001c70000800d0200003900000002030000390000055c040000410000000205000029140713fd0000040f0000000101200190000010860000613d000000000001042d00000000010000190000140900010430000005080100004100000000001004350000004101000039000000040010043f00000509010000410000140900010430000000400100043d000000640210003900000538030000410000000000320435000000440210003900000539030000410000000000320435000000240210003900000028030000390000000000320435000005360200004100000000002104350000000402100039000000200300003900000000003204350000050302000041000005030310009c000000000102801900000040011002100000053a011001c70000140900010430000000400100043d00000044021000390000055d03000041000000000032043500000024021000390000001e030000390000000000320435000005360200004100000000002104350000000402100039000000200300003900000000003204350000050302000041000005030310009c0000000001028019000000400110021000000537011001c70000140900010430000000400100043d00000044021000390000055803000041000000000032043500000536020000410000000000210435000000240210003900000020030000390000000000320435000000040210003900000000003204350000050302000041000005030310009c0000000001028019000000400110021000000537011001c70000140900010430000000400100043d00000064021000390000055203000041000000000032043500000044021000390000055303000041000000000032043500000024021000390000002a030000390000000000320435000005360200004100000000002104350000000402100039000000200300003900000000003204350000050302000041000005030310009c000000000102801900000040011002100000053a011001c700001409000104300002000000000002000200000001001d00000527010000410000000000100435000000200000043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f00000001022001900000115f0000613d000000000101043b0000000002000411000100000002001d00000506022001970000000000200435000000200010043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f00000001022001900000115f0000613d000000000101043b000000000101041a000000ff01100190000011610000613d0000000209000029000000000190004c0000000104000029000011760000613d0000000001000414000000040240008c000011080000c13d000000010200003900000001010000310000111c0000013d0000050302000041000000400300043d000005030530009c0000000003028019000005030510009c0000000001028019000000c0011002100000004002300210000000000112019f00000530011001c7000080090200003900000000030900190000000005000019140713fd0000040f0000000209000029000000010220018f00030000000103550000006001100270000105030010019d0000050301100197000000000310004c000011490000613d0000003f03100039000000200400008a000000000443016f000000400300043d0000000004430019000000000534004b00000000050000190000000105004039000005040640009c000011990000213d0000000105500190000011990000c13d000000400040043f0000000001130436000000030300036700000001050000310000001f0450018f00000005055002720000113a0000613d000000000600001900000005076002100000000008710019000000000773034f000000000707043b00000000007804350000000106600039000000000756004b000011320000413d000000000640004c000011490000613d0000000505500210000000000353034f00000000015100190000000304400210000000000501043300000000054501cf000000000545022f000000000303043b0000010004400089000000000343022f00000000034301cf000000000353019f0000000000310435000000400100043d000000000220004c000011880000613d000000000091043500000503020000410000000003000414000005030430009c0000000003028019000005030410009c00000000010280190000004001100210000000c002300210000000000112019f00000533011001c70000800d0200003900000002030000390000055c040000410000000005000019140713fd0000040f00000001012001900000115f0000613d000000000001042d00000000010000190000140900010430000000400100043d000000640210003900000538030000410000000000320435000000440210003900000539030000410000000000320435000000240210003900000028030000390000000000320435000005360200004100000000002104350000000402100039000000200300003900000000003204350000050302000041000005030310009c000000000102801900000040011002100000053a011001c70000140900010430000000400100043d00000044021000390000055d03000041000000000032043500000024021000390000001e030000390000000000320435000005360200004100000000002104350000000402100039000000200300003900000000003204350000050302000041000005030310009c0000000001028019000000400110021000000537011001c7000014090001043000000044021000390000055e030000410000000000320435000000240210003900000010030000390000000000320435000005360200004100000000002104350000000402100039000000200300003900000000003204350000050302000041000005030310009c0000000001028019000000400110021000000537011001c70000140900010430000005080100004100000000001004350000004101000039000000040010043f000005090100004100001409000104300004000000000002000300000002001d000400000001001d0000000000100435000000200000043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000012290000613d000000000101043b0000000101100039000000000101041a000100000001001d0000000000100435000000200000043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000012290000613d000000000101043b0000000002000411000200000002001d00000506022001970000000000200435000000200010043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000012290000613d000000000101043b000000000101041a000000ff011001900000122b0000613d00000004010000290000000000100435000000200000043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000012290000613d000000000101043b00000003020000290000050602200197000100000002001d0000000000200435000000200010043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000012290000613d000000000101043b000000000101041a000000ff01100190000012280000c13d00000004010000290000000000100435000000200000043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000012290000613d000000000101043b00000001020000290000000000200435000000200010043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000012290000613d000000000101043b000000000201041a000001000300008a000000000232016f00000001022001bf000000000021041b000000400100043d00000503020000410000000003000414000005030430009c0000000003028019000005030410009c00000000010280190000004001100210000000c002300210000000000112019f00000530011001c70000800d0200003900000004030000390000053104000041000000040500002900000003060000290000000207000029140713fd0000040f0000000101200190000012290000613d000000000001042d00000000010000190000140900010430000000400100043d0000000007010019000005440110009c000012350000413d000005080100004100000000001004350000004101000039000000040010043f0000050901000041000014090001043000000000020700190000006001200039000000400010043f0000002a01000039000000000112043600000000020000310000000202200367000000000300001900000005043002100000000005410019000000000442034f000000000404043b00000000004504350000000103300039000000020430008c0000123d0000413d0000000002070433000000000220004c0000124f0000613d0000000002010433000005450220019700000546022001c700000000002104350000000002070433000000020220008c000012550000813d000005080100004100000000001004350000003201000039000000040010043f0000050901000041000014090001043000000021027000390000000003020433000005450330019700000547033001c700000000003204350000002902000039000000020500002900000000030500190000000004070433000000000424004b0000124f0000a13d0000000f0430018f0000000304400210000000f80440015f0000054805000041000000000445022f000000000512001900000000060504330000054506600197000000f804400210000000000446019f00000000004504350000000405300270000000010220008a000000010420008c0000125c0000213d000000100130008c00000000010000190000000101004039000300000007001d140713e90000040f000000010100002914070cd80000040f000000400400043d000400000004001d000000200240003900000549030000410000000000320435000200000001001d00000037024000390000000301000029140704ff0000040f0000054a02000041000000000021043500000011021000390000000201000029140704ff0000040f00000004030000290000000002310049000000200120008a00000000001304350000000001030019140705280000040f0000053601000041000000400200043d000300000002001d000000000012043500000004012000390000000402000029140705100000040f000000030400002900000000014100490000050302000041000005030310009c0000000001028019000005030340009c000000000204401900000040022002100000006001100210000000000121019f00001409000104300004000000000002000300000002001d000400000001001d0000000000100435000000200000043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000013250000613d000000000101043b0000000101100039000000000101041a000100000001001d0000000000100435000000200000043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000013250000613d000000000101043b0000000002000411000200000002001d00000506022001970000000000200435000000200010043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000013250000613d000000000101043b000000000101041a000000ff01100190000013270000613d00000004010000290000000000100435000000200000043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000013250000613d000000000101043b00000003020000290000050602200197000100000002001d0000000000200435000000200010043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000013250000613d000000000101043b000000000101041a000000ff01100190000013240000613d00000004010000290000000000100435000000200000043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000013250000613d000000000101043b00000001020000290000000000200435000000200010043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000013250000613d000000000101043b000000000201041a000001000300008a000000000232016f000000000021041b000000400100043d00000503020000410000000003000414000005030430009c0000000003028019000005030410009c00000000010280190000004001100210000000c002300210000000000112019f00000530011001c70000800d0200003900000004030000390000054b04000041000000040500002900000003060000290000000207000029140713fd0000040f0000000101200190000013250000613d000000000001042d00000000010000190000140900010430000000400100043d0000000007010019000005440110009c000013310000413d000005080100004100000000001004350000004101000039000000040010043f0000050901000041000014090001043000000000020700190000006001200039000000400010043f0000002a01000039000000000112043600000000020000310000000202200367000000000300001900000005043002100000000005410019000000000442034f000000000404043b00000000004504350000000103300039000000020430008c000013390000413d0000000002070433000000000220004c0000134b0000613d0000000002010433000005450220019700000546022001c700000000002104350000000002070433000000020220008c000013510000813d000005080100004100000000001004350000003201000039000000040010043f0000050901000041000014090001043000000021027000390000000003020433000005450330019700000547033001c700000000003204350000002902000039000000020500002900000000030500190000000004070433000000000424004b0000134b0000a13d0000000f0430018f0000000304400210000000f80440015f0000054805000041000000000445022f000000000512001900000000060504330000054506600197000000f804400210000000000446019f00000000004504350000000405300270000000010220008a000000010420008c000013580000213d000000100130008c00000000010000190000000101004039000300000007001d140713e90000040f000000010100002914070cd80000040f000000400400043d000400000004001d000000200240003900000549030000410000000000320435000200000001001d00000037024000390000000301000029140704ff0000040f0000054a02000041000000000021043500000011021000390000000201000029140704ff0000040f00000004030000290000000002310049000000200120008a00000000001304350000000001030019140705280000040f0000053601000041000000400200043d000300000002001d000000000012043500000004012000390000000402000029140705100000040f000000030400002900000000014100490000050302000041000005030310009c0000000001028019000005030340009c000000000204401900000040022002100000006001100210000000000121019f000014090001043000030000000000020000000202000039000000000102041a000000010310019000000001041002700000007f0540018f000000000604001900000000060560190000001f0460008c00000000040000190000000104002039000000010440018f000000000443004b000013db0000c13d000000400500043d0000000004650436000000000330004c000013af0000c13d000001000200008a000000000121016f00000000001404350000004002000039000013d00000013d000100000004001d000200000006001d000300000005001d000000000020043500000503010000410000000002000414000005030320009c0000000001024019000000c00110021000000533011001c70000801002000039140714020000040f0000000102200190000013e70000613d00000020020000390000000206000029000000000360004c0000000305000029000013d00000613d000000000101043b0000000003000019000000010700002900000000020300190000000003720019000000000401041a000000000043043500000001011000390000002003200039000000000463004b000013c50000413d0000005f01200039000000200200008a000000000221016f0000000001520019000000000221004b00000000020000190000000102004039000005040310009c000013e10000213d0000000102200190000013e10000c13d000000400010043f0000000001050019000000000001042d000005080100004100000000001004350000002201000039000000040010043f00000509010000410000140900010430000005080100004100000000001004350000004101000039000000040010043f0000050901000041000014090001043000000000010000190000140900010430000000000110004c000013ec0000613d000000000001042d000000400100043d00000044021000390000055a03000041000000000032043500000536020000410000000000210435000000240210003900000020030000390000000000320435000000040210003900000000003204350000050302000041000005030310009c0000000001028019000000400110021000000537011001c7000014090001043000001400002104210000000102000039000000000001042d0000000002000019000000000001042d00001405002104230000000102000039000000000001042d0000000002000019000000000001042d0000140700000432000014080001042e00001409000104300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff000000000000000000000000000000000000000000000000ffffffffffffffff8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffffffffffff00000002000000000000000000000000000000c00000010000000000000000004e487b71000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024000000000000000000000000000000000000000000000000000000000000000000000000000000008980f11e00000000000000000000000000000000000000000000000000000000d547741e00000000000000000000000000000000000000000000000000000000ef99893900000000000000000000000000000000000000000000000000000000ef99893a00000000000000000000000000000000000000000000000000000000f2fde38b00000000000000000000000000000000000000000000000000000000f874225400000000000000000000000000000000000000000000000000000000d547741f00000000000000000000000000000000000000000000000000000000d8baf7cf00000000000000000000000000000000000000000000000000000000eab90da60000000000000000000000000000000000000000000000000000000091d148530000000000000000000000000000000000000000000000000000000091d1485400000000000000000000000000000000000000000000000000000000a217fddf00000000000000000000000000000000000000000000000000000000c45a0155000000000000000000000000000000000000000000000000000000008980f11f000000000000000000000000000000000000000000000000000000008bb9c5bf000000000000000000000000000000000000000000000000000000003b720fc9000000000000000000000000000000000000000000000000000000006b453c1e000000000000000000000000000000000000000000000000000000006b453c1f000000000000000000000000000000000000000000000000000000007ae267730000000000000000000000000000000000000000000000000000000084a33e63000000000000000000000000000000000000000000000000000000003b720fca000000000000000000000000000000000000000000000000000000004ebb79160000000000000000000000000000000000000000000000000000000069cff80d00000000000000000000000000000000000000000000000000000000248a9ca200000000000000000000000000000000000000000000000000000000248a9ca3000000000000000000000000000000000000000000000000000000002f2ff15d0000000000000000000000000000000000000000000000000000000036568abe0000000000000000000000000000000000000000000000000000000001ffc9a70000000000000000000000000000000000000000000000000000000006fdde03339759585899103d2ace64958e37e18ccb0504652c81d4a1b8aa80fe2126ab950000000000000000000000000000000000000020000000000000000000000000310ab089e4439a4c15d089f94afb7896ff553aecb10793d0ab882de59d99a32effffffff0000000000000000000000000000000000000000000000000000000001ffc9a7000000000000000000000000000000000000000000000000000000007965db0b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000008000000000000000000200000200000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000004000000000000000000000000002000000000000000000000000000000000000000000000000000000000000002f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d00000000000000000000000000000000000000000000000100000000000000000200000000000000000000000000000000000020000000000000000000000000f43f23b7a28e6f8ce6843a21bd7b48bce778aa913b8c8cf459edf7d770e8d38a496e76616c6964206761732d657374696d61746500000000000000000000000008c379a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000064000000000000000000000000696e7461696e65720000000000000000000000000000000000000000000000004d61696e7461696e61626c653a2043616c6c6572206973206e6f742061206d610000000000000000000000000000000000000084000000000000000000000000496e76616c69642061646170746572206e616d6500000000000000000000000002000002000000000000000000000000000000440000000000000000000000001806aa1896bbf26568e884a7374b41e002500962caba6a15023a8d90e8508b830200000200000000000000000000000000000024000000000000000000000000e6a439050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000440000000000000000000000000902f1ac000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffff000000000000000000000000000000000000000000000000ffffffffffffffa000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff300000000000000000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000000000000000003031323334353637383961626364656600000000000000000000000000000000416363657373436f6e74726f6c3a206163636f756e7420000000000000000000206973206d697373696e6720726f6c6520000000000000000000000000000000f6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b000000000000000000000001000000000000000000000000000000000000000020726f6c657320666f722073656c660000000000000000000000000000000000416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636570a0823100000000000000000000000000000000000000000000000000000000a9059cbb00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffff7f6f742073756363656564000000000000000000000000000000000000000000005361666545524332303a204552433230206f7065726174696f6e20646964206e000000000000000000000000000000000000000000000000ffffffffffffffdf022c0d9f00000000000000000000000000000000000000000000000000000000e2bdbc6b7225eb0a972ac943c485a6cc05f7c6811838bce8903f23200fb744fa496e73756666696369656e7420616d6f756e742d6f75740000000000000000005361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564000000000000000000000000000000000000000000000000ffffffffffffff80537472696e67733a20686578206c656e67746820696e73756666696369656e74095ea7b3000000000000000000000000000000000000000000000000000000008c1256b8896378cd5044f80c202f9772b9d77dc85c8a6eb51967210b09bfaa2859616b416461707465723a204e6f7468696e6720746f207265636f76657200005472616e73666572206661696c65642e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006b3a836da170106a546717c8627e0475261aa8dd705fe8e9764049832cff3c80", + "devdoc": { + "kind": "dev", + "methods": { + "getRoleAdmin(bytes32)": { + "details": "Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}." + }, + "grantRole(bytes32,address)": { + "details": "Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event." + }, + "hasRole(bytes32,address)": { + "details": "Returns `true` if `account` has been granted `role`." + }, + "renounceRole(bytes32,address)": { + "details": "Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event." + }, + "revokeRole(bytes32,address)": { + "details": "Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event." + }, + "supportsInterface(bytes4)": { + "details": "See {IERC165-supportsInterface}." + } + }, + "version": 1 + }, + "userdoc": { + "kind": "user", + "methods": {}, + "version": 1 + }, + "storageLayout": { + "storage": [ + { + "astId": 24, + "contract": "src/contracts/adapters/UniswapV2Adapter.sol:UniswapV2Adapter", + "label": "_roles", + "offset": 0, + "slot": "0", + "type": "t_mapping(t_bytes32,t_struct(RoleData)19_storage)" + }, + { + "astId": 718, + "contract": "src/contracts/adapters/UniswapV2Adapter.sol:UniswapV2Adapter", + "label": "swapGasEstimate", + "offset": 0, + "slot": "1", + "type": "t_uint256" + }, + { + "astId": 720, + "contract": "src/contracts/adapters/UniswapV2Adapter.sol:UniswapV2Adapter", + "label": "name", + "offset": 0, + "slot": "2", + "type": "t_string_storage" + } + ], + "types": { + "t_address": { + "encoding": "inplace", + "label": "address", + "numberOfBytes": "20" + }, + "t_bool": { + "encoding": "inplace", + "label": "bool", + "numberOfBytes": "1" + }, + "t_bytes32": { + "encoding": "inplace", + "label": "bytes32", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_bool)": { + "encoding": "mapping", + "key": "t_address", + "label": "mapping(address => bool)", + "numberOfBytes": "32", + "value": "t_bool" + }, + "t_mapping(t_bytes32,t_struct(RoleData)19_storage)": { + "encoding": "mapping", + "key": "t_bytes32", + "label": "mapping(bytes32 => struct AccessControl.RoleData)", + "numberOfBytes": "32", + "value": "t_struct(RoleData)19_storage" + }, + "t_string_storage": { + "encoding": "bytes", + "label": "string", + "numberOfBytes": "32" + }, + "t_struct(RoleData)19_storage": { + "encoding": "inplace", + "label": "struct AccessControl.RoleData", + "members": [ + { + "astId": 16, + "contract": "src/contracts/adapters/UniswapV2Adapter.sol:UniswapV2Adapter", + "label": "members", + "offset": 0, + "slot": "0", + "type": "t_mapping(t_address,t_bool)" + }, + { + "astId": 18, + "contract": "src/contracts/adapters/UniswapV2Adapter.sol:UniswapV2Adapter", + "label": "adminRole", + "offset": 0, + "slot": "1", + "type": "t_bytes32" + } + ], + "numberOfBytes": "64" + }, + "t_uint256": { + "encoding": "inplace", + "label": "uint256", + "numberOfBytes": "32" + } + } + }, + "factoryDeps": [ + "0x0004000000000002000100000000000200000000030100190000006003300270000005030430019700030000004103550002000000010355000005030030019d000100000000001f00000001012001900000003a0000c13d0000008001000039000000400010043f0000000001000031000000040210008c000000be0000413d0000000201000367000000000101043b000000e0011002700000050a0210009c000000c80000213d000005190210009c000000de0000a13d0000051a0210009c0000011e0000213d0000051e0210009c000001a30000613d0000051f0210009c000001c70000613d000005200110009c000002a00000c13d0000000001000416000000000110004c000002a00000c13d000000040100008a00000000011000310000050502000041000000000310004c000000000300001900000000030240190000050501100197000000000410004c000000000200a019000005050110009c00000000010300190000000001026019000000000110004c000002a00000c13d0000000101000039000000000101041a000000400200043d00000000001204350000050301000041000005030320009c0000000001024019000000400110021000000528011001c7000014080001042e000000c001000039000000400010043f0000000001000416000000000110004c000002a00000c13d00000000040000310000001f02400039000000200100008a000000000512016f000000400300043d0000000002350019000000000552004b00000000050000190000000105004039000005040620009c000000c20000213d0000000105500190000000c20000c13d000000400020043f0000001f0240018f000000020500036700000005064002720000005a0000613d000000000700001900000005087002100000000009830019000000000885034f000000000808043b00000000008904350000000107700039000000000867004b000000520000413d000000000720004c000000690000613d0000000506600210000000000565034f00000000066300190000000302200210000000000706043300000000072701cf000000000727022f000000000505043b0000010002200089000000000525022f00000000022501cf000000000272019f00000000002604350000050502000041000000800540008c000000000500001900000000050240190000050506400197000000000760004c000000000200a019000005050660009c000000000205c019000000000220004c000002a00000c13d0000000025030434000005040650009c000002a00000213d000000000643001900000000043500190000001f054000390000050507000041000000000865004b0000000008000019000000000807801900000505055001970000050509600197000000000a95004b0000000007008019000000000595013f000005050550009c00000000050800190000000005076019000000000550004c000002a00000c13d0000000005040433000005040750009c000000c20000213d0000003f07500039000000000717016f000000400100043d0000000007710019000000000817004b00000000080000190000000108004039000005040970009c000000c20000213d0000000108800190000000c20000c13d000000400070043f000000000051043500000020075000390000000008470019000000000668004b000002a00000213d000000000650004c000000aa0000613d000000000600001900000020066000390000000008160019000000000946001900000000090904330000000000980435000000000856004b0000009f0000413d000000000456004b000000aa0000a13d000000000417001900000000000404350000000002020433000005060420009c000002a00000213d0000006004300039000000000404043300000040033000390000000003030433140702b30000040f000000800100043d000000a00200043d0000014000000443000001600020044300000020020000390000018000200443000001a0001004430000010000200443000000020100003900000120001004430000050701000041000014080001042e000000000110004c000002a00000c13d0000000001000019000014080001042e000005080100004100000000001004350000004101000039000000040010043f000005090100004100001409000104300000050b0210009c000000f20000a13d0000050c0210009c0000013f0000213d000005100210009c000001e20000613d000005110210009c000001ee0000613d000005120110009c000002a00000c13d0000000001000416000000000110004c000002a00000c13d0000000001000031140704de0000040f140709af0000040f0000050301000041000000400200043d000005030320009c00000000010240190000004001100210000014080001042e000005210210009c0000015f0000a13d000005220210009c000001fa0000613d000005230210009c000002170000613d000005240110009c000002a00000c13d0000000001000416000000000110004c000002a00000c13d0000000001000031140704960000040f1407093d0000040f0000050301000041000000400200043d000005030320009c00000000010240190000004001100210000014080001042e000005130210009c000001840000a13d000005140210009c000002230000613d000005150210009c000002380000613d000005160110009c000002a00000c13d0000000001000416000000000110004c000002a00000c13d000000040100008a00000000011000310000050502000041000000000310004c000000000300001900000000030240190000050501100197000000000410004c000000000200a019000005050110009c00000000010300190000000001026019000000000110004c000002a00000c13d000000400100043d000100000001001d0000052901000041000000000010043900000000010004120000000400100443000000240000044300008005010000390000004402000039140702a20000040f0000050601100197000000010300002900000000001304350000050301000041000005030230009c0000000001034019000000400110021000000528011001c7000014080001042e0000051b0210009c000002510000613d0000051c0210009c0000025d0000613d0000051d0110009c000002a00000c13d0000000001000416000000000110004c000002a00000c13d000000040100008a00000000011000310000050502000041000000200310008c000000000300001900000000030240190000050501100197000000000410004c000000000200a019000005050110009c00000000010300190000000001026019000000000110004c000002a00000c13d00000004010000390000000201100367000000000101043b14070e9b0000040f0000050301000041000000400200043d000005030320009c00000000010240190000004001100210000014080001042e0000050d0210009c000002690000613d0000050e0210009c000002770000613d0000050f0110009c000002a00000c13d0000000001000416000000000110004c000002a00000c13d000000040100008a00000000011000310000050502000041000000000310004c000000000300001900000000030240190000050501100197000000000410004c000000000200a019000005050110009c00000000010300190000000001026019000000000110004c000002a00000c13d000000400100043d000005270200004100000000002104350000050302000041000005030310009c0000000001028019000000400110021000000528011001c7000014080001042e000005250210009c000002830000613d000005260110009c000002a00000c13d0000000001000416000000000110004c000002a00000c13d000000040100008a00000000011000310000050502000041000000000310004c000000000300001900000000030240190000050501100197000000000410004c000000000200a019000005050110009c00000000010300190000000001026019000000000110004c000002a00000c13d140713980000040f0000000002010019000000400100043d000100000001001d140705100000040f000000010400002900000000014100490000050302000041000005030310009c0000000001028019000005030340009c000000000204401900000040022002100000006001100210000000000121019f000014080001042e000005170210009c000002940000613d000005180110009c000002a00000c13d0000000001000416000000000110004c000002a00000c13d000000040100008a00000000011000310000050502000041000000200310008c000000000300001900000000030240190000050501100197000000000410004c000000000200a019000005050110009c00000000010300190000000001026019000000000110004c000002a00000c13d00000004010000390000000201100367000000000101043b140708cb0000040f0000050301000041000000400200043d000005030320009c00000000010240190000004001100210000014080001042e0000000001000416000000000110004c000002a00000c13d000000040100008a00000000011000310000050502000041000000000310004c000000000300001900000000030240190000050501100197000000000410004c000000000200a019000005050110009c00000000010300190000000001026019000000000110004c000002a00000c13d000000400100043d000100000001001d00000529010000410000000000100439000000000100041200000004001004430000002001000039000000240010044300008005010000390000004402000039140702a20000040f000000010300002900000000001304350000050301000041000005030230009c0000000001034019000000400110021000000528011001c7000014080001042e0000000001000416000000000110004c000002a00000c13d000000040100008a00000000011000310000050502000041000000200310008c000000000300001900000000030240190000050501100197000000000410004c000000000200a019000005050110009c00000000010300190000000001026019000000000110004c000002a00000c13d00000004010000390000000201100367000000000101043b140710db0000040f0000050301000041000000400200043d000005030320009c00000000010240190000004001100210000014080001042e0000000001000416000000000110004c000002a00000c13d0000000001000031140704960000040f1407129c0000040f0000050301000041000000400200043d000005030320009c00000000010240190000004001100210000014080001042e0000000001000416000000000110004c000002a00000c13d0000000001000031140704510000040f140707cf0000040f0000050301000041000000400200043d000005030320009c00000000010240190000004001100210000014080001042e0000000001000416000000000110004c000002a00000c13d000000040100008a00000000011000310000050502000041000000200310008c000000000300001900000000030240190000050501100197000000000410004c000000000200a019000005050110009c00000000010300190000000001026019000000000110004c000002a00000c13d00000004010000390000000201100367000000000101043b140707bd0000040f000000400200043d00000000001204350000050301000041000005030320009c0000000001024019000000400110021000000528011001c7000014080001042e0000000001000416000000000110004c000002a00000c13d0000000001000031140704960000040f1407119f0000040f0000050301000041000000400200043d000005030320009c00000000010240190000004001100210000014080001042e0000000001000416000000000110004c000002a00000c13d0000000001000031140704960000040f000100000002001d14070e8b0000040f000000010200002914070e7a0000040f000000000101041a000000ff011001900000000001000019000000010100c039000000400200043d00000000001204350000050301000041000005030320009c0000000001024019000000400110021000000528011001c7000014080001042e0000000001000416000000000110004c000002a00000c13d000000040100008a00000000011000310000050502000041000000000310004c000000000300001900000000030240190000050501100197000000000410004c000000000200a019000005050110009c00000000010300190000000001026019000000000110004c000002a00000c13d000000400100043d00000000000104350000050302000041000005030310009c0000000001028019000000400110021000000528011001c7000014080001042e0000000001000416000000000110004c000002a00000c13d0000000001000031140704510000040f140706c00000040f0000050301000041000000400200043d000005030320009c00000000010240190000004001100210000014080001042e0000000001000416000000000110004c000002a00000c13d0000000001000031140704660000040f14070eff0000040f0000050301000041000000400200043d000005030320009c00000000010240190000004001100210000014080001042e0000000001000416000000000110004c000002a00000c13d0000000001000031140704c30000040f1407053b0000040f000000400200043d00000000001204350000050301000041000005030320009c0000000001024019000000400110021000000528011001c7000014080001042e0000000001000416000000000110004c000002a00000c13d0000000001000031140704510000040f14070d2e0000040f0000050301000041000000400200043d000005030320009c00000000010240190000004001100210000014080001042e0000000001000416000000000110004c000002a00000c13d0000000001000031140704ad0000040f0000052a011001970000052b0210009c000000000200001900000001020060390000052c0110009c00000000010000190000000101006039000000000121019f000000010110018f000000800010043f0000052d01000041000014080001042e0000000001000416000000000110004c000002a00000c13d00000000010000311407047f0000040f14070fd80000040f0000050301000041000000400200043d000005030320009c00000000010240190000004001100210000014080001042e00000000010000190000140900010430000000000301001900000503010000410000000004000414000005030540009c0000000001044019000000c001100210000000600220021000000000011200190000052e011000410000000002030019140714020000040f0000000102200190000002b10000613d000000000101043b000000000001042d000000000100001900001409000104300009000000000002000700000004001d000600000003001d000500000002001d000800000001001d0000000000000435000000200000043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000004040000613d000000000101043b0000000002000411000400000002001d0000050602200197000900000002001d0000000000200435000000200010043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000004040000613d000000000101043b000000000101041a000000ff011001900000030d0000c13d0000000000000435000000200000043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000004040000613d000000000101043b00000009020000290000000000200435000000200010043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000004040000613d000000000101043b000000000201041a000001000300008a000000000232016f00000001022001bf000000000021041b000000400100043d00000503020000410000000003000414000005030430009c0000000003028019000005030410009c00000000010280190000004001100210000000c002300210000000000112019f00000530011001c70000800d0200003900000004030000390000053104000041000000000500001900000004060000290000000007060019140713fd0000040f0000000101200190000004040000613d00000527010000410000000000100435000000200000043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000004040000613d000000000101043b00000009020000290000000000200435000000200010043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000004040000613d000000000101043b000000000101041a000000ff01100190000003610000c13d00000527010000410000000000100435000000200000043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000004040000613d000000000101043b00000009020000290000000000200435000000200010043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000004040000613d000000000101043b000000000201041a000001000300008a000000000232016f00000001022001bf000000000021041b000000400100043d00000503020000410000000003000414000005030430009c0000000003028019000005030410009c00000000010280190000004001100210000000c002300210000000000112019f00000530011001c70000800d0200003900000004030000390000053104000041000005270500004100000004060000290000000007060019140713fd0000040f0000000101200190000004040000613d00000008060000290000000058060434000000000180004c000004060000613d000005320180009c000004180000813d0000000207000039000000000107041a000000010210019000000001011002700000007f0310018f000000000401001900000000040360190000001f0140008c00000000010000190000000101002039000000010110018f000000000112004b0000041e0000c13d000000000184019f000000200110008c00000000010000190000038d0000413d000100000004001d000200000005001d000300000008001d000400000007001d000000000070043500000503010000410000000002000414000005030320009c0000000001024019000000c00110021000000533011001c70000801002000039140714020000040f0000000102200190000004040000613d000000000101043b00000008060000290000000407000029000000030800002900000002050000290000000104000029000000200240008c0000039e0000413d0000001f028000390000000502200270000000200380008c000000000302001900000000030040190000001f02400039000000050220027000000000022100190000000003310019000000000423004b0000039e0000813d000000000003041b0000000103300039000000000423004b0000039a0000413d0000001f0280008c000003bc0000a13d000000200200008a00000000032801700000002002000039000003ae0000613d0000002002000039000000000400001900000000056200190000000005050433000000000051041b000000200220003900000001011000390000002004400039000000000534004b000003a60000413d000000000383004b000003b90000813d0000000303800210000000f80330018f000000010400008a000000000334022f000000000343013f00000000026200190000000002020433000000000232016f000000000021041b00000001010000390000000102800210000003c30000013d0000000301800210000000010200008a000000000112022f000000000121013f0000000002050433000000000212016f0000000101800210000000000112019f000000000017041b00000527010000410000000000100435000000200000043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000004040000613d000000000101043b00000009020000290000000000200435000000200010043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000004040000613d000000000101043b000000000101041a000000ff01100190000004240000613d0000000702000029000000000120004c000004390000613d0000000101000039000000000021041b000000400100043d000000000021043500000503020000410000000003000414000005030430009c0000000003028019000005030410009c00000000010280190000004001100210000000c002300210000000000112019f00000533011001c70000800d02000039000000020300003900000534040000410000000005000410140713fd0000040f0000000101200190000004040000613d0000000602000029000003e90120008c0000044b0000813d000003e801200089000000800010043f0000000501000029000000a00010043f000000000001042d00000000010000190000140900010430000000400100043d00000044021000390000053b030000410000000000320435000000240210003900000014030000390000000000320435000005360200004100000000002104350000000402100039000000200300003900000000003204350000050302000041000005030310009c0000000001028019000000400110021000000537011001c70000140900010430000005080100004100000000001004350000004101000039000000040010043f00000509010000410000140900010430000005080100004100000000001004350000002201000039000000040010043f00000509010000410000140900010430000000400100043d000000640210003900000538030000410000000000320435000000440210003900000539030000410000000000320435000000240210003900000028030000390000000000320435000005360200004100000000002104350000000402100039000000200300003900000000003204350000050302000041000005030310009c000000000102801900000040011002100000053a011001c70000140900010430000000400100043d000000440210003900000535030000410000000000320435000000240210003900000014030000390000000000320435000005360200004100000000002104350000000402100039000000200300003900000000003204350000050302000041000005030310009c0000000001028019000000400110021000000537011001c70000140900010430000005080100004100000000001004350000001101000039000000040010043f00000509010000410000140900010430000000040110008a00000505020000410000001f0310008c000000000300001900000000030220190000050501100197000000000410004c0000000002008019000005050110009c00000000010300190000000001026019000000000110004c000004640000613d00000004010000390000000201100367000000000101043b000005060210009c000004640000213d000000000001042d00000000010000190000140900010430000000040110008a00000505020000410000003f0310008c000000000300001900000000030220190000050501100197000000000410004c0000000002008019000005050110009c00000000010300190000000001026019000000000110004c0000047d0000613d00000002020003670000000401200370000000000101043b000005060310009c0000047d0000213d0000002402200370000000000202043b000005060320009c0000047d0000213d000000000001042d00000000010000190000140900010430000000040110008a00000505020000410000003f0310008c000000000300001900000000030220190000050501100197000000000410004c0000000002008019000005050110009c00000000010300190000000001026019000000000110004c000004940000613d00000002020003670000000401200370000000000101043b000005060310009c000004940000213d0000002402200370000000000202043b000000000001042d00000000010000190000140900010430000000040110008a00000505020000410000003f0310008c000000000300001900000000030220190000050501100197000000000410004c0000000002008019000005050110009c00000000010300190000000001026019000000000110004c000004ab0000613d00000002010003670000002402100370000000000202043b000005060320009c000004ab0000213d0000000401100370000000000101043b000000000001042d00000000010000190000140900010430000000040110008a00000505020000410000001f0310008c000000000300001900000000030220190000050501100197000000000410004c0000000002008019000005050110009c00000000010300190000000001026019000000000110004c000004c10000613d00000004010000390000000201100367000000000101043b0000052a02100197000000000221004b000004c10000c13d000000000001042d00000000010000190000140900010430000000040110008a00000505020000410000005f0310008c000000000300001900000000030220190000050501100197000000000410004c0000000002008019000005050110009c00000000010300190000000001026019000000000110004c000004dc0000613d00000002030003670000000401300370000000000101043b0000002402300370000000000202043b000005060420009c000004dc0000213d0000004403300370000000000303043b000005060430009c000004dc0000213d000000000001042d00000000010000190000140900010430000000040110008a00000505020000410000009f0310008c000000000300001900000000030220190000050501100197000000000410004c0000000002008019000005050110009c00000000010300190000000001026019000000000110004c000004fd0000613d00000002050003670000002401500370000000000201043b0000000401500370000000000101043b0000004403500370000000000303043b000005060430009c000004fd0000213d0000006404500370000000000404043b000005060640009c000004fd0000213d0000008405500370000000000505043b000005060650009c000004fd0000213d000000000001042d0000000001000019000014090001043000000000030100190000000004030433000000000140004c00000000012400190000050f0000613d000000000500001900000000062500190000002005500039000000000735001900000000070704330000000000760435000000000645004b000005050000413d000000000245004b0000050f0000a13d0000000000010435000000000001042d00000020030000390000000004310436000000000302043300000000003404350000004001100039000000000430004c000005230000613d000000000400001900000000051400190000002004400039000000000624001900000000060604330000000000650435000000000534004b000005180000413d000000000234004b000005230000a13d000000000213001900000000000204350000001f02300039000000200300008a000000000232016f0000000001120019000000000001042d0000001f02200039000000200300008a000000000232016f0000000001120019000000000221004b00000000020000190000000102004039000005040310009c000005350000213d0000000102200190000005350000c13d000000400010043f000000000001042d000005080100004100000000001004350000004101000039000000040010043f0000050901000041000014090001043000070000000000020000000004010019000005060220019700000506033001970000000001000019000700000002001d000600000003001d000000000232004b0000066d0000613d000000000240004c0000066d0000613d000300000004001d000005290100004100000000001004390000000001000412000400000001001d0000000400100443000000240000044300000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000053c011001c70000800502000039140714020000040f00000001022001900000066e0000613d000000000101043b0000053d0200004100000000002004390000050601100197000500000001001d000000040010044300000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000053e011001c70000800202000039140714020000040f00000001022001900000066e0000613d000000000101043b000000000110004c0000066e0000613d000000400900043d0000053f01000041000000000019043500000024029000390000000001000414000000060300002900000000003204350000000402900039000000070300002900000000003204350000000502000029000000040320008c000005790000c13d0000000103000031000005ab0000013d0000050304000041000005030310009c0000000001048019000005030390009c000000000304001900000000030940190000004003300210000000c001100210000000000131019f00000540011001c7000500000009001d140714020000040f0000000509000029000000000301001900000060033002700000050303300197000000200430008c000000200500003900000000050340190000001f0450018f0000000505500272000005980000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b000005900000413d000000000640004c000005a70000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f000300000001035500000001022001900000067c0000613d0000001f01300039000000200200008a000500000002001d000000000221016f0000000001920019000000000221004b00000000020000190000000102004039000005040310009c000006700000213d0000000102200190000006700000c13d000000400010043f00000505010000410000000102000031000000200320008c000000000300001900000000030140190000050502200197000000000420004c000000000100a019000005050220009c000000000103c019000000000110004c0000066e0000c13d0000000004090433000005060140009c0000066e0000213d000000000140004c00000000010000190000066d0000613d0000053d010000410000000000100439000000040040044300000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000053e011001c70000800202000039000200000004001d140714020000040f000000020400002900000001022001900000066e0000613d000000000101043b000000000110004c0000066e0000613d000000400900043d000005410100004100000000051904360000000001000414000000040240008c000005e40000c13d0000000103000031000006180000013d000100000005001d0000050302000041000005030310009c0000000001028019000005030390009c00000000020940190000004002200210000000c001100210000000000121019f00000542011001c70000000002040019000200000009001d140714020000040f0000000209000029000000000301001900000060033002700000050303300197000000600430008c000000600500003900000000050340190000001f0450018f0000000505500272000006040000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b000005fc0000413d000000000640004c000006130000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f0003000000010355000000010220019000000001050000290000069b0000613d0000001f013000390000000502000029000000000221016f0000000001920019000000000221004b00000000020000190000000102004039000005040310009c000006700000213d0000000102200190000006700000c13d000000400010043f00000505010000410000000102000031000000600320008c000000000300001900000000030140190000050502200197000000000420004c000000000100a019000005050220009c000000000103c019000000000110004c0000066e0000c13d0000000001090433000005430210009c0000066e0000213d0000000002050433000005430320009c0000066e0000213d00000040039000390000000003030433000005030330009c0000066e0000213d00000007030000290000000604000029000000000343004b000000000301001900000000030240190000000002014019000000000120004c00000000010000190000066d0000613d000000000130004c00000000010000190000066d0000613d000600000002001d000700000003001d00000529010000410000000000100439000000040100002900000004001004430000002001000039000000240010044300000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000053c011001c70000800502000039140714020000040f00000001022001900000066e0000613d000000010200008a000000030500002900000000435200d9000000000101043b000000000313004b0000000706000029000006760000413d00000000315100aa000006640000613d00000000431200d9000000000363004b000006760000413d000000000321013f0000000602000029000003e8422000c9000000000332004b000006760000213d000000000221001a000006ba0000613d00000000316100a900000000212100d9000000000001042d00000000010000190000140900010430000005080100004100000000001004350000004101000039000000040010043f00000509010000410000140900010430000005080100004100000000001004350000001101000039000000040010043f000005090100004100001409000104300000001f0430018f0000000502300272000006870000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b000006800000413d000000000340004c000006950000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000503010000410000000102000031000005030320009c0000000001024019000000600110021000001409000104300000001f0430018f0000000502300272000006a60000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b0000069f0000413d000000000340004c000006b40000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000503010000410000000102000031000005030320009c000000000102401900000060011002100000140900010430000005080100004100000000001004350000001201000039000000040010043f000005090100004100001409000104300003000000000002000300000001001d00000527010000410000000000100435000000200000043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f00000001022001900000074a0000613d000000000101043b0000000101100039000000000101041a000100000001001d0000000000100435000000200000043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f00000001022001900000074a0000613d000000000101043b0000000002000411000200000002001d00000506022001970000000000200435000000200010043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f00000001022001900000074a0000613d000000000101043b000000000101041a000000ff011001900000074c0000613d00000527010000410000000000100435000000200000043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f00000001022001900000074a0000613d000000000101043b00000003020000290000050602200197000100000002001d0000000000200435000000200010043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f00000001022001900000074a0000613d000000000101043b000000000101041a000000ff01100190000007490000c13d00000527010000410000000000100435000000200000043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f00000001022001900000074a0000613d000000000101043b00000001020000290000000000200435000000200010043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f00000001022001900000074a0000613d000000000101043b000000000201041a000001000300008a000000000232016f00000001022001bf000000000021041b000000400100043d00000503020000410000000003000414000005030430009c0000000003028019000005030410009c00000000010280190000004001100210000000c002300210000000000112019f00000530011001c70000800d0200003900000004030000390000053104000041000005270500004100000003060000290000000207000029140713fd0000040f00000001012001900000074a0000613d000000000001042d00000000010000190000140900010430000000400100043d0000000007010019000005440110009c000007560000413d000005080100004100000000001004350000004101000039000000040010043f0000050901000041000014090001043000000000020700190000006001200039000000400010043f0000002a01000039000000000112043600000000020000310000000202200367000000000300001900000005043002100000000005410019000000000442034f000000000404043b00000000004504350000000103300039000000020430008c0000075e0000413d0000000002070433000000000220004c000007700000613d0000000002010433000005450220019700000546022001c700000000002104350000000002070433000000020220008c000007760000813d000005080100004100000000001004350000003201000039000000040010043f0000050901000041000014090001043000000021027000390000000003020433000005450330019700000547033001c700000000003204350000002902000039000000020500002900000000030500190000000004070433000000000424004b000007700000a13d0000000f0430018f0000000304400210000000f80440015f0000054805000041000000000445022f000000000512001900000000060504330000054506600197000000f804400210000000000446019f00000000004504350000000405300270000000010220008a000000010420008c0000077d0000213d000000100130008c00000000010000190000000101004039000200000007001d140713e90000040f000000010100002914070cd80000040f000000400400043d000300000004001d000000200240003900000549030000410000000000320435000100000001001d00000037024000390000000201000029140704ff0000040f0000054a02000041000000000021043500000011021000390000000101000029140704ff0000040f00000003030000290000000002310049000000200120008a00000000001304350000000001030019140705280000040f0000053601000041000000400200043d000200000002001d000000000012043500000004012000390000000302000029140705100000040f000000020400002900000000014100490000050302000041000005030310009c0000000001028019000005030340009c000000000204401900000040022002100000006001100210000000000121019f00001409000104300000000000100435000000200000043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000007cd0000613d000000000101043b0000000101100039000000000101041a000000000001042d000000000100001900001409000104300003000000000002000300000001001d00000527010000410000000000100435000000200000043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000008580000613d000000000101043b0000000101100039000000000101041a000100000001001d0000000000100435000000200000043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000008580000613d000000000101043b0000000002000411000200000002001d00000506022001970000000000200435000000200010043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000008580000613d000000000101043b000000000101041a000000ff011001900000085a0000613d00000527010000410000000000100435000000200000043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000008580000613d000000000101043b00000003020000290000050602200197000100000002001d0000000000200435000000200010043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000008580000613d000000000101043b000000000101041a000000ff01100190000008570000613d00000527010000410000000000100435000000200000043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000008580000613d000000000101043b00000001020000290000000000200435000000200010043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000008580000613d000000000101043b000000000201041a000001000300008a000000000232016f000000000021041b000000400100043d00000503020000410000000003000414000005030430009c0000000003028019000005030410009c00000000010280190000004001100210000000c002300210000000000112019f00000530011001c70000800d0200003900000004030000390000054b04000041000005270500004100000003060000290000000207000029140713fd0000040f0000000101200190000008580000613d000000000001042d00000000010000190000140900010430000000400100043d0000000007010019000005440110009c000008640000413d000005080100004100000000001004350000004101000039000000040010043f0000050901000041000014090001043000000000020700190000006001200039000000400010043f0000002a01000039000000000112043600000000020000310000000202200367000000000300001900000005043002100000000005410019000000000442034f000000000404043b00000000004504350000000103300039000000020430008c0000086c0000413d0000000002070433000000000220004c0000087e0000613d0000000002010433000005450220019700000546022001c700000000002104350000000002070433000000020220008c000008840000813d000005080100004100000000001004350000003201000039000000040010043f0000050901000041000014090001043000000021027000390000000003020433000005450330019700000547033001c700000000003204350000002902000039000000020500002900000000030500190000000004070433000000000424004b0000087e0000a13d0000000f0430018f0000000304400210000000f80440015f0000054805000041000000000445022f000000000512001900000000060504330000054506600197000000f804400210000000000446019f00000000004504350000000405300270000000010220008a000000010420008c0000088b0000213d000000100130008c00000000010000190000000101004039000200000007001d140713e90000040f000000010100002914070cd80000040f000000400400043d000300000004001d000000200240003900000549030000410000000000320435000100000001001d00000037024000390000000201000029140704ff0000040f0000054a02000041000000000021043500000011021000390000000101000029140704ff0000040f00000003030000290000000002310049000000200120008a00000000001304350000000001030019140705280000040f0000053601000041000000400200043d000200000002001d000000000012043500000004012000390000000302000029140705100000040f000000020400002900000000014100490000050302000041000005030310009c0000000001028019000005030340009c000000000204401900000040022002100000006001100210000000000121019f0000140900010430000300000000000200000000030004110000050602300197000300000002001d000100000003001d0000054c0230009c000009280000813d000200000001001d0000000000100435000000200000043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000009260000613d000000000101043b00000003020000290000000000200435000000200010043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000009260000613d000000000101043b000000000101041a000000ff01100190000009250000613d00000002010000290000000000100435000000200000043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000009260000613d000000000101043b00000003020000290000000000200435000000200010043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000009260000613d000000000101043b000000000201041a000001000300008a000000000232016f000000000021041b000000400100043d00000503020000410000000003000414000005030430009c0000000003028019000005030410009c00000000010280190000004001100210000000c002300210000000000112019f00000530011001c70000800d0200003900000004030000390000054b04000041000000020500002900000001060000290000000307000029140713fd0000040f0000000101200190000009260000613d000000000001042d00000000010000190000140900010430000000400100043d00000064021000390000054d03000041000000000032043500000044021000390000054e03000041000000000032043500000024021000390000002f030000390000000000320435000005360200004100000000002104350000000402100039000000200300003900000000003204350000050302000041000005030310009c000000000102801900000040011002100000053a011001c700001409000104300003000000000002000100000002001d00000506022001970000000003000411000300000002001d000000000232004b0000099a0000c13d000200000001001d0000000000100435000000200000043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000009980000613d000000000101043b00000003020000290000000000200435000000200010043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000009980000613d000000000101043b000000000101041a000000ff01100190000009970000613d00000002010000290000000000100435000000200000043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000009980000613d000000000101043b00000003020000290000000000200435000000200010043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000009980000613d000000000101043b000000000201041a000001000300008a000000000232016f000000000021041b000000400100043d00000503020000410000000003000414000005030430009c0000000003028019000005030410009c00000000010280190000004001100210000000c002300210000000000112019f00000530011001c70000800d0200003900000004030000390000054b04000041000000020500002900000001060000290000000307000029140713fd0000040f0000000101200190000009980000613d000000000001042d00000000010000190000140900010430000000400100043d00000064021000390000054d03000041000000000032043500000044021000390000054e03000041000000000032043500000024021000390000002f030000390000000000320435000005360200004100000000002104350000000402100039000000200300003900000000003204350000050302000041000005030310009c000000000102801900000040011002100000053a011001c70000140900010430000c000000000002000b00000005001d000a00000003001d000900000002001d000800000001001d0000053d010000410000000000100439000500000004001d0000050601400197000c00000001001d000000040010044300000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000053e011001c70000800202000039140714020000040f000000010220019000000c170000613d000000000101043b000000000110004c00000c170000613d000000400900043d0000054f0100004100000000001904350000000b01000029000005060310019700000004029000390000000001000414000700000003001d00000000003204350000000c02000029000000040320008c000009d50000c13d000000010300003100000a070000013d0000050304000041000005030310009c0000000001048019000005030390009c000000000304001900000000030940190000004003300210000000c001100210000000000131019f00000509011001c7000b00000009001d140714020000040f0000000b09000029000000000301001900000060033002700000050303300197000000200430008c000000200500003900000000050340190000001f0450018f0000000505500272000009f40000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b000009ec0000413d000000000640004c00000a030000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f0003000000010355000000010220019000000c5c0000613d0000001f01300039000000200200008a000b00000002001d000000000221016f0000000001920019000000000221004b00000000020000190000000102004039000005040310009c00000c190000213d000000010220019000000c190000c13d000000400010043f00000505010000410000000102000031000000200320008c000000000300001900000000030140190000050502200197000000000420004c000000000100a019000005050220009c000000000103c019000000000110004c00000c170000c13d0000000001090433000200000001001d0000052901000041000000000010043900000000010004120000000400100443000000240000044300000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000053c011001c70000800502000039140714020000040f000000010220019000000c170000613d000000000101043b0000053d0200004100000000002004390000050601100197000600000001001d000000040010044300000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000053e011001c70000800202000039140714020000040f000000010220019000000c170000613d000000000101043b000000000110004c00000c170000613d000000400900043d0000053f010000410000000000190435000000240290003900000000010004140000000c0300002900000000003204350000000a020000290000050606200197000000040290003900000000006204350000000602000029000000040320008c00000a540000c13d000000010300003100000a880000013d000400000006001d0000050304000041000005030310009c0000000001048019000005030390009c000000000304001900000000030940190000004003300210000000c001100210000000000131019f00000540011001c7000600000009001d140714020000040f0000000609000029000000000301001900000060033002700000050303300197000000200430008c000000200500003900000000050340190000001f0450018f000000050550027200000a740000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b00000a6c0000413d000000000640004c00000a830000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f00030000000103550000000102200190000000040600002900000c7b0000613d0000001f013000390000000b02000029000000000221016f0000000001920019000000000221004b00000000020000190000000102004039000005040310009c00000c190000213d000000010220019000000c190000c13d000000400010043f00000505020000410000000103000031000000200430008c000000000400001900000000040240190000050503300197000000000530004c000000000200a019000005050330009c000000000204c019000000000220004c00000c170000c13d000000000a0904330000050602a0009c00000c170000213d00000044021000390000000803000029000000000032043500000020021000390000055003000041000000000032043500000024031000390000000000a304350000000c03000029000000000336004b000000090300002900000000040000190000000004034019000300000004001d0000000003004019000400000003001d00000044030000390000000000310435000005510310009c00000c190000213d0000008003100039000000400030043f0000000003000414000000040460008c00060000000a001d00000ac00000c13d0000000103000031000000000200001900000ad60000013d0000050304000041000005030520009c000000000204801900000040022002100000000001010433000005030510009c00000000010480190000006001100210000000000121019f000005030230009c00000000020400190000000002034019000000c002200210000000000121019f0000000002060019140713fd0000040f000000060a000029000000010220015f00030000000103550000006001100270000105030010019d00000503031001970000006001000039000000000430004c00000b040000613d0000003f013000390000000b04000029000000000441016f000000400100043d0000000004410019000000000514004b00000000050000190000000105004039000005040640009c00000c190000213d000000010550019000000c190000c13d000000400040043f0000000003310436000000030400036700000001060000310000001f0560018f000000050660027200000af50000613d000000000700001900000005087002100000000009830019000000000884034f000000000808043b00000000008904350000000107700039000000000867004b00000aed0000413d000000000750004c00000b040000613d0000000506600210000000000464034f00000000036300190000000305500210000000000603043300000000065601cf000000000656022f000000000404043b0000010005500089000000000454022f00000000045401cf000000000464019f0000000000430435000000010220019000000c1f0000c13d0000000012010434000000000320004c00000b1d0000613d0000050503000041000000200420008c000000000400001900000000040340190000050502200197000000000520004c000000000300a019000005050220009c00000000020400190000000002036019000000000220004c00000c170000c13d0000000001010433000000000210004c0000000002000019000000010200c039000000000221004b00000c170000c13d000000000110004c00000c470000613d000000400200043d000005540120009c00000c190000213d0000002001200039000000400010043f000100000002001d00000000000204350000053d0100004100000000001004390000000400a0044300000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000053e011001c70000800202000039140714020000040f0000000607000029000000010220019000000c170000613d000000000101043b000000000110004c00000c170000613d000000400800043d0000055501000041000000000018043500000064028000390000000001000414000000800300003900000000003204350000004402800039000000070300002900000000003204350000002402800039000000030300002900000000003204350000000402800039000000040300002900000000003204350000000109000029000000000209043300000084038000390000000000230435000000000320004c00000b580000613d000000a403800039000000000400001900000000053400190000002004400039000000000694001900000000060604330000000000650435000000000524004b00000b4d0000413d000000000424004b00000b580000a13d00000000033200190000000000030435000000040370008c00000b5d0000c13d00000001040000310000000b0300002900000b7a0000013d0000001f022000390000000b03000029000000000232016f0000050303000041000005030480009c000000000403001900000000040840190000004004400210000000a402200039000005030520009c00000000020380190000006002200210000000000242019f000005030410009c0000000001038019000000c001100210000000000112019f0000000002070019000600000008001d140713fd0000040f000000060800002900000000030100190000006003300270000105030030019d00000503043001970000000b030000290003000000010355000000010220019000000c9a0000613d0000001f01400039000000000231016f0000000001820019000000000221004b00000000020000190000000102004039000005040310009c00000c190000213d000000010220019000000c190000c13d000000400010043f00000505010000410000000102000031000000000320004c000000000300001900000000030140190000050502200197000000000420004c000000000100a019000005050220009c000000000103c019000000000110004c00000c170000c13d0000053d0100004100000000001004390000000c01000029000000040010044300000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000053e011001c70000800202000039140714020000040f000000010220019000000c170000613d000000000101043b000000000110004c00000c170000613d000000400900043d0000054f01000041000000000019043500000004029000390000000001000414000000070300002900000000003204350000000c02000029000000040320008c00000bae0000c13d000000010300003100000be00000013d0000050304000041000005030310009c0000000001048019000005030390009c000000000304001900000000030940190000004003300210000000c001100210000000000131019f00000509011001c7000c00000009001d140714020000040f0000000c09000029000000000301001900000060033002700000050303300197000000200430008c000000200500003900000000050340190000001f0450018f000000050550027200000bcd0000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b00000bc50000413d000000000640004c00000bdc0000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f0003000000010355000000010220019000000cb90000613d0000001f013000390000000b02000029000000000221016f0000000001920019000000000221004b00000000020000190000000102004039000005040310009c00000c190000213d000000010220019000000c190000c13d000000400010043f00000505020000410000000103000031000000200430008c000000000400001900000000040240190000050503300197000000000530004c000000000200a019000005050330009c000000000204c019000000000220004c00000c170000c13d00000000020904330000000204000029000000000342004b00000c300000413d00000000024200490000000903000029000000000232004b00000c360000413d000000200210003900000000003204350000000802000029000000000021043500000503020000410000000003000414000005030430009c0000000003028019000005030410009c00000000010280190000004001100210000000c002300210000000000112019f0000052f011001c70000800d02000039000000030300003900000556040000410000000a050000290000000506000029140713fd0000040f000000010120019000000c170000613d000000000001042d00000000010000190000140900010430000005080100004100000000001004350000004101000039000000040010043f00000509010000410000140900010430000000400100043d00000044021000390000055803000041000000000032043500000536020000410000000000210435000000240210003900000020030000390000000000320435000000040210003900000000003204350000050302000041000005030310009c0000000001028019000000400110021000000537011001c70000140900010430000005080100004100000000001004350000001101000039000000040010043f00000509010000410000140900010430000000440210003900000557030000410000000000320435000000240210003900000017030000390000000000320435000005360200004100000000002104350000000402100039000000200300003900000000003204350000050302000041000005030310009c0000000001028019000000400110021000000537011001c70000140900010430000000400100043d00000064021000390000055203000041000000000032043500000044021000390000055303000041000000000032043500000024021000390000002a030000390000000000320435000005360200004100000000002104350000000402100039000000200300003900000000003204350000050302000041000005030310009c000000000102801900000040011002100000053a011001c700001409000104300000001f0430018f000000050230027200000c670000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b00000c600000413d000000000340004c00000c750000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000503010000410000000102000031000005030320009c0000000001024019000000600110021000001409000104300000001f0430018f000000050230027200000c860000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b00000c7f0000413d000000000340004c00000c940000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000503010000410000000102000031000005030320009c0000000001024019000000600110021000001409000104300000001f0340018f000000050240027200000ca50000613d00000000040000190000000505400210000000000651034f000000000606043b00000000006504350000000104400039000000000524004b00000c9e0000413d000000000430004c00000cb30000613d00000003033002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000503010000410000000102000031000005030320009c0000000001024019000000600110021000001409000104300000001f0430018f000000050230027200000cc40000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b00000cbd0000413d000000000340004c00000cd20000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000503010000410000000102000031000005030320009c0000000001024019000000600110021000001409000104300000000002010019000000400100043d000005590310009c00000d170000813d0000008003100039000000400030043f0000004203000039000000000331043600000000040000310000000204400367000000000500001900000005065002100000000007630019000000000664034f000000000606043b00000000006704350000000105500039000000030650008c00000ce30000413d0000000004010433000000000440004c00000d110000613d0000000004030433000005450440019700000546044001c700000000004304350000000004010433000000020440008c00000d110000413d00000021041000390000000005040433000005450550019700000547055001c70000000000540435000000410400003900000000050200190000000002010433000000000242004b00000d110000a13d0000000f0250018f0000000302200210000000f80220015f0000054806000041000000000226022f000000000634001900000000070604330000054507700197000000f802200210000000000227019f00000000002604350000000402500270000000010440008a000000010640008c00000cfb0000213d000000100250008c00000d1d0000813d000000000001042d000005080100004100000000001004350000003201000039000000040010043f00000509010000410000140900010430000005080100004100000000001004350000004101000039000000040010043f00000509010000410000140900010430000000400100043d00000044021000390000055a03000041000000000032043500000536020000410000000000210435000000240210003900000020030000390000000000320435000000040210003900000000003204350000050302000041000005030310009c0000000001028019000000400110021000000537011001c700001409000104300004000000000002000300000001001d0000000000000435000000200000043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f000000010220019000000e070000613d000000000101043b0000000101100039000000000101041a000100000001001d0000000000100435000000200000043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f000000010220019000000e070000613d000000000101043b0000000002000411000200000002001d0000050602200197000400000002001d0000000000200435000000200010043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f000000010220019000000e070000613d000000000101043b000000000101041a000000ff0110019000000e090000613d0000000000000435000000200000043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f000000010220019000000e070000613d000000000101043b00000003020000290000050602200197000100000002001d0000000000200435000000200010043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f000000010220019000000e070000613d000000000101043b000000000101041a000000ff0110019000000db50000c13d0000000000000435000000200000043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f000000010220019000000e070000613d000000000101043b00000001020000290000000000200435000000200010043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f000000010220019000000e070000613d000000000101043b000000000201041a000001000300008a000000000232016f00000001022001bf000000000021041b000000400100043d00000503020000410000000003000414000005030430009c0000000003028019000005030410009c00000000010280190000004001100210000000c002300210000000000112019f00000530011001c70000800d0200003900000004030000390000053104000041000000000500001900000003060000290000000207000029140713fd0000040f000000010120019000000e070000613d0000000000000435000000200000043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f000000010220019000000e070000613d000000000101043b00000004020000290000000000200435000000200010043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f000000010220019000000e070000613d000000000101043b000000000101041a000000ff0110019000000e060000613d0000000000000435000000200000043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f000000010220019000000e070000613d000000000101043b00000004020000290000000000200435000000200010043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f000000010220019000000e070000613d000000000101043b000000000201041a000001000300008a000000000232016f000000000021041b000000400100043d00000503020000410000000003000414000005030430009c0000000003028019000005030410009c00000000010280190000004001100210000000c002300210000000000112019f00000530011001c70000800d0200003900000004030000390000054b04000041000000000500001900000002060000290000000007060019140713fd0000040f000000010120019000000e070000613d000000000001042d00000000010000190000140900010430000000400100043d0000000007010019000005440110009c00000e130000413d000005080100004100000000001004350000004101000039000000040010043f0000050901000041000014090001043000000000020700190000006001200039000000400010043f0000002a01000039000000000112043600000000020000310000000202200367000000000300001900000005043002100000000005410019000000000442034f000000000404043b00000000004504350000000103300039000000020430008c00000e1b0000413d0000000002070433000000000220004c00000e2d0000613d0000000002010433000005450220019700000546022001c700000000002104350000000002070433000000020220008c00000e330000813d000005080100004100000000001004350000003201000039000000040010043f0000050901000041000014090001043000000021027000390000000003020433000005450330019700000547033001c700000000003204350000002902000039000000020500002900000000030500190000000004070433000000000424004b00000e2d0000a13d0000000f0430018f0000000304400210000000f80440015f0000054805000041000000000445022f000000000512001900000000060504330000054506600197000000f804400210000000000446019f00000000004504350000000405300270000000010220008a000000010420008c00000e3a0000213d000000100130008c00000000010000190000000101004039000300000007001d140713e90000040f000000010100002914070cd80000040f000000400400043d000400000004001d000000200240003900000549030000410000000000320435000200000001001d00000037024000390000000301000029140704ff0000040f0000054a02000041000000000021043500000011021000390000000201000029140704ff0000040f00000004030000290000000002310049000000200120008a00000000001304350000000001030019140705280000040f0000053601000041000000400200043d000300000002001d000000000012043500000004012000390000000402000029140705100000040f000000030400002900000000014100490000050302000041000005030310009c0000000001028019000005030340009c000000000204401900000040022002100000006001100210000000000121019f000014090001043000000506022001970000000000200435000000200010043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f000000010220019000000e890000613d000000000101043b000000000001042d000000000100001900001409000104300000000000100435000000200000043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f000000010220019000000e990000613d000000000101043b000000000001042d000000000100001900001409000104300001000000000002000100000001001d00000527010000410000000000100435000000200000043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f000000010220019000000ed60000613d000000000101043b000000000200041100000506022001970000000000200435000000200010043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f000000010220019000000ed60000613d000000000101043b000000000101041a000000ff0110019000000ed80000613d0000000102000029000000000120004c00000eed0000613d0000000101000039000000000021041b000000400100043d000000000021043500000503020000410000000003000414000005030430009c0000000003028019000005030410009c00000000010280190000004001100210000000c002300210000000000112019f00000533011001c70000800d02000039000000020300003900000534040000410000000005000410140713fd0000040f000000010120019000000ed60000613d000000000001042d00000000010000190000140900010430000000400100043d000000640210003900000538030000410000000000320435000000440210003900000539030000410000000000320435000000240210003900000028030000390000000000320435000005360200004100000000002104350000000402100039000000200300003900000000003204350000050302000041000005030310009c000000000102801900000040011002100000053a011001c70000140900010430000000400100043d000000440210003900000535030000410000000000320435000000240210003900000014030000390000000000320435000005360200004100000000002104350000000402100039000000200300003900000000003204350000050302000041000005030310009c0000000001028019000000400110021000000537011001c700001409000104300002000000000002000200000002001d000100000001001d00000527010000410000000000100435000000200000043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f000000010220019000000f960000613d000000000101043b000000000200041100000506022001970000000000200435000000200010043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f000000010220019000000f960000613d000000400300043d000000000101043b000000000101041a000000ff0110019000000f9e0000613d00000020013000390000055b02000041000000000021043500000002020000290000050602200197000000240430003900000000002404350000004402000039000000000023043500000044023000390000000000020435000005590230009c00000f980000813d0000008002300039000000400020043f000000000400041400000001020000290000050602200197000000040520008c00000f3a0000c13d0000000103000031000000000200001900000f4e0000013d0000050305000041000005030610009c000000000105801900000040011002100000000003030433000005030630009c00000000030580190000006003300210000000000113019f000005030340009c00000000030500190000000003044019000000c003300210000000000131019f140713fd0000040f000000010220015f00030000000103550000006001100270000105030010019d00000503031001970000006001000039000000000430004c00000f7c0000613d0000003f01300039000000200400008a000000000441016f000000400100043d0000000004410019000000000514004b00000000050000190000000105004039000005040640009c00000f980000213d000000010550019000000f980000c13d000000400040043f0000000003310436000000030400036700000001060000310000001f0560018f000000050660027200000f6d0000613d000000000700001900000005087002100000000009830019000000000884034f000000000808043b00000000008904350000000107700039000000000867004b00000f650000413d000000000750004c00000f7c0000613d0000000506600210000000000464034f00000000036300190000000305500210000000000603043300000000065601cf000000000656022f000000000404043b0000010005500089000000000454022f00000000045401cf000000000464019f0000000000430435000000010220019000000fb20000c13d0000000012010434000000000320004c00000f950000613d0000050503000041000000200420008c000000000400001900000000040340190000050502200197000000000520004c000000000300a019000005050220009c00000000020400190000000002036019000000000220004c00000f960000c13d0000000001010433000000000210004c0000000002000019000000010200c039000000000221004b00000f960000c13d000000000110004c00000fc30000613d000000000001042d00000000010000190000140900010430000005080100004100000000001004350000004101000039000000040010043f00000509010000410000140900010430000000640130003900000538020000410000000000210435000000440130003900000539020000410000000000210435000000240130003900000028020000390000000000210435000005360100004100000000001304350000000401300039000000200200003900000000002104350000050301000041000005030230009c000000000103401900000040011002100000053a011001c70000140900010430000000400100043d00000044021000390000055803000041000000000032043500000536020000410000000000210435000000240210003900000020030000390000000000320435000000040210003900000000003204350000050302000041000005030310009c0000000001028019000000400110021000000537011001c70000140900010430000000400100043d00000064021000390000055203000041000000000032043500000044021000390000055303000041000000000032043500000024021000390000002a030000390000000000320435000005360200004100000000002104350000000402100039000000200300003900000000003204350000050302000041000005030310009c000000000102801900000040011002100000053a011001c700001409000104300003000000000002000300000002001d000200000001001d00000527010000410000000000100435000000200000043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000010860000613d000000000101043b00000000020004110000050602200197000100000002001d0000000000200435000000200010043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000010860000613d000000000101043b000000000101041a000000ff011001900000108e0000613d0000000303000029000000000130004c000010a30000613d000000400100043d000000440210003900000000003204350000002003100039000005500200004100000000002304350000002402100039000000010400002900000000004204350000004402000039000000000021043500000002020000290000050602200197000005590410009c000010880000813d0000008004100039000000400040043f0000000004000414000000040520008c000010160000c13d000000010300003100000000020000190000102a0000013d0000050305000041000005030630009c000000000305801900000040033002100000000001010433000005030610009c00000000010580190000006001100210000000000131019f000005030340009c00000000030500190000000003044019000000c003300210000000000131019f140713fd0000040f000000010220015f00030000000103550000006001100270000105030010019d00000503031001970000006001000039000000000430004c000010580000613d0000003f01300039000000200400008a000000000441016f000000400100043d0000000004410019000000000514004b00000000050000190000000105004039000005040640009c000010880000213d0000000105500190000010880000c13d000000400040043f0000000003310436000000030400036700000001060000310000001f0560018f0000000506600272000010490000613d000000000700001900000005087002100000000009830019000000000884034f000000000808043b00000000008904350000000107700039000000000867004b000010410000413d000000000750004c000010580000613d0000000506600210000000000464034f00000000036300190000000305500210000000000603043300000000065601cf000000000656022f000000000404043b0000010005500089000000000454022f00000000045401cf000000000464019f00000000004304350000000102200190000010b50000c13d0000000012010434000000000320004c000010710000613d0000050503000041000000200420008c000000000400001900000000040340190000050502200197000000000520004c000000000300a019000005050220009c00000000020400190000000002036019000000000220004c000010860000c13d0000000001010433000000000210004c0000000002000019000000010200c039000000000221004b000010860000c13d000000000110004c000010c60000613d000000400100043d0000000302000029000000000021043500000503020000410000000003000414000005030430009c0000000003028019000005030410009c00000000010280190000004001100210000000c002300210000000000112019f00000533011001c70000800d0200003900000002030000390000055c040000410000000205000029140713fd0000040f0000000101200190000010860000613d000000000001042d00000000010000190000140900010430000005080100004100000000001004350000004101000039000000040010043f00000509010000410000140900010430000000400100043d000000640210003900000538030000410000000000320435000000440210003900000539030000410000000000320435000000240210003900000028030000390000000000320435000005360200004100000000002104350000000402100039000000200300003900000000003204350000050302000041000005030310009c000000000102801900000040011002100000053a011001c70000140900010430000000400100043d00000044021000390000055d03000041000000000032043500000024021000390000001e030000390000000000320435000005360200004100000000002104350000000402100039000000200300003900000000003204350000050302000041000005030310009c0000000001028019000000400110021000000537011001c70000140900010430000000400100043d00000044021000390000055803000041000000000032043500000536020000410000000000210435000000240210003900000020030000390000000000320435000000040210003900000000003204350000050302000041000005030310009c0000000001028019000000400110021000000537011001c70000140900010430000000400100043d00000064021000390000055203000041000000000032043500000044021000390000055303000041000000000032043500000024021000390000002a030000390000000000320435000005360200004100000000002104350000000402100039000000200300003900000000003204350000050302000041000005030310009c000000000102801900000040011002100000053a011001c700001409000104300002000000000002000200000001001d00000527010000410000000000100435000000200000043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f00000001022001900000115f0000613d000000000101043b0000000002000411000100000002001d00000506022001970000000000200435000000200010043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f00000001022001900000115f0000613d000000000101043b000000000101041a000000ff01100190000011610000613d0000000209000029000000000190004c0000000104000029000011760000613d0000000001000414000000040240008c000011080000c13d000000010200003900000001010000310000111c0000013d0000050302000041000000400300043d000005030530009c0000000003028019000005030510009c0000000001028019000000c0011002100000004002300210000000000112019f00000530011001c7000080090200003900000000030900190000000005000019140713fd0000040f0000000209000029000000010220018f00030000000103550000006001100270000105030010019d0000050301100197000000000310004c000011490000613d0000003f03100039000000200400008a000000000443016f000000400300043d0000000004430019000000000534004b00000000050000190000000105004039000005040640009c000011990000213d0000000105500190000011990000c13d000000400040043f0000000001130436000000030300036700000001050000310000001f0450018f00000005055002720000113a0000613d000000000600001900000005076002100000000008710019000000000773034f000000000707043b00000000007804350000000106600039000000000756004b000011320000413d000000000640004c000011490000613d0000000505500210000000000353034f00000000015100190000000304400210000000000501043300000000054501cf000000000545022f000000000303043b0000010004400089000000000343022f00000000034301cf000000000353019f0000000000310435000000400100043d000000000220004c000011880000613d000000000091043500000503020000410000000003000414000005030430009c0000000003028019000005030410009c00000000010280190000004001100210000000c002300210000000000112019f00000533011001c70000800d0200003900000002030000390000055c040000410000000005000019140713fd0000040f00000001012001900000115f0000613d000000000001042d00000000010000190000140900010430000000400100043d000000640210003900000538030000410000000000320435000000440210003900000539030000410000000000320435000000240210003900000028030000390000000000320435000005360200004100000000002104350000000402100039000000200300003900000000003204350000050302000041000005030310009c000000000102801900000040011002100000053a011001c70000140900010430000000400100043d00000044021000390000055d03000041000000000032043500000024021000390000001e030000390000000000320435000005360200004100000000002104350000000402100039000000200300003900000000003204350000050302000041000005030310009c0000000001028019000000400110021000000537011001c7000014090001043000000044021000390000055e030000410000000000320435000000240210003900000010030000390000000000320435000005360200004100000000002104350000000402100039000000200300003900000000003204350000050302000041000005030310009c0000000001028019000000400110021000000537011001c70000140900010430000005080100004100000000001004350000004101000039000000040010043f000005090100004100001409000104300004000000000002000300000002001d000400000001001d0000000000100435000000200000043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000012290000613d000000000101043b0000000101100039000000000101041a000100000001001d0000000000100435000000200000043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000012290000613d000000000101043b0000000002000411000200000002001d00000506022001970000000000200435000000200010043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000012290000613d000000000101043b000000000101041a000000ff011001900000122b0000613d00000004010000290000000000100435000000200000043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000012290000613d000000000101043b00000003020000290000050602200197000100000002001d0000000000200435000000200010043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000012290000613d000000000101043b000000000101041a000000ff01100190000012280000c13d00000004010000290000000000100435000000200000043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000012290000613d000000000101043b00000001020000290000000000200435000000200010043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000012290000613d000000000101043b000000000201041a000001000300008a000000000232016f00000001022001bf000000000021041b000000400100043d00000503020000410000000003000414000005030430009c0000000003028019000005030410009c00000000010280190000004001100210000000c002300210000000000112019f00000530011001c70000800d0200003900000004030000390000053104000041000000040500002900000003060000290000000207000029140713fd0000040f0000000101200190000012290000613d000000000001042d00000000010000190000140900010430000000400100043d0000000007010019000005440110009c000012350000413d000005080100004100000000001004350000004101000039000000040010043f0000050901000041000014090001043000000000020700190000006001200039000000400010043f0000002a01000039000000000112043600000000020000310000000202200367000000000300001900000005043002100000000005410019000000000442034f000000000404043b00000000004504350000000103300039000000020430008c0000123d0000413d0000000002070433000000000220004c0000124f0000613d0000000002010433000005450220019700000546022001c700000000002104350000000002070433000000020220008c000012550000813d000005080100004100000000001004350000003201000039000000040010043f0000050901000041000014090001043000000021027000390000000003020433000005450330019700000547033001c700000000003204350000002902000039000000020500002900000000030500190000000004070433000000000424004b0000124f0000a13d0000000f0430018f0000000304400210000000f80440015f0000054805000041000000000445022f000000000512001900000000060504330000054506600197000000f804400210000000000446019f00000000004504350000000405300270000000010220008a000000010420008c0000125c0000213d000000100130008c00000000010000190000000101004039000300000007001d140713e90000040f000000010100002914070cd80000040f000000400400043d000400000004001d000000200240003900000549030000410000000000320435000200000001001d00000037024000390000000301000029140704ff0000040f0000054a02000041000000000021043500000011021000390000000201000029140704ff0000040f00000004030000290000000002310049000000200120008a00000000001304350000000001030019140705280000040f0000053601000041000000400200043d000300000002001d000000000012043500000004012000390000000402000029140705100000040f000000030400002900000000014100490000050302000041000005030310009c0000000001028019000005030340009c000000000204401900000040022002100000006001100210000000000121019f00001409000104300004000000000002000300000002001d000400000001001d0000000000100435000000200000043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000013250000613d000000000101043b0000000101100039000000000101041a000100000001001d0000000000100435000000200000043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000013250000613d000000000101043b0000000002000411000200000002001d00000506022001970000000000200435000000200010043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000013250000613d000000000101043b000000000101041a000000ff01100190000013270000613d00000004010000290000000000100435000000200000043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000013250000613d000000000101043b00000003020000290000050602200197000100000002001d0000000000200435000000200010043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000013250000613d000000000101043b000000000101041a000000ff01100190000013240000613d00000004010000290000000000100435000000200000043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000013250000613d000000000101043b00000001020000290000000000200435000000200010043f00000503010000410000000002000414000005030320009c0000000001024019000000c0011002100000052f011001c70000801002000039140714020000040f0000000102200190000013250000613d000000000101043b000000000201041a000001000300008a000000000232016f000000000021041b000000400100043d00000503020000410000000003000414000005030430009c0000000003028019000005030410009c00000000010280190000004001100210000000c002300210000000000112019f00000530011001c70000800d0200003900000004030000390000054b04000041000000040500002900000003060000290000000207000029140713fd0000040f0000000101200190000013250000613d000000000001042d00000000010000190000140900010430000000400100043d0000000007010019000005440110009c000013310000413d000005080100004100000000001004350000004101000039000000040010043f0000050901000041000014090001043000000000020700190000006001200039000000400010043f0000002a01000039000000000112043600000000020000310000000202200367000000000300001900000005043002100000000005410019000000000442034f000000000404043b00000000004504350000000103300039000000020430008c000013390000413d0000000002070433000000000220004c0000134b0000613d0000000002010433000005450220019700000546022001c700000000002104350000000002070433000000020220008c000013510000813d000005080100004100000000001004350000003201000039000000040010043f0000050901000041000014090001043000000021027000390000000003020433000005450330019700000547033001c700000000003204350000002902000039000000020500002900000000030500190000000004070433000000000424004b0000134b0000a13d0000000f0430018f0000000304400210000000f80440015f0000054805000041000000000445022f000000000512001900000000060504330000054506600197000000f804400210000000000446019f00000000004504350000000405300270000000010220008a000000010420008c000013580000213d000000100130008c00000000010000190000000101004039000300000007001d140713e90000040f000000010100002914070cd80000040f000000400400043d000400000004001d000000200240003900000549030000410000000000320435000200000001001d00000037024000390000000301000029140704ff0000040f0000054a02000041000000000021043500000011021000390000000201000029140704ff0000040f00000004030000290000000002310049000000200120008a00000000001304350000000001030019140705280000040f0000053601000041000000400200043d000300000002001d000000000012043500000004012000390000000402000029140705100000040f000000030400002900000000014100490000050302000041000005030310009c0000000001028019000005030340009c000000000204401900000040022002100000006001100210000000000121019f000014090001043000030000000000020000000202000039000000000102041a000000010310019000000001041002700000007f0540018f000000000604001900000000060560190000001f0460008c00000000040000190000000104002039000000010440018f000000000443004b000013db0000c13d000000400500043d0000000004650436000000000330004c000013af0000c13d000001000200008a000000000121016f00000000001404350000004002000039000013d00000013d000100000004001d000200000006001d000300000005001d000000000020043500000503010000410000000002000414000005030320009c0000000001024019000000c00110021000000533011001c70000801002000039140714020000040f0000000102200190000013e70000613d00000020020000390000000206000029000000000360004c0000000305000029000013d00000613d000000000101043b0000000003000019000000010700002900000000020300190000000003720019000000000401041a000000000043043500000001011000390000002003200039000000000463004b000013c50000413d0000005f01200039000000200200008a000000000221016f0000000001520019000000000221004b00000000020000190000000102004039000005040310009c000013e10000213d0000000102200190000013e10000c13d000000400010043f0000000001050019000000000001042d000005080100004100000000001004350000002201000039000000040010043f00000509010000410000140900010430000005080100004100000000001004350000004101000039000000040010043f0000050901000041000014090001043000000000010000190000140900010430000000000110004c000013ec0000613d000000000001042d000000400100043d00000044021000390000055a03000041000000000032043500000536020000410000000000210435000000240210003900000020030000390000000000320435000000040210003900000000003204350000050302000041000005030310009c0000000001028019000000400110021000000537011001c7000014090001043000001400002104210000000102000039000000000001042d0000000002000019000000000001042d00001405002104230000000102000039000000000001042d0000000002000019000000000001042d0000140700000432000014080001042e00001409000104300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff000000000000000000000000000000000000000000000000ffffffffffffffff8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffffffffffff00000002000000000000000000000000000000c00000010000000000000000004e487b71000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024000000000000000000000000000000000000000000000000000000000000000000000000000000008980f11e00000000000000000000000000000000000000000000000000000000d547741e00000000000000000000000000000000000000000000000000000000ef99893900000000000000000000000000000000000000000000000000000000ef99893a00000000000000000000000000000000000000000000000000000000f2fde38b00000000000000000000000000000000000000000000000000000000f874225400000000000000000000000000000000000000000000000000000000d547741f00000000000000000000000000000000000000000000000000000000d8baf7cf00000000000000000000000000000000000000000000000000000000eab90da60000000000000000000000000000000000000000000000000000000091d148530000000000000000000000000000000000000000000000000000000091d1485400000000000000000000000000000000000000000000000000000000a217fddf00000000000000000000000000000000000000000000000000000000c45a0155000000000000000000000000000000000000000000000000000000008980f11f000000000000000000000000000000000000000000000000000000008bb9c5bf000000000000000000000000000000000000000000000000000000003b720fc9000000000000000000000000000000000000000000000000000000006b453c1e000000000000000000000000000000000000000000000000000000006b453c1f000000000000000000000000000000000000000000000000000000007ae267730000000000000000000000000000000000000000000000000000000084a33e63000000000000000000000000000000000000000000000000000000003b720fca000000000000000000000000000000000000000000000000000000004ebb79160000000000000000000000000000000000000000000000000000000069cff80d00000000000000000000000000000000000000000000000000000000248a9ca200000000000000000000000000000000000000000000000000000000248a9ca3000000000000000000000000000000000000000000000000000000002f2ff15d0000000000000000000000000000000000000000000000000000000036568abe0000000000000000000000000000000000000000000000000000000001ffc9a70000000000000000000000000000000000000000000000000000000006fdde03339759585899103d2ace64958e37e18ccb0504652c81d4a1b8aa80fe2126ab950000000000000000000000000000000000000020000000000000000000000000310ab089e4439a4c15d089f94afb7896ff553aecb10793d0ab882de59d99a32effffffff0000000000000000000000000000000000000000000000000000000001ffc9a7000000000000000000000000000000000000000000000000000000007965db0b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000008000000000000000000200000200000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000004000000000000000000000000002000000000000000000000000000000000000000000000000000000000000002f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d00000000000000000000000000000000000000000000000100000000000000000200000000000000000000000000000000000020000000000000000000000000f43f23b7a28e6f8ce6843a21bd7b48bce778aa913b8c8cf459edf7d770e8d38a496e76616c6964206761732d657374696d61746500000000000000000000000008c379a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000064000000000000000000000000696e7461696e65720000000000000000000000000000000000000000000000004d61696e7461696e61626c653a2043616c6c6572206973206e6f742061206d610000000000000000000000000000000000000084000000000000000000000000496e76616c69642061646170746572206e616d6500000000000000000000000002000002000000000000000000000000000000440000000000000000000000001806aa1896bbf26568e884a7374b41e002500962caba6a15023a8d90e8508b830200000200000000000000000000000000000024000000000000000000000000e6a439050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000440000000000000000000000000902f1ac000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffff000000000000000000000000000000000000000000000000ffffffffffffffa000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff300000000000000000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000000000000000003031323334353637383961626364656600000000000000000000000000000000416363657373436f6e74726f6c3a206163636f756e7420000000000000000000206973206d697373696e6720726f6c6520000000000000000000000000000000f6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b000000000000000000000001000000000000000000000000000000000000000020726f6c657320666f722073656c660000000000000000000000000000000000416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636570a0823100000000000000000000000000000000000000000000000000000000a9059cbb00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffff7f6f742073756363656564000000000000000000000000000000000000000000005361666545524332303a204552433230206f7065726174696f6e20646964206e000000000000000000000000000000000000000000000000ffffffffffffffdf022c0d9f00000000000000000000000000000000000000000000000000000000e2bdbc6b7225eb0a972ac943c485a6cc05f7c6811838bce8903f23200fb744fa496e73756666696369656e7420616d6f756e742d6f75740000000000000000005361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564000000000000000000000000000000000000000000000000ffffffffffffff80537472696e67733a20686578206c656e67746820696e73756666696369656e74095ea7b3000000000000000000000000000000000000000000000000000000008c1256b8896378cd5044f80c202f9772b9d77dc85c8a6eb51967210b09bfaa2859616b416461707465723a204e6f7468696e6720746f207265636f76657200005472616e73666572206661696c65642e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006b3a836da170106a546717c8627e0475261aa8dd705fe8e9764049832cff3c80" + ] +} \ No newline at end of file diff --git a/src/deployments/zksync/SyncSwapAdapter.json b/src/deployments/zksync/SyncSwapAdapter.json new file mode 100644 index 00000000..f263490a --- /dev/null +++ b/src/deployments/zksync/SyncSwapAdapter.json @@ -0,0 +1,799 @@ +{ + "address": "0xd2510d734442663b2f02FB7930e7893Ca4B06995", + "abi": [ + { + "inputs": [ + { + "internalType": "string", + "name": "_name", + "type": "string" + }, + { + "internalType": "address", + "name": "_factory", + "type": "address" + }, + { + "internalType": "address", + "name": "_stableFactory", + "type": "address" + }, + { + "internalType": "address", + "name": "_vault", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_swapGasEstimate", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "Recovered", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "previousAdminRole", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "newAdminRole", + "type": "bytes32" + } + ], + "name": "RoleAdminChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "RoleGranted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "RoleRevoked", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_adapter", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_newEstimate", + "type": "uint256" + } + ], + "name": "UpdatedGasEstimate", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_tokenFrom", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "_tokenTo", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_amountIn", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_amountOut", + "type": "uint256" + } + ], + "name": "YakAdapterSwap", + "type": "event" + }, + { + "inputs": [], + "name": "DEFAULT_ADMIN_ROLE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "MAINTAINER_ROLE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "addedMaintainer", + "type": "address" + } + ], + "name": "addMaintainer", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + } + ], + "name": "getRoleAdmin", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "grantRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "hasRole", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_amountIn", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_tokenIn", + "type": "address" + }, + { + "internalType": "address", + "name": "_tokenOut", + "type": "address" + } + ], + "name": "query", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "recoverAVAX", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_tokenAddress", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_tokenAmount", + "type": "uint256" + } + ], + "name": "recoverERC20", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "removedMaintainer", + "type": "address" + } + ], + "name": "removeMaintainer", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "renounceRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + } + ], + "name": "renounceRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_token", + "type": "address" + }, + { + "internalType": "address", + "name": "_spender", + "type": "address" + } + ], + "name": "revokeAllowance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "revokeRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_estimate", + "type": "uint256" + } + ], + "name": "setSwapGasEstimate", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_amountIn", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_amountOut", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_fromToken", + "type": "address" + }, + { + "internalType": "address", + "name": "_toToken", + "type": "address" + }, + { + "internalType": "address", + "name": "_to", + "type": "address" + } + ], + "name": "swap", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "swapGasEstimate", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "stateMutability": "payable", + "type": "receive" + } + ], + "transactionHash": "0x7249f340f63f1529882d6bc0cc4e9df6ddefcdc7ce4252d896c0f718fcd54293", + "receipt": { + "to": "0x0000000000000000000000000000000000008006", + "from": "0x1A267D3f9f5116dF6ae00A4aD698CdcF27b71920", + "contractAddress": "0xd2510d734442663b2f02FB7930e7893Ca4B06995", + "transactionIndex": 3, + "gasUsed": "90886597", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0xb09df447bc124e888738142b44b488c5dfc3a3035b2563df09a0aeba5d831041", + "transactionHash": "0x7249f340f63f1529882d6bc0cc4e9df6ddefcdc7ce4252d896c0f718fcd54293", + "logs": [ + { + "transactionIndex": 3, + "blockNumber": 2344165, + "transactionHash": "0x7249f340f63f1529882d6bc0cc4e9df6ddefcdc7ce4252d896c0f718fcd54293", + "address": "0x000000000000000000000000000000000000800A", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000001a267d3f9f5116df6ae00a4ad698cdcf27b71920", + "0x0000000000000000000000000000000000000000000000000000000000008001" + ], + "data": "0x000000000000000000000000000000000000000000000000007b089952f1af80", + "logIndex": 19, + "blockHash": "0xb09df447bc124e888738142b44b488c5dfc3a3035b2563df09a0aeba5d831041" + }, + { + "transactionIndex": 3, + "blockNumber": 2344165, + "transactionHash": "0x7249f340f63f1529882d6bc0cc4e9df6ddefcdc7ce4252d896c0f718fcd54293", + "address": "0x0000000000000000000000000000000000008008", + "topics": [ + "0x3a36e47291f4201faf137fab081d92295bce2d53be2c6ca68ba82c7faa9ce241", + "0x000000000000000000000000000000000000000000000000000000000000800e", + "0x5e696d41f9da141256d581803fde81e79bccbed023208bffa945137958ea7ef6" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000005e7205a10000000000000000000005d30100004100000001022001900000000001024019000005d30320009c000000000101043b0000000000320435000000c001100210174617410000040f000017480001043000000000020004140000801002000039000005fb011001c7000000000110004c000000400110021000000000001004350000000001028019000005d302000041000000400100043d00000000002104350000000003000019000005d30310009c0000025e0000c13d0000000001000019000000200000043f000000000001042d0000000000200435000000200010043f000000000101041a000000000606043b000000000651034f0000004402100039000005d901000041000000040010043f000005d8010000410000002402100039000017470001042e000000000045043500000004021000390000060202000041000000000200001900000001020000311746173c0000040f000000ff011001900000000000120435000000400200043d0000000001000416000000400010043f00000ec90000613d000005d602200197000000600110021000000000010300190000002003000039000005d502000041000000030440021000000001030000310000000103300039000000000221004b00000603011001c7000000000112019f0003000000010355000005d30410009c00000000030280190000000003000414000000000410004c00000001012001900000800d02000039000000c002300210000005d30430009c0000000001026019000005d50110009c000005d5011001970000004101000039000000200430008c000003b10000613d0000000006000019000000000640004c0000000003010019000011460000613d00000100044000890000000505500210000000000756004b00000001066000390000000000780435000000000707043b000000050760021000000005055002720000001f0450018f000000000100041400000004001004430000000000100439000005d40310009c00000001020040390000000000650435000005f5010000410000000005000019000000000021041b000000000232016f000000000220004c000000000100003100000060033002700000000302000029000000000141019f00000000013101cf000000000131022f0000010003300089000000000121034f000000000434022f00000000043401cf000000000402043300000005022002100000000303400210000000000340004c000000000523004b000000050530021000000005023002720000001f0430018f000005d50220009c000005d502200197000000000221016f0000001f01300039000100000003001f000000000474019f00000000044601cf000000000646022f000000000747022f00000000074701cf00000000070504330000000005590019000000000771034f00000000087900190000000005034019000005d30330019700000004029000390000000000190435000000400900043d00008002020000390000060b011001c7000000000200a01900000ecb0000213d00000000019200190000002005000039000000000131019f000005d30390009c000005fc011001c7000000000121019f000000000400001900000ec90000c13d174604a60000040f0000000002070433000006dd0000613d000200000001001d00000606011001c70000000403000039000001000300008a000000000201041a00000000020004110000004002200210000100000001001d000000000404043b00000ecb0000c13d000000000103c019000000000100a019000000000420004c0000000003014019000005d501000041000000240290003900000064021000390000000205000029000100000002001d000016640000613d000015680000613d000300000002001d000008f90000613d000200000002001d000007eb0000613d00000002010000290000060a01000041000000200320008c00000040033002100000000001048019000005d30400004100000001011000390000000102000029000005d30340009c00000000030240190000000001100031000000040100008a00000010020000290000000101000029000000000305001900000000030940190000000003040019000000040320008c00000000020080190000000003022019000000040110008a0000000000000435ffffffffffffffff0000060201000041000000000013043500000001010040390000003201000039000000000201043300030000000000020000000001090433000000000204001900000000002304350000000003020433000005ff011001c700000000020440190000000001410049174604b70000040f000005f6011001c70000000201100367000000040100003900000004020000290000000000430435000000400040043f000000000101043300000a390000613d000009c70000613d00000616040000410000000401200039174604cf0000040f000000200120008a000000000231004900000011021000390000061502000041000000370240003900000614030000410000002002400039000000400400043d174610170000040f174617280000040f000000100130008c000000010420008c000000010220008a0000000405300270000000000446019f000000f804400210000006100660019700000000060504330000000005120019000000000445022f0000061305000041000000f80440015f0000000f0430018f000000000424004b0000000004070433000000290200003900000612033001c700000610033001970000002102700039000000020220008c00000611022001c70000061002200197000000020430008c000000000442034f000000000541001900000005043002100000000202200367000000000200003100000000011204360000002a01000039000000600120003900000000020700190000060f0110009c00000000070100190000000207000029000000030600002900000004030000290000000301000029000300000001001d0000060d011001c7000080050200003900000609011001c70000060801000041000005fd0400004100000001022001bf000000000310004c0000025e0000213d000005d40640009c0000000401000029000000020300002900000003040000290000000003310436000000010550019000000001050040390000006001000039000105d30010019d0000006001100270000000000530004c0000000e03000029000400000004001d0000000002094019000000040240008c00000007030000290000004403900039000005d6021001970000060e01000041000006dd0000c13d000006df0000c13d000006df0000213d0000060c01000041000005d60110019700000000002004390000060a020000410000002400100443000000000430004c000000000202043b00000028030000390000060503000041000006040300004100000002030000390000002002000039000000200200008a0000000a0200002900000001010000390000000104000029000000200310008c000000000204c0190000000004024019000000000464034f0000000506600210000000000867004b00000001077000390000000000890435000000000808043b000000000884034f000000050870021000000000070000191746043d0000040f0004000000000002020000000000000000000001020000390000149e0000613d000013c50000613d000000200400008a000000400300043d000012150000613d000300000007001d0000002a030000390000061e030000410000061d030000410000062303000041000000010200c039000000000210004c0000000002036019000000000300a019000000000520004c0000000004034019000000200420008c000005d503000041000000000320004c0000000012010434000000000464019f00000000045401cf000000000454022f0000010005500089000000000656022f00000000065601cf000000000603043300000003055002100000000003630019000000000750004c000000000983001900000005066002720000001f0560018f00000001060000310000000304000367000000000514004b0000000004410019000000000441016f0000003f01300039000005d303100197000000010220015f000000c003300210000005d30530009c000005d50330009c000005d5033001970000000f0100002900000ec90000213d0000000f09000029000f00000009001d0000000f0200002900000003030000290000000204000029000000020900002900000002020000290000000602000029000500000001001d000400000001001d000006db0000613d0000000000020435000000000140004c000004a40000213d000000000303043b0000003f0310008c0000001403000039000000000534004b000005f50500004100000000070600190000000406000029174603f80000040f000005d60430009c000005d60320009c0000000004030433000000bd0000213d496e7375666669635361666545524332416363657373436f00000044000000000200000200000000496e76616c6964200000002000000000000000240000000000000000ffffffff0000000405000029000014880000613d0000001e0300003900000629030000410000062804000041000013c50000c13d000013970000613d000012d50000c13d000012bb0000613d00000000030440190000000003058019000005d30630009c0000000001058019000005d30610009c000005d305000041000000040520008c00000000040004140000004402000039000012d50000613d0002000000000002000000020600002900000626030000410000000004010433000000000113019f000000600330021000000000044300190000000202000039000000000121016f00000d220000613d000005d30510009c000000040420008c0000000e02000029000000400030043f00000080031000390000000000420435000000000342004b0000000002090433000000050600002900000006040000290000000a010000290000000c030000290000000b01000029000005d60110009c0000000d03000029000f00000001001d000005d9011001c70000000d020000290000061a01000041000000000232004b0000002f0300003900000619030000410000061803000041000000030700002900000001060000290000000003000411000300000004001d000200000007001d0000000001050019000000050500002900000020010000390000000509000029000500000009001d00000004004004430000000001000410000006dd0000213d000005d60140009c00000000040904330000000609000029000600000009001d0000000502000029000700000003001d000005d6032001970000000702000029000100000003001d000005d603100197000000400100003900000000010004120000000001120019000000200300008a0000000000340435000000000076043500000000070704330000002005500039000004830000213d0000002402200370000004240000213d000005d60310009c000000040120037000000002020003670000001f0310008c00000601030000410000002201000039000000060100002900000000050004100000060004000041000000000120004c00000008020000290000002004400039000000000423004b0000000502200270000100000004001d0000000906000029000400000002001d000600000003001d000000800010043f000000010110018f0000000000010435000000000201001900000040020000390000000005050433000005d60640009c000000000303043300000000020204330000000000410435000000000440004c0000000008000019000000000026043500000000070604330000000302200210000000400020043f000000bd0000c13d000000400500043d0000001f0230003900000002010003670001000000000002f0f4ea346b39da7f97faaf60fef73097e87423abf0802f297c49741417c1469e206661696c65642e5472616e7366657265636f7665720000696e6720746f207265723a204e6f746859616b41646170741967210b09bfaa28b9d77dc85c8a6eb55044f80c202f97728c1256b8896378cd095ea7b3000000006666696369656e7467746820696e737520686578206c656e537472696e67733affffffffffffff806e74206f75740000656e7420616d6f756c206661696c65646576656c2063616c303a206c6f772d6c756e742d6f75740069656e7420616d6f903f23200fb744fa05f7c6811838bce8972ac943c485a6cce2bdbc6b7225eb0a7132bb7f00000000f9609f08000000006f6e20646964206e206f706572617469303a20455243323065640000000000006f74207375636365ffffffffffffff7fa9059cbb0000000070a082310000000072656e6f756e6365616e206f6e6c79206e74726f6c3a20636f722073656c660020726f6c657320660000000100000000eb21e047a839171bb53935d1edc7fd642a47ea670b442974f6391f5c32d9c69d2000000000000000696e6720726f6c65206973206d69737363636f756e7420006e74726f6c3a2061383961626364656630313233343536377800000000000000300000000000000000ffffffffffffffffffffffffffffa0ff9c8ac600000000531aa03e00000000023a8d90e8508b8302500962caba6a1568e884a7374b41e01806aa1896bbf265ab882de59d99a32eff553aecb10793d015d089f94afb7896310ab089e4439a4c6e616d6500000000616461707465722000000084000000006e6f742061206d616c6c65722069732061626c653a2043614d61696e7461696e696e7461696e6572000000640000000008c379a0000000006d617465000000006761732d6573746959edf7d770e8d38ae778aa913b8c8cf4e6843a21bd7b48bcf43f23b7a28e6f8c0000000000000001304540a733656f0d7c78024a5027094082e926ec794901d12f8788117e7eff1d000000400000000000000020000000807965db0b0000000001ffc9a700000000ffffffff00000000b8aa80fe2126ab95cb0504652c81d4a12ace64958e37e18c339759585899103d0000000006fdde030000000001ffc9a70000000036568abe000000002f2ff15d00000000248a9ca300000000248a9ca20000000069cff80d000000004ebb79160000000084a33e63000000007ae26773000000006b453c1f000000006b453c1e000000004ebb7915000000008bb9c5bf000000008980f11f00000000d547741f00000000a217fddf0000000091d148540000000091d1485300000000eab90da600000000d8baf7cf00000000f874225400000000f2fde38b00000000ef99893a00000000ef99893900000000d8baf7ce000000008980f11e4e487b7100000000000001000000010000000002000000008000000000000000000017460000043200001744002104230000173f002104210000172b0000613d000017200000c13d000017200000213d00000000015200190000005f01200039000017040000413d000000000463004b0000002003200039000000000401041a0000000003720019000000000203001900000001070000290000170f0000613d0000000305000029000000000360004c000017260000613d000300000005001d000200000006001d0000170f0000013d0000000000140435000001000200008a000016ee0000c13d000000000330004c00000000046504360000171a0000c13d000000000443004b000000010440018f00000001040020390000001f0460008c000000000605601900000000060400190000007f0540018f00000001041002700000000103100190000000000102041a000016970000213d0000168a0000a13d000016900000813d0000168a0000613d000016780000413d000016700000413d000016630000613d000016660000613d0000159b0000213d0000158e0000a13d000015940000813d0000158e0000613d0000157c0000413d000015740000413d000015670000c13d0000156a0000613d00000010030000390000062a030000410000000000910435000014c70000613d0000000000310435000000000353019f00000000034301cf000000000343022f000000000545022f00000000054501cf00000000050104330000000001510019000000000353034f000014710000413d000000000773034f0000000008710019000014790000613d000000010500003100000003030003670000000001130436000014d80000c13d000014d80000213d000000000443016f0000003f03100039000005d301100197000000010220018f0000000003090019000080090200003900000040023002100000145b0000013d0000000101000031000014470000c13d000014b50000613d000000000190004c000014a00000613d000014050000613d000013b00000613d000013f40000c13d000013800000413d000013880000613d000013c70000c13d000013c70000213d000013690000013d000013550000c13d0000008004100039000013c70000813d000006250410009c0000061b020000410000002003100039000013e20000613d000000000130004c000013cd0000613d0000000001034019000005d30230009c0000000401300039000000280200003900000024013000390000060502000041000000440130003900000604020000410000006401300039000013020000613d000012d40000613d000012f10000c13d000012a40000413d000012ac0000613d000012d70000c13d000012d70000213d0000128d0000013d000012790000c13d0000008002300039000012d70000813d000006250230009c00000044023000390000000000240435000000240430003900000627020000410000002001300039000012dd0000613d0000122c0000613d000012170000613d000011d80000613d000011c80000613d000011790000213d0000116c0000a13d000011720000813d0000116c0000613d0000115a0000413d000011520000413d000011450000613d000010f40000c13d000011480000613d0000105c0000813d000000100250008c0000103a0000213d000000010640008c000000010440008a0000000402500270000000000227019f000000f80220021000000610077001970000000006340019000000000226022f0000061306000041000000f80220015f0000000f0250018f000010500000a13d000000000242004b00000000050200190000004104000039000000000054043500000612055001c7000006100550019700000000050404330000002104100039000010500000413d000000020440008c00000611044001c70000061004400197000010500000613d000010220000413d000000030650008c00000001055000390000000000670435000000000664034f00000000076300190000000506500210000000020440036700000000040000310000004203000039000010560000813d000006250310009c000010110000613d00000ffc0000413d000010030000613d00000ff20000613d00000fdd0000413d00000fe40000613d00000fd30000613d00000fbe0000413d00000fc50000613d00000fb40000613d00000f9f0000413d00000fa60000613d00000f950000613d00000f800000413d00000f870000613d00000f760000613d00000f610000413d00000f680000613d00000f570000613d00000f420000413d00000f490000613d00000f380000613d00000f230000413d00000f2a0000613d000000170300003900000622030000410000001101000039000000160300003900000624030000410000000905000029000006210400004100000003030000390000000c02000029000000200210003900000ef90000413d0000000803000029000000000242004900000ef30000413d00000fba0000613d00000e8e0000613d00000e770000413d00000e7f0000613d00000e920000013d00000e600000c13d0000000d01000029000000400320008c00000f9b0000613d00000e240000613d00000e0d0000413d00000e150000613d0000004005000039000000400430008c0000000001068019000000000343019f0000000003068019000000c403300039000000400440021000000000040940190000000004060019000005d30490009c000005d30600004100000e280000013d00000df20000c13d00000000000404350000004402900039000000000025043500000064059000390000000002240049000000000353016f00000010050000290000001f0330003900000000005604350000002406900039000005d6055001970000000b050000290000000000050435000000000543001900000ddf0000a13d000000000535004b00000dd40000413d000000000635004b0000000007850019000000000645001900000ddf0000613d000000a40490003900000084049000390000000003080433000000800300003900000620010000410000000e08000029000e00000005001d00000080015000390000061c0150009c0000000000150435000000200150003900000040015000390000006001500039000000400050043f0000000101100190000005d40250009c000000000115004b000000000591001900000f7c0000613d00000d880000613d00000d710000413d00000d790000613d0000000a09000029000a00000009001d00000d8c0000013d00000d5a0000c13d0000000f030000290000061f010000410000000a040000290000000400a0044300000f0a0000613d00000d3b0000613d00000ee20000c13d00000d0b0000413d00000d130000613d00000010040000290000000a0a0000290000000003048019000000000161019f000000400650021000000000050640190000000005040019000005d30560009c00000cf40000013d00000cdf0000c13d000a0000000a001d0000061c0310009c0000000000a304350000002403100039000005d60a300197000000440400003900000000004604350000061b0400004100000020061000390000000c04000029000000000301043b000000240000044300000ed10000413d000000000224004b000f00000006001d000000000402001900000cb40000a13d00000ff80000613d00000c910000613d00000c7a0000413d00000c820000613d0000000109000029000100000009001d000000000206001900000c960000013d00000c630000c13d000000040260008c000500000005001d000000040050044300000cb40000613d000000000250004c000005d60250009c000000000509043300000f5d0000613d00000c1d0000613d00000c060000413d00000c0e0000613d00000c210000013d00000bef0000c13d000600000001001d00000fd90000613d00000b9e0000613d00000b870000413d00000b8f0000613d00000ba20000013d00000b700000c13d00000bbb0000613d000b00000001001d00000f3e0000613d00000b260000613d00000b0f0000413d00000b170000613d00000b2a0000013d00000af80000c13d000e00000003001d0000000902000029000a00000001001d001000000002001d00000f1f0000613d00000aa40000613d00000a8d0000413d00000a950000613d0000001009000029001000000009001d00000aa80000013d00000a760000c13d0000001001000029000d00000001001d000005d601400197000c00000001001d000800000002001d000900000003001d001000000005001d001000000000000200000a380000613d00000a3b0000c13d000009c60000613d000009c90000813d000006170230009c000005d6023001970000092c0000213d0000091f0000a13d000009250000813d0000091f0000613d0000090d0000413d000009050000413d000008f80000613d000008fb0000613d0000086e0000613d0000081e0000213d000008110000a13d000008170000813d000008110000613d000007ff0000413d000007f70000413d000007ea0000c13d000007ed0000613d0000075b0000613d000007460000413d0000074d0000613d0000073c0000613d000007270000413d0000072e0000613d0000071d0000613d000007080000413d0000070f0000613d000006fe0000613d000006e90000413d000006f00000613d0000000005010019000006db0000a13d000000000251004b000007420000613d000006ba0000613d000006a30000413d000006ab0000613d0000000709000029000700000009001d000006be0000013d0000068c0000c13d000200000004001d000007040000613d000006460000613d0000062f0000413d000006370000613d000200000009001d0000064a0000013d000006180000c13d0000000103000029000007230000613d000005c80000613d000005b10000413d000005b90000613d000005cc0000013d0000059a0000c13d0000000504000029000500000004001d000005e50000613d000600000002001d000006e50000613d000005510000613d0000053a0000413d000005420000613d000005550000013d000005230000c13d000700000002001d000005d604400198000000000423013f0007000000000002000004dc0000c13d000004dc0000213d0000001f022000390000000002130019000004ca0000a13d000000000234004b000004bf0000413d000000000606043300000000062400190000000005140019000004ca0000613d00000040011000390000000004310436000004b60000a13d000000000245004b000004ac0000413d000000000645004b00000000073500190000000006250019000004b60000613d0000000001240019000005d60650009c000000000505043b0000008405500370000000640450037000000044035003700000000401500370000000000201043b00000024015003700000000205000367000004a40000613d0000009f0310008c0000004403300370000005d60420009c000000240230037000000004013003700000000203000367000004830000613d0000005f0310008c000004680000c13d000005f702100197000004680000613d0000000401100370000004520000213d0000002402100370000004520000613d0000043b0000213d0000043b0000613d000004240000613d0000040b0000213d000005d60210009c0000040b0000613d0000060703000041000000c00010043f0000000701000029000000a00010043f0000000501000029000003e60000613d000003d10000613d000000000017041b0000000101800210000000000212016f0000000002050433000000000121013f000000000112022f000000010200008a0000000301800210000003710000013d00000001028002100000000002620019000000000343013f000000000334022f000000010400008a000000f80330018f0000000303800210000003670000813d000000000383004b000003540000413d0000002002200039000000000051041b00000000056200190000035c0000613d00000000032801700000036a0000a13d0000001f0280008c000003480000413d000000000003041b0000034c0000813d000000000331001900000000022100190000001f0240003900000000030040190000000003020019000000200380008c0000001f028000390000034c0000413d000000200240008c000000030800002900000004070000290000000000700435000400000007001d000300000008001d000200000005001d0000033b0000413d000000200110008c000000000184019f000003cb0000c13d000000000112004b00000001010020390000001f0140008c000000000403601900000000040100190000007f0310018f00000001011002700000000102100190000000000107041a0000000207000039000003c50000813d000005fe0180009c000003b30000613d000000000180004c00000000580604340000030f0000c13d000002bb0000c13d000a00000002001d000900000001001d000500000002001d000700000004001d000800000005001d000a000000000002174608700000040f1746141a0000040f174613170000040f174604260000040f000005fa010000410000000101006039000005f90110009c0000000102006039000005f80210009c000005f701100197174604540000040f1746106d0000040f174604e20000040f1746046a0000040f1746123e0000040f1746040d0000040f174607610000040f000000010100c039174611b90000040f174611ca0000040f174614de0000040f1746085e0000040f17460a500000040f174604850000040f000005e10110009c000002520000613d000005e00210009c000005ee0110009c000002370000613d000005ed0210009c1746096c0000040f000005e70110009c0000022b0000613d000005e60210009c174616d70000040f000005f40110009c0000021a0000613d000005f30210009c000005f502000041000005df0110009c0000020e0000613d000005de0210009c000002000000613d000005dd0210009c000001810000a13d000005dc0210009c174611da0000040f000005ec0110009c000001f40000613d000005eb0210009c000001e80000613d000005ea0210009c000001620000a13d000005e90210009c174615db0000040f000005e50110009c000001cf0000613d000005e40210009c000001ba0000613d000005e30210009c000001430000a13d000005e20210009c000000fc0000213d000005db0210009c000005d701000041000001200010044300000003010000390000010000300443000001e000100443000001c000200443000001a000200443000001800030044300000160003004430000014000000443000000c00300043d000000a00200043d000000800100043d174602600000040f0000008005500039000000000404043300000060045000390000004003500039000000000003043500000000031700190000009b0000a13d000000000346004b000000900000413d000000000846004b000000000098043500000000090904330000000009360019000000000816001900000020066000390000009b0000613d000000000668004b00000000083700190000002007400039000000400070043f0000000108800190000005d40970009c0000000108004039000000000817004b0000000007710019000000000717016f0000003f07400039000005d40740009c00000000040760190000000004080019000005d50440009c000000000494013f0000000007008019000000000a94004b000005d509600197000005d5044001970000000008078019000000000864004b000005d5070000410000001f04300039000000000354001900000000063500190000000024050434000005d50660009c000000000760004c000005d506300197000000a00430008c000000000272019f00000000022401cf000000000424022f0000010002200089000000000727022f00000000072701cf00000000066500190000005a0000613d000000000720004c000000430000413d00000000098500190000004b0000613d000000050630027200000002040003670000001f0230018f0000000104400190000005d40620009c0000000104004039000000000442004b0000000002540019000000000412016f000000200100008a0000000003000031000000e001000039174609de0000040f000005f20110009c000001ae0000613d000005f10210009c000001910000613d000005f00210009c0000011e0000a13d000005ef0210009c000000d90000213d000005e80210009c000000c30000213d000005da0210009c000000e001100270000000b90000413d000000040210008c00000080010000390000002b0000c13d000100000000001f000005d30030019d00020000000103550003000000410355000005d304300197014d021e004d006405a0059f059e059d059c0041059b059a002f006305990598021d000505970596059505940593059205910590058f058e058d058c0016002e000d00160063014c058b0001002d00040003000e0024058a002f002e000d00160589021c05880587021b0586058500920584058301980582021a021905810580057f057e014b014a057d01490148014701460145057c057b057a0144014305790218021705780577009f05760575057405730216003505720092014205710570008a056f014100620016056e011a0119056d056c056b056a05690215056805670566056505640563056205610560021400160197055f0198055e055d0012055c055b0215055a055901980558021a055702130556055505540119004c0553004b055205510550054f054e054d054c054b054a05490548021201960119054702110195011905460545021001190544020f0543054205410540053f053e0034053d053c020e053b053a05390538053705360024000d0016001700240022000f0048002100200009053505340533053205310530052f052e052d0016002e000d00160063014c052c0001002d00040003000e0024052b052a052905280527052605250016002e000d001600bb00ba00350140001400b900470040008a004600330045000d001600d700d6000505240001002d00040003000e00240523052205210520051f051e051d0016002e000d001600bb00ba00350118001400b900470040008a004600330045000d00160012051c0013001100150010000e00d50024051b051a05190016002e000d001600bb00ba00350118001400b900470040008a004600330045000d00160518020d0012009e00d4013f00d300110015001000b800d2009d0032009100240517051605150016002e000d001600bb00ba00350140001400b900470040008a004600330045000d001600d700d6000505140001002d00040003000e00240513051205110016002e000d001600bb00ba00350118001400b900470040008a004600330045000d0016013e001c002d002c000100040003000e00d500240510050f050e0016002e000d00160063050d050c0001002d00040003000e0024002e000d001600bb00ba00350140001400b900470040008a004600330045000d001600d700d60005050b002d002c000100040003000e00d50024002e000d00160063014c050a0001002d00040003000e0024002e000d00160063014c00a9050900b70508001c002b00170507002d002c000100040003000e00d50024002e000d001600bb00ba00350118001400b900470040008a004600330045000d00160012020c001100150010000e00d50024002e000d00160063019405060001002d00040003000e0024002e000d00160063050505040001002d00040003000e0024002e000d0016006305030502002d002c000100040003000e00d50024002e000d00160063019405010001002d00040003000e0024002e000d00160063050004ff04fe002804fd04fc001704fb0091020b020a04fa0024002e000d0016006304f904f80001002d00040003000e0024002e000d001600bb00ba00350140001400b900470040008a004600330045000d001600d700d6000504f70001002d00040003000e0024002e000d00160063019404f60001002d00040003000e00240017000904f504f404f3020904f204f100c500180001000a000400030007000c000b00080002004a0005009c0208003104f0001a001b0001000a000400030007000c000b00080002004a0005001c002b04ef00c500180001000a000400030007000c000b00080002004a0005013d001a001b0001000a000400030007000c000b00080002004a0005009b009a00610117006000120011003f0044003e003d0010000e0043003b0090004200990116005f01930192002a0041004a005e000f00180001000a000400030007000c000b00080002004a0005013d001a001b0001000a000400030007000c000b00080002004a0005001c002b04ee005e000f00180001000a000400030007000c000b00080002004a0005013d001a001b0001000a000400030007000c000b00080002004a0005009b009a00610117006000120011003f0044003e003d0010000e0043003b0090004200990116019101930192002a0041004a020704ed04ec04eb04ea04e904e804e704e604e504e404e304e204e1001704e0020b04df04de04dd04dc001704db020604da04d904d804d70001000a00040003000700d1000b00080002004a0005020704d604d500a8013f04d404d304d2020504d104d004cf04ce020504cd04cc020404cb04ca0038020404c904c804c7013c04c6013b04c5013b009204c4020f04c304c200b60203019004c104c004bf04be04bd04bc04bb04ba04b9021200610060013e04b804b704b604b504b404b304b204b104b0003b04af005e000f00180001000a000400030007000c000b00080002004a0005013d001a001b0001000a000400030007000c000b00080002004a0005001c002b04ae0202020104ad013e0060001200130011003f0044003e003d0010000e0043003b00d10042013a020001ff002a0041004a04ac020a01fe04ab04aa04a90019001700090012001f04a800060023018f000600270013002600340006001100150010000e003a00090022000f00480021002000090022000f01fd002100200009001200a701390006001f0138000600230137000600270013002600340006001100150010000e009800090012001f01fc00060023018f000600270013002600340006001100150010000e003a000900c4003501fb001400c30047004000c2004600330045000d04a700d700d6000504a604a500190017000900c40035018e001400c30047004000c2004600330045000d04a401fa01f9000501f801f701f60136019601f700190017000900c40035018e001400c30047004000c2004600330045000d04a301fa01f9000501f804a201f6013600190017000900c40035018e001400c30047004000c2004600330045000d04a1021d04a001360196049f049e000500190017000900c4003501fb001400c30047004000c2004600330045000d049d00d700d60005049c0039049b00190017000900c40035049a001400c30047004000c2004600330045000d049904980497000504960136049501f50494018d019501f500190017000900c400350493001400c30047004000c2004600330045000d049204910490048f048e0005048d018d0195018c048c009f0210018c048b048a0489018c001900170009004d0197018b04880487005f048601f4048501f301f20484048304820481020c00190034048000d001f1047f0135047e0092047d0203047c047b005d0190047a047904780477018a021c01f0006101ef0019047601f0006101ef00390028005c005b047500020474002f00190022000f0048002100200009047304720471005f0189004001890209047001880115005a01ee0097005901ed01340001000a000400030007011401130008000200960005013301320131018700590001000a000400030007008900880008000200960005000d009600870130008601fe01ec00a6005801eb000601ea01e9008501e8000601e700c1046f0037046e00b5001500b4008f00c000bf00b30007008e011201e6000801e5004d006400840049008d008300570056046d004b0055008200810054005300520051046c004c046b0050001e00800036007f007e007d001d004f007c007b007a00250079003c0002046a0078013c04690077008c00390028005c005b012f0002012e002f00a5002900b2001400a4007600a300a2007500a1000d012d01e401e301e2018b01e101110017046800b1005a01e00001000a00040003000700890088046700080466000200960005000d00960087012c00860110012b012a005800cf00a6010f00060085012900060128046500370464001100150010008f0127009d00070091003a00ce01df000801de004d006400840049008d0083005700560463004b00550082008100540053005200510462004c04610050001e00800036007f007e007d001d004f007c007b007a00250079003c00020460007801860077008c00390028005c005b012f0002012e002f00a5002900b2001400a4007600a300a2007500a1000d012d00cd01870115005a00b0005901dd01340001000a000400030007011401130008000200960005013301320131009700590001000a000400030007008900880008000200960005000d009600870130008600a60058045f0006008501290006018500c1045e0037045d00b5001500b4008f00c000bf00b30007008e0112045c00080184004d006400840049008d008300570056045b004b0055008200810054005300520051045a004c04590050001e00800036007f007e007d001d004f007c007b007a00250079003c00020458007801860077008c00390028005c005b012f0002012e002f00a5002900b2001400a4007600a300a2007500a1000d012d01e401e301e2018b01dc018900b1005a01e00001000a00040003000700890088045700080183000200960005000d00960087012c00860110012b012a005800cf00a6010f00060085012900060128045600370455001100150010008f0127009d00070091003a00ce045400080453004d006400840049008d0083005700560452004b00550082008100540053005200510451004c04500050001e00800036007f007e007d001d004f007c007b007a00250079003c0002044f007801860077008c00390028005c005b012f0002012e002f00a5002900b2001400a4007600a300a2007500a1000d012d00cd01dc044e044d044c01db0019001700090022000f004800210020000900740073044b00140072001e001d005d00380071044a00700449006f006e006d006c006b006a00050069006800670066002c00010029000400030032000900740073044800140072001e001d005d00380071044700700446006f006e006d006c006b006a00050069006800670066002c00010029000400030032000900740073044500140072001e001d005d00380071044400700443006f006e006d006c006b006a00050069006800670066002c00010029000400030032000900740073044200140072001e001d005d00380071044100700440006f006e006d006c006b006a00050069006800670066002c00010029000400030032000900cc0111005e000f00180001000a000400030007000c000b0008000200af000500b6001c009e000f00180001000a000400030007000c000b0008000200af0005009c00ae0031001a001b0001000a000400030007000c000b0008000200af0005001c002b043f005e000f00180001000a000400030007000c000b0008000200af00050065003100a9001a001b0001000a000400030007000c000b0008000200af0005001c002b043e005e000f00180001000a000400030007000c000b0008000200af000500b7001a001b0001000a000400030007000c000b0008000200af0005009b009a00610117006000120011003f0044003e003d0010000e0043003b00900042009901160191010e010d002a004100af0019001700090012010c010b043d0022000f0048002100200009010a0109002f01080107010601050014010401030102009f002500380101043c00950062043b00cb010000ff0013009500fe043a0022000f00ca00210020000900fd00d000fc00fb000600fa00a800be00f900f8043900f7003600f600f500f400f300f200f100f000ef002500ee00ed00ec043800eb001700c901da00ea00bd00e900e801d900e700e60006009e00e500b0009400e4001300e300bd0094018200e200e100c8003300e000c7002d00ae002c00df006500d4018300d300110015001000b800d2009d003200910009000f00180001000a000400030007000c000b000800020437000500b6001c00190017000900cc0111005e000f00180001000a000400030007000c000b0008000200ad000500b6001c009e000f00180001000a000400030007000c000b0008000200ad0005009c00ae0031001a001b0001000a000400030007000c000b0008000200ad0005001c002b0436005e000f00180001000a000400030007000c000b0008000200ad00050065003100a9001a001b0001000a000400030007000c000b0008000200ad0005001c002b0435005e000f00180001000a000400030007000c000b0008000200ad000500b7001a001b0001000a000400030007000c000b0008000200ad0005009b009a0061006000120011003f0044003e003d0010000e0043003b00900042009900de0191010e010d002a004100ad0019001700090012010c010b04340022000f0048002100200009010a0109002f01080107010601050014010401030102009f002500380101043300950062043200cb010000ff0013009500fe04310022000f00ca00210020000900fd00d000fc00fb000600fa00a800be00f900f8043000f7003600f600f500f400f300f200f100f000ef002500ee00ed00ec042f00eb001700c901da00ea00bd00e900e801d900e700e60006009e00e500b0009400e4001300e300bd0094018200e200e100c8003300e000c7002d00ae002c00df006500d4018300d300110015001000b800d2009d00320091000900cc01d8042e00ac01eb042d042c0097000f00180001000a000400030007000c000b0008000200dd00050065001a001b0001000a000400030007000c000b0008000200dd0005001c002b042b00b0000f00180001000a000400030007000c000b0008000200dd00050065001a001b0001000a000400030007000c000b0008000200dd0005009b009a0061006000120011003f0044003e003d0010000e0043003b00900042009900de00a801d701d6002a004100dd001900170009001200a701d50006001f01d40006002301d3000600270013002600340006001100150010000e0098000900cc00a9003101d800ac01d2042a0097000f00180001000a000400030007000c000b0008000200dc00050065001a001b0001000a000400030007000c000b0008000200dc0005001c002b042900b0000f00180001000a000400030007000c000b0008000200dc00050065001a001b0001000a000400030007000c000b0008000200dc0005009b009a0061006000120011003f0044003e003d0010000e0043003b00900042009900de00a801d701d6002a004100dc001900170009001200a701d50006001f01d40006002301d3000600270013002600340006001100150010000e009800090428042704260425042400b1005a01260423042200590001000a000400030007008900880008000200300005000d0030008701d10086042101ec0085005801e8000601d000c104200037041f00b5001500b4008f00c000bf00b30007008e01cf041e0008041d004d006400840049008d008300570056041c004b0055008200810054005300520051041b004c041a0050001e00800036007f007e007d001d004f007c007b007a00250079003c000204190078013c04180077008c00390028005c005b008b000200a0002f00a5002900b2001400a4007600a300a2007500a1000d009300cd01110115005a01ee0417005901ed01340001000a00040003000701140113000800020030000501330132013101ce00590001000a000400030007008900880008000200300005000d003000870130008600a6005801cd0006041601e9008504150006018100c104140037041300b5001500b4008f00c000bf00b30007008e011201800008017f004d006400840049008d0083005700560412004b00550082008100540053005200510411004c04100050001e00800036007f007e007d001d004f007c007b007a00250079003c0002040f007800bc0077008c00390028005c005b008b000200a0002f00a5002900b2001400a4007600a300a2007500a1000d009300cd01ce01cc017e017d000d01e1040e0017040d00b1005a017d00590001000a000400030007008900880008000200300005000d00300087012c008601cb012b012a005800cf00a601ca0006008501250006018100c1040c0037040b00b5001500b4008f00c000bf00b30007008e003a01e6000801e5004d006400840049008d008300570056040a004b00550082008100540053005200510409004c04080050001e00800036007f007e007d001d004f007c007b007a00250079003c00020407007800bc0077008c00390028005c005b008b000200a0002f00a5002900b2001400a4007600a300a2007500a1000d009300cd04060115005a01c9005901dd009701340001000a000400030007011401130008000200300005013301320131018700590001000a000400030007008900880008000200300005000d003000870130008600a6005801cd000600850125000601e700c104050037040400b5001500b4008f00c000bf00b30007008e011201df000801de004d006400840049008d0083005700560403004b00550082008100540053005200510402004c04010050001e00800036007f007e007d001d004f007c007b007a00250079003c00020400007800bc0077008c00390028005c005b008b000200a0002f00350037004900920142017c0124008a017b01410062009303ff03fe017e03fd01c803fc00b1005a03fb0001000a0004000300070089008803fa000801c7000200300005000d00300087012c008601cb012b012a005800cf00a601ca000600850125000603f903f8003703f7001100150010008f0127009d00070091003a03f603f5000803f4004d006400840049008d00830057005603f3004b005500820081005400530052005103f2004c03f10050001e00800036007f007e007d001d004f007c007b007a00250079003c000201c703f0007800bc0077008c00390028005c005b008b000200a0002f00350037004900920142017c0124008a017b01410062009301c601c801c503ef03ee03ed020203ec03eb0115005a01c9005903ea0001000a0004000300070114011300080002003003e90012001f03e801c403e703e603e503e4021303e303e203e103e0008b01c301c2003f01c101c003df03de0037002803dd00b503dc03db03da03d900db01bf00b4003203d8017a03d70179008e002a03d60178003c0123012201770121013501be017603d50175001201740173005f0120011a008b011f00a000da011e017201710170016f03d4014b014a016e0149014801470146014503d3016d01be01440143016c016b016a01690168009f016701660165016400d9000203d20163016203d1016101600092015f0076015e015d007500ce015c0062009300db015b0028015a00390093000d03d000b1005a03cf0001000a00040003000700890088000803ce000200300005000d0030008703cd008600a6005803cc0006008501250006012803cb003703ca001100150010008f0127009d00070091011200ce03c9002a03c8004d006400840049008d00830057005603c7004b005500820081005400530052005103c6004c03c50050001e00800036007f007e007d001d004f007c007b007a00250079003c000203c4007800bc01bd03c303c2001700c903c1008b03c000a003bf00a5002900b2001400a4007600a300a2007500a1000d009303be01bc001303bd01ea001303bc01c10013012103bb03ba008b03b9002f00b1005a017d00590001000a0004000300070089008803b8000803b7000200300005000d0030008703b600860085005803b5000603b403b301f103b2012403b1005f03b001f403af01f301f203ae03ad03ac03ab03aa03a903a803a703a603a503a403a303a201bb03a103a0039f039e018a039d018101c0039c0037039b039a03990398039703960395017a039401ba0393003d0392000701b90180002a017f004d0064008403910390008300570056038f004b0055008200810054005300520051038e004c038d0050001e00800036007f007e007d001d004f007c007b007a00250079003c0002038c007800bc0077008c00390028005c005b008b000200a0002f00a50029038b001400a4007600a300a2007500a1000d009300cd01cc017e00b1005a038a00590001000a000400030007008900880008000200300005000d0030008701d10086008500580129000601d000c103890037038800b5001500b4008f00c000bf00b30007008e01cf01800008017f004d006400840049008d0083005700560387004b00550082008100540053005200510386004c03850050001e00800036007f007e007d001d004f007c007b007a00250079003c00020384007800bc0077008c00390028005c005b008b000200a0002f00350037004900920142017c0124008a017b01410062009301c6011d01c503830382038101d20380037f0006037e00130011003f0044003e003d0010000e0043003b000c0042037d037c037b0193002a004100300019001700090022000f0048002100200009001f037a0006002303790006002700130026011c0006001100150010000e003a00090012001f01590006002700130023011c000600260006001100150010000e003a00090022000f0378002100200009001f03770006002303760006002700130026011c0006001100150010000e003a0009001200a701580006001f01570006002301560006002700130026011c0006001100150010000e0098000900740073037500140072001e001d005d00380071037400700373006f006e006d006c006b006a00050069006800670066002c00010029000400030032000900740073037200140072001e001d005d00380071037100700370006f006e006d006c006b006a00050069006800670066002c00010029000400030032000900740073036f00140072001e001d005d00380071036e0070036d006f006e006d006c006b006a00050069006800670066002c00010029000400030032000900740073036c00140072001e001d005d00380071036b0070036a006f006e006d006c006b006a00050069006800670066002c00010029000400030032000900740073036900140072001e001d005d00380071036800700367006f006e006d006c006b006a00050069006800670066002c00010029000400030032000900740073036600140072001e001d005d00380071036500700364006f006e006d006c006b006a00050069006800670066002c00010029000400030032000900740073036300140072001e001d005d00380071036200700361006f006e006d006c006b006a00050069006800670066002c00010029000400030032000900740073036000140072001e001d005d00380071035f0070035e006f006e006d006c006b006a00050069006800670066002c000100290004000300320009020d0012035d035c01c301c2035b011e035a0359005f035803570356001d035503540353035201b80214035101970350034f00d901b8034e034d034c034b034a034903480347034600cb0345034403430218034203410340033f0217033e033d033c0216033b033a033903380337033600190022000f00ca0021002000090022000f00480021002000090012001f01b700060027001300230034000600260006001100150010000e003a0009014d011100c500180001000a000400030007000c000b00080002004e000500b6001c009e000f00180001000a000400030007000c000b00080002004e0005009c00ae00310208001a001b0001000a000400030007000c000b00080002004e0005001c002b033500c500180001000a000400030007000c000b00080002004e00050065003100a9001a001b0001000a000400030007000c000b00080002004e0005001c002b033400c500180001000a000400030007000c000b00080002004e000500b7001a001b0001000a000400030007000c000b00080002004e0005009b009a00610117006000120011003f0044003e003d0010000e0043003b0090004200990116005f010e010d002a0041004e00c500180001000a000400030007000c000b00080002004e000500d8001a001b0001000a000400030007000c000b00080002004e0005001c002b033300c500180001000a000400030007000c000b00080002004e000500d8001a001b0001000a000400030007000c000b00080002004e0005009b009a0061006000120011003f0044003e003d0010000e0043003b00900042009900de005f01b60192002a0041004e0019001700090012010c010b03320022000f0048002100200009010a0109002f01080107010601050014010401030102009f002500380101033100950062033000cb010000ff0013009500fe032f0022000f00ca00210020000900fd00d000fc00fb000600fa00a800be00f900f8032e00f7003600f600f500f400f300f200f100f000ef002500ee00ed00ec032d00eb001700c9015500ea00bd00e900e8012600e700e60006009700e50110009400e4001300e300b00094010f00e200e100c8003300e000c7002d00ac002c00df00d800d4011d00d300110015001000b800d2009d0032009100090031001a001b0001000a000400030007000c000b00080002032c0005001900170009000f00180001000a000400030007000c000b00080002032b0005001900170009021e009e005e000f00180001000a000400030007000c000b0008000201540005009c0031001a001b0001000a000400030007000c000b0008000201540005001c002b032a00b702010329013e0060001200130011003f0044003e003d0010000e0043003b00d10042013a020001ff002a00410154001900170009001200a701390006001f0138000600230137000600270013002600340006001100150010000e009800090012001f01fc00060023018f000600270013002600340006001100150010000e003a000901b500ae009e005e000f00180001000a000400030007000c000b0008000201b40005009c0031001a001b0001000a000400030007000c000b0008000201b401530005001c002b0328032703260013018500310325032401b300cf0323018a032203210320021901b200b7003101b1031f00370028031e01b001af01ae000e021101ad01ac01ba01b900b800be01ab0179008e002a0178003c0123012201770121013501aa017601520175001201740173005f0120011a031d011f031c00da011e017201710170016f031b014b014a016e01490148014701460145031a016d01aa01440143016c016b016a01690168009f016701660165016400d900020319016301620318016101600092015f0076015e015d007500ce015c006201a900db015b0028015a003901a9000d03170019001700090022000f004800210020000903160315001303140313001303120311001300c700c80310013b00130001030f030e000e009800090012001f015900060027001300230034000600260006001100150010000e003a0009001200a701580006001f0157000600230156000600270013002600340006001100150010000e0098000900cc00ac0097005e000f00180001000a000400030007000c000b0008000201510005009c003100a9001a001b0001000a000400030007000c000b0008000201510005001c002b030d0182030c030b0012001f0006030a030900cf0023013f01c401b300130185003103080307030600da01b201b1030500370028030401b001ad01ac00b300db01af01ae0032008e00b800be01ab0179008e002a0178003c0123012201770121013501a8017601520175001201740173005f0120011a0303011f030200da011e017201710170016f0301014b014a016e014901480147014601450300016d01a801440143016c016b016a01690168009f016701660165016400d9000202ff0163016202fe016101600092015f0076015e015d007500ce015c006201a700db015b0028015a003901a7000d02fd0012006500130011003f0044003e003d0010000e0043003b00d10042013a01a600a8002a004101510019001700090022000f0048002100200009001200a701390006001f0138000600230137000600270013002600340006001100150010000e009800090012001f01a50006002301a4000600270013002600340006001100150010000e003a00090012001f015900060027001300230034000600260006001100150010000e003a0009001200a701580006001f0157000600230156000600270013002600340006001100150010000e0098000901b50097005e000f00180001000a000400030007000c000b0008000201500005009c00a90031001a001b0001000a000400030007000c000b0008000201500005001c002b02fc018402fb013f02fa0058012802f9014f02f802f700110153017a003e01bf0010000702f6003b009002f502f4005f002a018402f3003c0123012202f2011801a302f1015202f0015301bb0190005f0120011a02ef011f02ee00da02ed02ec02eb0057005602ea004b005502e902e8005400530052005102e7004c01a3005002e602e5003602e402e302e2018d004f02e102e002df02de0012006202dd02dc0011003f0044003e003d0010000e0043003b00d10042013a01a6005f002a00410150001900170009001200a701390006001f0138000600230137000600270013002600340006001100150010000e009800090012001f01a50006002301a4000600270013002600340006001100150010000e003a0009001f02db0006002302da000600270013002600340006001100150010000e003a00090022000f0048002100200009014d00ac0188000f00180001000a000400030007000c000b0008000200ab000500b6001c009e000f00180001000a000400030007000c000b0008000200ab0005009c00ae0031001a001b0001000a000400030007000c000b0008000200ab0005001c002b02d9011b000f00180001000a000400030007000c000b0008000200ab00050065003100a9001a001b0001000a000400030007000c000b0008000200ab0005001c002b02d8011b000f00180001000a000400030007000c000b0008000200ab000500b7001a001b0001000a000400030007000c000b0008000200ab0005009b009a00610117006000120011003f0044003e003d0010000e0043003b009000420099011601a2010e010d002a004100ab0019001700090012010c010b02d70022000f0048002100200009010a0109002f01080107010601050014010401030102009f00250038010102d60095006202d500cb010000ff0013009500fe02d40022000f00ca00210020000900fd00d000fc00fb000600fa00a800be00f900f802d300f7003600f600f500f400f300f200f100f000ef002500ee00ed00ec02d200eb001700c9015500ea00bd00e900e8012600e700e60006009700e50110009400e4001300e300b00094010f00e200e100c8003300e000c7002d00ac002c00df00d800d4011d00d300110015001000b800d2009d003200910009014d00ac0188000f00180001000a000400030007000c000b0008000200aa000500b6001c009e000f00180001000a000400030007000c000b0008000200aa0005009c00ae0031001a001b0001000a000400030007000c000b0008000200aa0005001c002b02d1011b000f00180001000a000400030007000c000b0008000200aa00050065003100a9001a001b0001000a000400030007000c000b0008000200aa0005001c002b02d0011b000f00180001000a000400030007000c000b0008000200aa000500b7001a001b0001000a000400030007000c000b0008000200aa0005009b009a0061006000120011003f0044003e003d0010000e0043003b00900042009900de01a2010e010d002a004100aa0019001700090012010c010b02cf0022000f0048002100200009010a0109002f01080107010601050014010401030102009f00250038010102ce0095006202cd00cb010000ff0013009500fe02cc0022000f00ca00210020000900fd00d000fc00fb000600fa00a800be00f900f802cb00f7003600f600f500f400f300f200f100f000ef002500ee00ed00ec02ca00eb001700c9015500ea00bd00e900e8012600e700e60006009700e50110009400e4001300e300b00094010f00e200e100c8003300e000c7002d00ac002c00df00d800d4011d00d300110015001000b800d2009d00320091000900cc01bc02c902c802c702c602c502c402c3009202c202c102c002bf021b02be02bd02bc02bb01bd02ba020e02b9020602b802b7001a0001000a00040003000700d1000b0008000202b6013b01b602b502b402b30005001402b202b102b002af00d900b602ae02ad02ac02ab013c007702aa00390028005c005b02a9000202a8002f01db00190022000f01fd0021002000090022000f004800210020000900170009000d02a700190012001f01b700060027001300230034000600260006001100150010000e003a000902a6014f00190028001902a5014f00190028001902a40024000900000000000000000000000001a100000000000000c602a3000000000000000001a100c600c602a2000002a1000002a00000000000000000000001a00000000000000000029f000000000000029e000000000000029d000000000000029c000000000000029b000000000000029a0000000000000299000000000000029800000000000002970000000000000296000000000000029500000000000002940000000000000293000000000000029200000000000002910000000000000290000000000000028f000000000000028e000000000000028d000000000000028c000000000000028b000000000000028a00000000000002890000000000000288000000000000028700000000000002860000000000000285028402830282028100000000019f00000280000000000000027f000000000000027e00000000000000000000027d0000014e0000027c0000014e000000000000027b027a027902780000000002770000014e0000019f00000276027502740273019e027202710000027000000000000000000000026f0000026e000000000000026d026c026b026a0000000002690000019e0268026700000266026502640263019d0000019c0000026202610260025f019d000001a00000025e00000000000000000000019c0000025d000000000000000000000000025c025b00c600c600c6025a00000000000002590000000000000258025700000000019b025602550000025402530252000002510250024f024e0000024d00000000024c024b00000000019b024a024902480247000000000000024600000000000000000000000002450244024300000000019a024202410240023f000000000000023e000000000000023d023c023b023a0199023902380000019a0237023602350199023402330000000000000000023202310230022f022e022d000000000000022c022b022a0229022802270226022502240223000000000000000000000000022202210220021f0000000000000000000000000000", + "logIndex": 20, + "blockHash": "0xb09df447bc124e888738142b44b488c5dfc3a3035b2563df09a0aeba5d831041" + }, + { + "transactionIndex": 3, + "blockNumber": 2344165, + "transactionHash": "0x7249f340f63f1529882d6bc0cc4e9df6ddefcdc7ce4252d896c0f718fcd54293", + "address": "0x0000000000000000000000000000000000008004", + "topics": [ + "0xc94722ff13eacf53547c4741dab5228353a05938ffcdd5d4a2d533ae0e618287", + "0x0100062d5cc0882c93c690a050905c1f5dc01caee726a0be7302865a9dbf69d4", + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "data": "0x", + "logIndex": 21, + "blockHash": "0xb09df447bc124e888738142b44b488c5dfc3a3035b2563df09a0aeba5d831041" + }, + { + "transactionIndex": 3, + "blockNumber": 2344165, + "transactionHash": "0x7249f340f63f1529882d6bc0cc4e9df6ddefcdc7ce4252d896c0f718fcd54293", + "address": "0xd2510d734442663b2f02FB7930e7893Ca4B06995", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000001a267d3f9f5116df6ae00a4ad698cdcf27b71920", + "0x0000000000000000000000001a267d3f9f5116df6ae00a4ad698cdcf27b71920" + ], + "data": "0x", + "logIndex": 22, + "blockHash": "0xb09df447bc124e888738142b44b488c5dfc3a3035b2563df09a0aeba5d831041" + }, + { + "transactionIndex": 3, + "blockNumber": 2344165, + "transactionHash": "0x7249f340f63f1529882d6bc0cc4e9df6ddefcdc7ce4252d896c0f718fcd54293", + "address": "0xd2510d734442663b2f02FB7930e7893Ca4B06995", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0x339759585899103d2ace64958e37e18ccb0504652c81d4a1b8aa80fe2126ab95", + "0x0000000000000000000000001a267d3f9f5116df6ae00a4ad698cdcf27b71920", + "0x0000000000000000000000001a267d3f9f5116df6ae00a4ad698cdcf27b71920" + ], + "data": "0x", + "logIndex": 23, + "blockHash": "0xb09df447bc124e888738142b44b488c5dfc3a3035b2563df09a0aeba5d831041" + }, + { + "transactionIndex": 3, + "blockNumber": 2344165, + "transactionHash": "0x7249f340f63f1529882d6bc0cc4e9df6ddefcdc7ce4252d896c0f718fcd54293", + "address": "0xd2510d734442663b2f02FB7930e7893Ca4B06995", + "topics": [ + "0xf43f23b7a28e6f8ce6843a21bd7b48bce778aa913b8c8cf459edf7d770e8d38a", + "0x000000000000000000000000d2510d734442663b2f02fb7930e7893ca4b06995" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000445c0", + "logIndex": 24, + "blockHash": "0xb09df447bc124e888738142b44b488c5dfc3a3035b2563df09a0aeba5d831041" + }, + { + "transactionIndex": 3, + "blockNumber": 2344165, + "transactionHash": "0x7249f340f63f1529882d6bc0cc4e9df6ddefcdc7ce4252d896c0f718fcd54293", + "address": "0x0000000000000000000000000000000000008006", + "topics": [ + "0x290afdae231a3fc0bbae8b1af63698b0a1d79b21ad17df0342dfb952fe74f8e5", + "0x0000000000000000000000001a267d3f9f5116df6ae00a4ad698cdcf27b71920", + "0x0100062d5cc0882c93c690a050905c1f5dc01caee726a0be7302865a9dbf69d4", + "0x000000000000000000000000d2510d734442663b2f02fb7930e7893ca4b06995" + ], + "data": "0x", + "logIndex": 25, + "blockHash": "0xb09df447bc124e888738142b44b488c5dfc3a3035b2563df09a0aeba5d831041" + }, + { + "transactionIndex": 3, + "blockNumber": 2344165, + "transactionHash": "0x7249f340f63f1529882d6bc0cc4e9df6ddefcdc7ce4252d896c0f718fcd54293", + "address": "0x000000000000000000000000000000000000800A", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000008001", + "0x0000000000000000000000001a267d3f9f5116df6ae00a4ad698cdcf27b71920" + ], + "data": "0x000000000000000000000000000000000000000000000000002a4f611aafd300", + "logIndex": 26, + "blockHash": "0xb09df447bc124e888738142b44b488c5dfc3a3035b2563df09a0aeba5d831041" + } + ], + "blockNumber": 2344165, + "cumulativeGasUsed": "0", + "status": 1, + "byzantium": true + }, + "args": [ + "SyncSwapAdapter", + "0xf2DAd89f2788a8CD54625C60b55cD3d2D0ACa7Cb", + "0x5b9f21d407F35b10CbfDDca17D5D84b129356ea3", + "0x621425a1Ef6abE91058E9712575dcc4258F8d091", + 280000 + ], + "numDeployments": 1, + "solcInputHash": "32ca8813f3b23e7384002a882087b2e8", + "metadata": { + "optimizer_settings": "M3B3", + "solc_metadata": "{\"compiler\":{\"version\":\"0.8.4+commit.c7e474f2\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"_factory\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_stableFactory\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_vault\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_swapGasEstimate\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Recovered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_adapter\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_newEstimate\",\"type\":\"uint256\"}],\"name\":\"UpdatedGasEstimate\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_tokenFrom\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_tokenTo\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amountIn\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amountOut\",\"type\":\"uint256\"}],\"name\":\"YakAdapterSwap\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MAINTAINER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"addedMaintainer\",\"type\":\"address\"}],\"name\":\"addMaintainer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amountIn\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_tokenIn\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_tokenOut\",\"type\":\"address\"}],\"name\":\"query\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"recoverAVAX\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_tokenAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenAmount\",\"type\":\"uint256\"}],\"name\":\"recoverERC20\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"removedMaintainer\",\"type\":\"address\"}],\"name\":\"removeMaintainer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_spender\",\"type\":\"address\"}],\"name\":\"revokeAllowance\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_estimate\",\"type\":\"uint256\"}],\"name\":\"setSwapGasEstimate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amountIn\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_amountOut\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_fromToken\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_toToken\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"}],\"name\":\"swap\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"swapGasEstimate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event.\"},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event.\"},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/contracts/adapters/SyncSwapAdapter.sol\":\"SyncSwapAdapter\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[],\"viaIR\":true},\"sources\":{\"@openzeppelin/contracts/access/AccessControl.sol\":{\"keccak256\":\"0x5b35d8e68aeaccc685239bd9dd79b9ba01a0357930f8a3307ab85511733d9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba8eb2d22f9321bd4660f6617c181d9611ff30a9b089408b8c6e2216d6d5cdc5\",\"dweb:/ipfs/QmTSJvhjHfnUV1j4hsqDv8PmLvGBLRs9gHLjTUXrUJ5Y9q\"]},\"@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a\",\"dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0xaf159a8b1923ad2a26d516089bceca9bdeaeacd04be50983ea00ba63070f08a3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f2cf1c531122bc7ca96b8c8db6a60deae60441e5223065e792553d4849b5638\",\"dweb:/ipfs/QmPBdJmBBABMDCfyDjCbdxgiqRavgiSL88SYPGibgbPas9\"]},\"@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"src/contracts/YakAdapter.sol\":{\"keccak256\":\"0x377c666774047a318fa2f7c6f82eccbe64343e18d26df56abfa991e5ea88361a\",\"license\":\"GPL-3.0-only\",\"urls\":[\"bzz-raw://97ff18d18e5a0a7b1fd2a6d484abd2831911bd68889c9b7506d18800e3ac7ba1\",\"dweb:/ipfs/QmdbTGqS9f6ugkrXKDGhKXvTiGvi1QhjFmrWo9TcDtrvL7\"]},\"src/contracts/adapters/SyncSwapAdapter.sol\":{\"keccak256\":\"0x4bb121f07ba849be6832147e980194a7885550d929ba24aa873925801a08cb25\",\"license\":\"GPL-3.0-only\",\"urls\":[\"bzz-raw://08b1cecb0a970e37f5324c1e83242e15b0696bf214f7b7da84cc51fc9cc33aab\",\"dweb:/ipfs/QmUPBmdR6G7ZG75TpvtRJHanCZMxeoQJLWsBcgWg61pfAj\"]},\"src/contracts/interface/IERC20.sol\":{\"keccak256\":\"0x7b2d64b5cf6350bd5590f96eaea048fcf0182b50fc22f1075adeed1a98325932\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a46d7b05a39141be8f75a706b5525bd1d42f18c3acb20f71abe68bcc5b9513c\",\"dweb:/ipfs/QmYHYnVyVYoNp69BDmDwn4USKn5jFExzSRhXfEeQonz6C5\"]},\"src/contracts/lib/Maintainable.sol\":{\"keccak256\":\"0xcf17b3f89386f661ee6230c9774bc88a119f2385111279497bbb443209ad6bb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e0018ced83e9f5a9d7e51eff74e5bb4cb4ab56ef8cfe008a1d1b4c5623478baf\",\"dweb:/ipfs/QmUeaoPLux58rffKpD3jWkp7fZB1YFV4sDYm2985tB8pAZ\"]},\"src/contracts/lib/SafeERC20.sol\":{\"keccak256\":\"0x2d77601f615804eb7471002f23f9a4593f86ac295e7353c2e7545f51d4f81728\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://587682afca9226a1b032c66bcc536d191dc7d1cc91fee950278bad70d46b4fa1\",\"dweb:/ipfs/QmPC5y2N2gLAkpJgHmgwHdDH6d3oNPLFVqWCqUhiKNZJip\"]}},\"version\":1}", + "zk_version": "1.3.8" + }, + "bytecode": "0x0004000000000002000100000000000200000000030100190000006003300270000005d30430019700030000004103550002000000010355000005d30030019d000100000000001f00000001012001900000002b0000c13d0000008001000039000000400010043f0000000001000031000000040210008c000000b90000413d0000000201000367000000000101043b000000e001100270000005da0210009c000000c30000213d000005e80210009c000000d90000213d000005ef0210009c0000011e0000a13d000005f00210009c000001910000613d000005f10210009c000001ae0000613d000005f20110009c0000025e0000c13d0000000001000416000000000110004c0000025e0000c13d00000000010000311746043d0000040f174609de0000040f000005d301000041000000400200043d000005d30320009c00000000010240190000004001100210000017470001042e000000e001000039000000400010043f0000000001000416000000000110004c0000025e0000c13d00000000030000310000001f02300039000000200100008a000000000412016f000000400500043d0000000002540019000000000442004b00000000040000190000000104004039000005d40620009c000000bd0000213d0000000104400190000000bd0000c13d000000400020043f0000001f0230018f000000020400036700000005063002720000004b0000613d000000000700001900000005087002100000000009850019000000000884034f000000000808043b00000000008904350000000107700039000000000867004b000000430000413d000000000720004c0000005a0000613d0000000506600210000000000464034f00000000066500190000000302200210000000000706043300000000072701cf000000000727022f000000000404043b0000010002200089000000000424022f00000000022401cf000000000272019f0000000000260435000005d502000041000000a00430008c00000000040000190000000004024019000005d506300197000000000760004c000000000200a019000005d50660009c000000000204c019000000000220004c0000025e0000c13d0000000024050434000005d40640009c0000025e0000213d000000000635001900000000035400190000001f04300039000005d507000041000000000864004b00000000080000190000000008078019000005d504400197000005d509600197000000000a94004b0000000007008019000000000494013f000005d50440009c00000000040800190000000004076019000000000440004c0000025e0000c13d0000000004030433000005d40740009c000000bd0000213d0000003f07400039000000000717016f000000400100043d0000000007710019000000000817004b00000000080000190000000108004039000005d40970009c000000bd0000213d0000000108800190000000bd0000c13d000000400070043f000000000041043500000020074000390000000008370019000000000668004b0000025e0000213d000000000640004c0000009b0000613d000000000600001900000020066000390000000008160019000000000936001900000000090904330000000000980435000000000846004b000000900000413d000000000346004b0000009b0000a13d000000000317001900000000000304350000000002020433000005d60320009c0000025e0000213d00000040035000390000000003030433000005d60430009c0000025e0000213d00000060045000390000000004040433000005d60640009c0000025e0000213d00000080055000390000000005050433174602600000040f000000800100043d000000a00200043d000000c00300043d0000014000000443000001600030044300000020030000390000018000300443000001a0002004430000004002000039000001c000200443000001e000100443000001000030044300000003010000390000012000100443000005d701000041000017470001042e000000000110004c0000025e0000c13d0000000001000019000017470001042e000005d80100004100000000001004350000004101000039000000040010043f000005d9010000410000174800010430000005db0210009c000000fc0000213d000005e20210009c000001430000a13d000005e30210009c000001ba0000613d000005e40210009c000001cf0000613d000005e50110009c0000025e0000c13d0000000001000416000000000110004c0000025e0000c13d00000000010000311746043d0000040f174615db0000040f000005d301000041000000400200043d000005d30320009c00000000010240190000004001100210000017470001042e000005e90210009c000001620000a13d000005ea0210009c000001e80000613d000005eb0210009c000001f40000613d000005ec0110009c0000025e0000c13d0000000001000416000000000110004c0000025e0000c13d000000040100008a0000000001100031000005d502000041000000200310008c00000000030000190000000003024019000005d501100197000000000410004c000000000200a019000005d50110009c00000000010300190000000001026019000000000110004c0000025e0000c13d00000004010000390000000201100367000000000101043b174611da0000040f000005d301000041000000400200043d000005d30320009c00000000010240190000004001100210000017470001042e000005dc0210009c000001810000a13d000005dd0210009c000002000000613d000005de0210009c0000020e0000613d000005df0110009c0000025e0000c13d0000000001000416000000000110004c0000025e0000c13d000000040100008a0000000001100031000005d502000041000000000310004c00000000030000190000000003024019000005d501100197000000000410004c000000000200a019000005d50110009c00000000010300190000000001026019000000000110004c0000025e0000c13d000000400100043d000005f5020000410000000000210435000005d302000041000005d30310009c00000000010280190000004001100210000005f6011001c7000017470001042e000005f30210009c0000021a0000613d000005f40110009c0000025e0000c13d0000000001000416000000000110004c0000025e0000c13d000000040100008a0000000001100031000005d502000041000000000310004c00000000030000190000000003024019000005d501100197000000000410004c000000000200a019000005d50110009c00000000010300190000000001026019000000000110004c0000025e0000c13d174616d70000040f0000000002010019000000400100043d000100000001001d174604b70000040f00000001040000290000000001410049000005d302000041000005d30310009c0000000001028019000005d30340009c000000000204401900000040022002100000006001100210000000000121019f000017470001042e000005e60210009c0000022b0000613d000005e70110009c0000025e0000c13d0000000001000416000000000110004c0000025e0000c13d000000040100008a0000000001100031000005d502000041000000200310008c00000000030000190000000003024019000005d501100197000000000410004c000000000200a019000005d50110009c00000000010300190000000001026019000000000110004c0000025e0000c13d00000004010000390000000201100367000000000101043b1746096c0000040f000005d301000041000000400200043d000005d30320009c00000000010240190000004001100210000017470001042e000005ed0210009c000002370000613d000005ee0110009c0000025e0000c13d0000000001000416000000000110004c0000025e0000c13d000000040100008a0000000001100031000005d502000041000000000310004c00000000030000190000000003024019000005d501100197000000000410004c000000000200a019000005d50110009c00000000010300190000000001026019000000000110004c0000025e0000c13d0000000101000039000000000101041a000000400200043d0000000000120435000005d301000041000005d30320009c00000000010240190000004001100210000005f6011001c7000017470001042e000005e00210009c000002520000613d000005e10110009c0000025e0000c13d0000000001000416000000000110004c0000025e0000c13d0000000001000031174604850000040f17460a500000040f000005d301000041000000400200043d000005d30320009c00000000010240190000004001100210000017470001042e0000000001000416000000000110004c0000025e0000c13d000000040100008a0000000001100031000005d502000041000000200310008c00000000030000190000000003024019000005d501100197000000000410004c000000000200a019000005d50110009c00000000010300190000000001026019000000000110004c0000025e0000c13d00000004010000390000000201100367000000000101043b1746085e0000040f000000400200043d0000000000120435000005d301000041000005d30320009c00000000010240190000004001100210000005f6011001c7000017470001042e0000000001000416000000000110004c0000025e0000c13d00000000010000311746043d0000040f174614de0000040f000005d301000041000000400200043d000005d30320009c00000000010240190000004001100210000017470001042e0000000001000416000000000110004c0000025e0000c13d00000000010000311746043d0000040f000100000002001d174611ca0000040f0000000102000029174611b90000040f000000000101041a000000ff011001900000000001000019000000010100c039000000400200043d0000000000120435000005d301000041000005d30320009c00000000010240190000004001100210000005f6011001c7000017470001042e0000000001000416000000000110004c0000025e0000c13d000000040100008a0000000001100031000005d502000041000000000310004c00000000030000190000000003024019000005d501100197000000000410004c000000000200a019000005d50110009c00000000010300190000000001026019000000000110004c0000025e0000c13d000000400100043d0000000000010435000005d302000041000005d30310009c00000000010280190000004001100210000005f6011001c7000017470001042e0000000001000416000000000110004c0000025e0000c13d0000000001000031174603f80000040f174607610000040f000005d301000041000000400200043d000005d30320009c00000000010240190000004001100210000017470001042e0000000001000416000000000110004c0000025e0000c13d00000000010000311746040d0000040f1746123e0000040f000005d301000041000000400200043d000005d30320009c00000000010240190000004001100210000017470001042e0000000001000416000000000110004c0000025e0000c13d00000000010000311746046a0000040f174604e20000040f000000400200043d0000000000120435000005d301000041000005d30320009c00000000010240190000004001100210000005f6011001c7000017470001042e0000000001000416000000000110004c0000025e0000c13d0000000001000031174603f80000040f1746106d0000040f000005d301000041000000400200043d000005d30320009c00000000010240190000004001100210000017470001042e0000000001000416000000000110004c0000025e0000c13d0000000001000031174604540000040f000005f701100197000005f80210009c00000000020000190000000102006039000005f90110009c00000000010000190000000101006039000000000121019f000000010110018f000000800010043f000005fa01000041000017470001042e0000000001000416000000000110004c0000025e0000c13d0000000001000031174604260000040f174613170000040f000005d301000041000000400200043d000005d30320009c00000000010240190000004001100210000017470001042e0000000001000416000000000110004c0000025e0000c13d000000040100008a0000000001100031000005d502000041000000200310008c00000000030000190000000003024019000005d501100197000000000410004c000000000200a019000005d50110009c00000000010300190000000001026019000000000110004c0000025e0000c13d00000004010000390000000201100367000000000101043b1746141a0000040f000005d301000041000000400200043d000005d30320009c00000000010240190000004001100210000017470001042e0000000001000416000000000110004c0000025e0000c13d0000000001000031174603f80000040f174608700000040f000005d301000041000000400200043d000005d30320009c00000000010240190000004001100210000017470001042e00000000010000190000174800010430000a000000000002000800000005001d000700000004001d000600000003001d000500000002001d000900000001001d0000000000000435000000200000043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000003b10000613d000000000101043b0000000002000411000400000002001d000005d602200197000a00000002001d0000000000200435000000200010043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000003b10000613d000000000101043b000000000101041a000000ff01100190000002bb0000c13d0000000000000435000000200000043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000003b10000613d000000000101043b0000000a020000290000000000200435000000200010043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000003b10000613d000000000101043b000000000201041a000001000300008a000000000232016f00000001022001bf000000000021041b000000400100043d000005d3020000410000000003000414000005d30430009c0000000003028019000005d30410009c00000000010280190000004001100210000000c002300210000000000112019f000005fc011001c70000800d020000390000000403000039000005fd040000410000000005000019000000040600002900000000070600191746173c0000040f0000000101200190000003b10000613d000005f5010000410000000000100435000000200000043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000003b10000613d000000000101043b0000000a020000290000000000200435000000200010043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000003b10000613d000000000101043b000000000101041a000000ff011001900000030f0000c13d000005f5010000410000000000100435000000200000043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000003b10000613d000000000101043b0000000a020000290000000000200435000000200010043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000003b10000613d000000000101043b000000000201041a000001000300008a000000000232016f00000001022001bf000000000021041b000000400100043d000005d3020000410000000003000414000005d30430009c0000000003028019000005d30410009c00000000010280190000004001100210000000c002300210000000000112019f000005fc011001c70000800d020000390000000403000039000005fd04000041000005f505000041000000040600002900000000070600191746173c0000040f0000000101200190000003b10000613d00000009060000290000000058060434000000000180004c000003b30000613d000005fe0180009c000003c50000813d0000000207000039000000000107041a000000010210019000000001011002700000007f0310018f000000000401001900000000040360190000001f0140008c00000000010000190000000101002039000000010110018f000000000112004b000003cb0000c13d000000000184019f000000200110008c00000000010000190000033b0000413d000100000004001d000200000005001d000300000008001d000400000007001d0000000000700435000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005ff011001c70000801002000039174617410000040f0000000102200190000003b10000613d000000000101043b00000009060000290000000407000029000000030800002900000002050000290000000104000029000000200240008c0000034c0000413d0000001f028000390000000502200270000000200380008c000000000302001900000000030040190000001f02400039000000050220027000000000022100190000000003310019000000000423004b0000034c0000813d000000000003041b0000000103300039000000000423004b000003480000413d0000001f0280008c0000036a0000a13d000000200200008a000000000328017000000020020000390000035c0000613d0000002002000039000000000400001900000000056200190000000005050433000000000051041b000000200220003900000001011000390000002004400039000000000534004b000003540000413d000000000383004b000003670000813d0000000303800210000000f80330018f000000010400008a000000000334022f000000000343013f00000000026200190000000002020433000000000232016f000000000021041b00000001010000390000000102800210000003710000013d0000000301800210000000010200008a000000000112022f000000000121013f0000000002050433000000000212016f0000000101800210000000000112019f000000000017041b000005f5010000410000000000100435000000200000043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000003b10000613d000000000101043b0000000a020000290000000000200435000000200010043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000003b10000613d000000000101043b000000000101041a000000ff01100190000003d10000613d0000000802000029000000000120004c000003e60000613d0000000101000039000000000021041b000000400100043d0000000000210435000005d3020000410000000003000414000005d30430009c0000000003028019000005d30410009c00000000010280190000004001100210000000c002300210000000000112019f000005ff011001c70000800d020000390000000203000039000006000400004100000000050004101746173c0000040f0000000101200190000003b10000613d0000000501000029000000800010043f0000000601000029000000a00010043f0000000701000029000000c00010043f000000000001042d00000000010000190000174800010430000000400100043d00000044021000390000060703000041000000000032043500000024021000390000001403000039000000000032043500000602020000410000000000210435000000040210003900000020030000390000000000320435000005d302000041000005d30310009c0000000001028019000000400110021000000603011001c70000174800010430000005d80100004100000000001004350000004101000039000000040010043f000005d9010000410000174800010430000005d80100004100000000001004350000002201000039000000040010043f000005d9010000410000174800010430000000400100043d00000064021000390000060403000041000000000032043500000044021000390000060503000041000000000032043500000024021000390000002803000039000000000032043500000602020000410000000000210435000000040210003900000020030000390000000000320435000005d302000041000005d30310009c0000000001028019000000400110021000000606011001c70000174800010430000000400100043d00000044021000390000060103000041000000000032043500000024021000390000001403000039000000000032043500000602020000410000000000210435000000040210003900000020030000390000000000320435000005d302000041000005d30310009c0000000001028019000000400110021000000603011001c70000174800010430000000040110008a000005d5020000410000001f0310008c00000000030000190000000003022019000005d501100197000000000410004c0000000002008019000005d50110009c00000000010300190000000001026019000000000110004c0000040b0000613d00000004010000390000000201100367000000000101043b000005d60210009c0000040b0000213d000000000001042d00000000010000190000174800010430000000040110008a000005d5020000410000003f0310008c00000000030000190000000003022019000005d501100197000000000410004c0000000002008019000005d50110009c00000000010300190000000001026019000000000110004c000004240000613d00000002020003670000000401200370000000000101043b000005d60310009c000004240000213d0000002402200370000000000202043b000005d60320009c000004240000213d000000000001042d00000000010000190000174800010430000000040110008a000005d5020000410000003f0310008c00000000030000190000000003022019000005d501100197000000000410004c0000000002008019000005d50110009c00000000010300190000000001026019000000000110004c0000043b0000613d00000002020003670000000401200370000000000101043b000005d60310009c0000043b0000213d0000002402200370000000000202043b000000000001042d00000000010000190000174800010430000000040110008a000005d5020000410000003f0310008c00000000030000190000000003022019000005d501100197000000000410004c0000000002008019000005d50110009c00000000010300190000000001026019000000000110004c000004520000613d00000002010003670000002402100370000000000202043b000005d60320009c000004520000213d0000000401100370000000000101043b000000000001042d00000000010000190000174800010430000000040110008a000005d5020000410000001f0310008c00000000030000190000000003022019000005d501100197000000000410004c0000000002008019000005d50110009c00000000010300190000000001026019000000000110004c000004680000613d00000004010000390000000201100367000000000101043b000005f702100197000000000221004b000004680000c13d000000000001042d00000000010000190000174800010430000000040110008a000005d5020000410000005f0310008c00000000030000190000000003022019000005d501100197000000000410004c0000000002008019000005d50110009c00000000010300190000000001026019000000000110004c000004830000613d00000002030003670000000401300370000000000101043b0000002402300370000000000202043b000005d60420009c000004830000213d0000004403300370000000000303043b000005d60430009c000004830000213d000000000001042d00000000010000190000174800010430000000040110008a000005d5020000410000009f0310008c00000000030000190000000003022019000005d501100197000000000410004c0000000002008019000005d50110009c00000000010300190000000001026019000000000110004c000004a40000613d00000002050003670000002401500370000000000201043b0000000401500370000000000101043b0000004403500370000000000303043b000005d60430009c000004a40000213d0000006404500370000000000404043b000005d60640009c000004a40000213d0000008405500370000000000505043b000005d60650009c000004a40000213d000000000001042d0000000001000019000017480001043000000000030100190000000004030433000000000140004c0000000001240019000004b60000613d000000000500001900000000062500190000002005500039000000000735001900000000070704330000000000760435000000000645004b000004ac0000413d000000000245004b000004b60000a13d0000000000010435000000000001042d00000020030000390000000004310436000000000302043300000000003404350000004001100039000000000430004c000004ca0000613d000000000400001900000000051400190000002004400039000000000624001900000000060604330000000000650435000000000534004b000004bf0000413d000000000234004b000004ca0000a13d000000000213001900000000000204350000001f02300039000000200300008a000000000232016f0000000001120019000000000001042d0000001f02200039000000200300008a000000000232016f0000000001120019000000000221004b00000000020000190000000102004039000005d40310009c000004dc0000213d0000000102200190000004dc0000c13d000000400010043f000000000001042d000005d80100004100000000001004350000004101000039000000040010043f000005d90100004100001748000104300007000000000002000000000423013f000005d6044001980000000005000019000006db0000613d000000000410004c000006db0000613d000600000003001d000700000002001d000400000001001d000006080100004100000000001004390000000001000412000200000001001d000000040010044300000040010000390000002400100443000005d3010000410000000002000414000005d30320009c0000000001024019000000c00110021000000609011001c70000800502000039174617410000040f0000000102200190000006dd0000613d000000000101043b0000060a020000410000000000200439000005d601100197000500000001001d0000000400100443000005d3010000410000000002000414000005d30320009c0000000001024019000000c0011002100000060b011001c70000800202000039174617410000040f0000000102200190000006dd0000613d000000000101043b000000000110004c000006dd0000613d000000400900043d0000060c0100004100000000001904350000000601000029000005d60310019700000024029000390000000001000414000100000003001d00000000003204350000000702000029000005d6032001970000000402900039000700000003001d00000000003204350000000502000029000000040320008c000005230000c13d0000000103000031000005550000013d000005d304000041000005d30310009c0000000001048019000005d30390009c000000000304001900000000030940190000004003300210000000c001100210000000000131019f0000060d011001c7000600000009001d174617410000040f000000060900002900000000030100190000006003300270000005d303300197000000200430008c000000200500003900000000050340190000001f0450018f0000000505500272000005420000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b0000053a0000413d000000000640004c000005510000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f00030000000103550000000102200190000006e50000613d0000001f01300039000000200200008a000600000002001d000000000221016f0000000001920019000000000221004b00000000020000190000000102004039000005d40310009c000006df0000213d0000000102200190000006df0000c13d000000400010043f000005d5010000410000000102000031000000200320008c00000000030000190000000003014019000005d502200197000000000420004c000000000100a019000005d50220009c000000000103c019000000000110004c000006dd0000c13d0000000004090433000005d60140009c000006dd0000213d000000000140004c0000000001000410000300000001001d0000000001000019000005e50000613d0000060a0100004100000000001004390000000400400443000005d3010000410000000002000414000005d30320009c0000000001024019000000c0011002100000060b011001c70000800202000039000500000004001d174617410000040f00000005040000290000000102200190000006dd0000613d000000000101043b000000000110004c000006dd0000613d000000400900043d0000060e0100004100000000001904350000000301000029000005d602100197000000440390003900000000010004140000000000230435000000240290003900000004030000290000000000320435000000040290003900000007030000290000000000320435000000040240008c0000059a0000c13d0000000103000031000005cc0000013d000005d302000041000005d30310009c0000000001028019000005d30390009c00000000020940190000004002200210000000c001100210000000000121019f00000603011001c70000000002040019000500000009001d174617410000040f000000050900002900000000030100190000006003300270000005d303300197000000200430008c000000200500003900000000050340190000001f0450018f0000000505500272000005b90000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b000005b10000413d000000000640004c000005c80000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f00030000000103550000000102200190000007230000613d0000001f013000390000000602000029000000000221016f0000000001920019000000000221004b00000000020000190000000102004039000005d40310009c000006df0000213d0000000102200190000006df0000c13d000000400010043f000005d5010000410000000102000031000000200320008c00000000030000190000000003014019000005d502200197000000000420004c000000000100a019000005d50220009c000000000103c019000000000110004c000006dd0000c13d0000000001090433000500000001001d000006080100004100000000001004390000000201000029000000040010044300000020010000390000002400100443000005d3010000410000000002000414000005d30320009c0000000001024019000000c00110021000000609011001c70000800502000039174617410000040f0000000102200190000006dd0000613d000000000101043b0000060a020000410000000000200439000005d601100197000200000001001d0000000400100443000005d3010000410000000002000414000005d30320009c0000000001024019000000c0011002100000060b011001c70000800202000039174617410000040f0000000102200190000006dd0000613d000000000101043b000000000110004c000006dd0000613d000000400900043d0000060c01000041000000000019043500000024029000390000000001000414000000010300002900000000003204350000000402900039000000070300002900000000003204350000000202000029000000040320008c000006180000c13d00000001030000310000064a0000013d000005d304000041000005d30310009c0000000001048019000005d30390009c000000000304001900000000030940190000004003300210000000c001100210000000000131019f0000060d011001c7000200000009001d174617410000040f000000020900002900000000030100190000006003300270000005d303300197000000200430008c000000200500003900000000050340190000001f0450018f0000000505500272000006370000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b0000062f0000413d000000000640004c000006460000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f00030000000103550000000102200190000007040000613d0000001f013000390000000602000029000000000221016f0000000001920019000000000221004b00000000020000190000000102004039000005d40310009c000006df0000213d0000000102200190000006df0000c13d000000400010043f000005d5010000410000000102000031000000200320008c00000000030000190000000003014019000005d502200197000000000420004c000000000100a019000005d50220009c000000000103c019000000000110004c000006dd0000c13d0000000004090433000005d60140009c000006dd0000213d000000000140004c0000000505000029000006db0000613d0000060a0100004100000000001004390000000400400443000005d3010000410000000002000414000005d30320009c0000000001024019000000c0011002100000060b011001c70000800202000039000200000004001d174617410000040f00000002040000290000000102200190000006dd0000613d000000000101043b000000000110004c000006dd0000613d000000400900043d0000060e0100004100000000001904350000000301000029000005d602100197000000440390003900000000010004140000000000230435000000240290003900000004030000290000000000320435000000040290003900000007030000290000000000320435000000040240008c0000068c0000c13d0000000103000031000006be0000013d000005d302000041000005d30310009c0000000001028019000005d30390009c00000000020940190000004002200210000000c001100210000000000121019f00000603011001c70000000002040019000700000009001d174617410000040f000000070900002900000000030100190000006003300270000005d303300197000000200430008c000000200500003900000000050340190000001f0450018f0000000505500272000006ab0000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b000006a30000413d000000000640004c000006ba0000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f00030000000103550000000102200190000007420000613d0000001f013000390000000602000029000000000221016f0000000001920019000000000221004b00000000020000190000000102004039000005d40310009c000006df0000213d0000000102200190000006df0000c13d000000400010043f000005d5010000410000000102000031000000200320008c00000000030000190000000003014019000005d502200197000000000420004c000000000100a019000005d50220009c000000000103c019000000000110004c000006dd0000c13d00000000010904330000000505000029000000000251004b000006db0000a13d00000000050100190000000001050019000000000001042d00000000010000190000174800010430000005d80100004100000000001004350000004101000039000000040010043f000005d90100004100001748000104300000001f0430018f0000000502300272000006f00000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b000006e90000413d000000000340004c000006fe0000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f0000000000120435000005d3010000410000000102000031000005d30320009c0000000001024019000000600110021000001748000104300000001f0430018f00000005023002720000070f0000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b000007080000413d000000000340004c0000071d0000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f0000000000120435000005d3010000410000000102000031000005d30320009c0000000001024019000000600110021000001748000104300000001f0430018f00000005023002720000072e0000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b000007270000413d000000000340004c0000073c0000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f0000000000120435000005d3010000410000000102000031000005d30320009c0000000001024019000000600110021000001748000104300000001f0430018f00000005023002720000074d0000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b000007460000413d000000000340004c0000075b0000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f0000000000120435000005d3010000410000000102000031000005d30320009c0000000001024019000000600110021000001748000104300003000000000002000300000001001d000005f5010000410000000000100435000000200000043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000007eb0000613d000000000101043b0000000101100039000000000101041a000100000001001d0000000000100435000000200000043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000007eb0000613d000000000101043b0000000002000411000200000002001d000005d6022001970000000000200435000000200010043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000007eb0000613d000000000101043b000000000101041a000000ff01100190000007ed0000613d000005f5010000410000000000100435000000200000043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000007eb0000613d000000000101043b0000000302000029000005d602200197000100000002001d0000000000200435000000200010043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000007eb0000613d000000000101043b000000000101041a000000ff01100190000007ea0000c13d000005f5010000410000000000100435000000200000043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000007eb0000613d000000000101043b00000001020000290000000000200435000000200010043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000007eb0000613d000000000101043b000000000201041a000001000300008a000000000232016f00000001022001bf000000000021041b000000400100043d000005d3020000410000000003000414000005d30430009c0000000003028019000005d30410009c00000000010280190000004001100210000000c002300210000000000112019f000005fc011001c70000800d020000390000000403000039000005fd04000041000005f505000041000000030600002900000002070000291746173c0000040f0000000101200190000007eb0000613d000000000001042d00000000010000190000174800010430000000400100043d00000000070100190000060f0110009c000007f70000413d000005d80100004100000000001004350000004101000039000000040010043f000005d901000041000017480001043000000000020700190000006001200039000000400010043f0000002a01000039000000000112043600000000020000310000000202200367000000000300001900000005043002100000000005410019000000000442034f000000000404043b00000000004504350000000103300039000000020430008c000007ff0000413d0000000002070433000000000220004c000008110000613d0000000002010433000006100220019700000611022001c700000000002104350000000002070433000000020220008c000008170000813d000005d80100004100000000001004350000003201000039000000040010043f000005d901000041000017480001043000000021027000390000000003020433000006100330019700000612033001c700000000003204350000002902000039000000020500002900000000030500190000000004070433000000000424004b000008110000a13d0000000f0430018f0000000304400210000000f80440015f0000061305000041000000000445022f000000000512001900000000060504330000061006600197000000f804400210000000000446019f00000000004504350000000405300270000000010220008a000000010420008c0000081e0000213d000000100130008c00000000010000190000000101004039000200000007001d174617280000040f0000000101000029174610170000040f000000400400043d000300000004001d000000200240003900000614030000410000000000320435000100000001001d00000037024000390000000201000029174604a60000040f0000061502000041000000000021043500000011021000390000000101000029174604a60000040f00000003030000290000000002310049000000200120008a00000000001304350000000001030019174604cf0000040f0000060201000041000000400200043d000200000002001d000000000012043500000004012000390000000302000029174604b70000040f00000002040000290000000001410049000005d302000041000005d30310009c0000000001028019000005d30340009c000000000204401900000040022002100000006001100210000000000121019f00001748000104300000000000100435000000200000043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f00000001022001900000086e0000613d000000000101043b0000000101100039000000000101041a000000000001042d000000000100001900001748000104300003000000000002000300000001001d000005f5010000410000000000100435000000200000043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000008f90000613d000000000101043b0000000101100039000000000101041a000100000001001d0000000000100435000000200000043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000008f90000613d000000000101043b0000000002000411000200000002001d000005d6022001970000000000200435000000200010043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000008f90000613d000000000101043b000000000101041a000000ff01100190000008fb0000613d000005f5010000410000000000100435000000200000043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000008f90000613d000000000101043b0000000302000029000005d602200197000100000002001d0000000000200435000000200010043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000008f90000613d000000000101043b000000000101041a000000ff01100190000008f80000613d000005f5010000410000000000100435000000200000043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000008f90000613d000000000101043b00000001020000290000000000200435000000200010043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000008f90000613d000000000101043b000000000201041a000001000300008a000000000232016f000000000021041b000000400100043d000005d3020000410000000003000414000005d30430009c0000000003028019000005d30410009c00000000010280190000004001100210000000c002300210000000000112019f000005fc011001c70000800d0200003900000004030000390000061604000041000005f505000041000000030600002900000002070000291746173c0000040f0000000101200190000008f90000613d000000000001042d00000000010000190000174800010430000000400100043d00000000070100190000060f0110009c000009050000413d000005d80100004100000000001004350000004101000039000000040010043f000005d901000041000017480001043000000000020700190000006001200039000000400010043f0000002a01000039000000000112043600000000020000310000000202200367000000000300001900000005043002100000000005410019000000000442034f000000000404043b00000000004504350000000103300039000000020430008c0000090d0000413d0000000002070433000000000220004c0000091f0000613d0000000002010433000006100220019700000611022001c700000000002104350000000002070433000000020220008c000009250000813d000005d80100004100000000001004350000003201000039000000040010043f000005d901000041000017480001043000000021027000390000000003020433000006100330019700000612033001c700000000003204350000002902000039000000020500002900000000030500190000000004070433000000000424004b0000091f0000a13d0000000f0430018f0000000304400210000000f80440015f0000061305000041000000000445022f000000000512001900000000060504330000061006600197000000f804400210000000000446019f00000000004504350000000405300270000000010220008a000000010420008c0000092c0000213d000000100130008c00000000010000190000000101004039000200000007001d174617280000040f0000000101000029174610170000040f000000400400043d000300000004001d000000200240003900000614030000410000000000320435000100000001001d00000037024000390000000201000029174604a60000040f0000061502000041000000000021043500000011021000390000000101000029174604a60000040f00000003030000290000000002310049000000200120008a00000000001304350000000001030019174604cf0000040f0000060201000041000000400200043d000200000002001d000000000012043500000004012000390000000302000029174604b70000040f00000002040000290000000001410049000005d302000041000005d30310009c0000000001028019000005d30340009c000000000204401900000040022002100000006001100210000000000121019f000017480001043000030000000000020000000003000411000005d602300197000300000002001d000100000003001d000006170230009c000009c90000813d000200000001001d0000000000100435000000200000043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000009c70000613d000000000101043b00000003020000290000000000200435000000200010043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000009c70000613d000000000101043b000000000101041a000000ff01100190000009c60000613d00000002010000290000000000100435000000200000043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000009c70000613d000000000101043b00000003020000290000000000200435000000200010043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000009c70000613d000000000101043b000000000201041a000001000300008a000000000232016f000000000021041b000000400100043d000005d3020000410000000003000414000005d30430009c0000000003028019000005d30410009c00000000010280190000004001100210000000c002300210000000000112019f000005fc011001c70000800d02000039000000040300003900000616040000410000000205000029000000010600002900000003070000291746173c0000040f0000000101200190000009c70000613d000000000001042d00000000010000190000174800010430000000400100043d00000064021000390000061803000041000000000032043500000044021000390000061903000041000000000032043500000024021000390000002f03000039000000000032043500000602020000410000000000210435000000040210003900000020030000390000000000320435000005d302000041000005d30310009c0000000001028019000000400110021000000606011001c700001748000104300003000000000002000100000002001d000005d6022001970000000003000411000300000002001d000000000232004b00000a3b0000c13d000200000001001d0000000000100435000000200000043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f000000010220019000000a390000613d000000000101043b00000003020000290000000000200435000000200010043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f000000010220019000000a390000613d000000000101043b000000000101041a000000ff0110019000000a380000613d00000002010000290000000000100435000000200000043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f000000010220019000000a390000613d000000000101043b00000003020000290000000000200435000000200010043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f000000010220019000000a390000613d000000000101043b000000000201041a000001000300008a000000000232016f000000000021041b000000400100043d000005d3020000410000000003000414000005d30430009c0000000003028019000005d30410009c00000000010280190000004001100210000000c002300210000000000112019f000005fc011001c70000800d02000039000000040300003900000616040000410000000205000029000000010600002900000003070000291746173c0000040f000000010120019000000a390000613d000000000001042d00000000010000190000174800010430000000400100043d00000064021000390000061803000041000000000032043500000044021000390000061903000041000000000032043500000024021000390000002f03000039000000000032043500000602020000410000000000210435000000040210003900000020030000390000000000320435000005d302000041000005d30310009c0000000001028019000000400110021000000606011001c700001748000104300010000000000002001000000005001d000900000003001d000800000002001d000c00000001001d0000060a010000410000000000100439000400000004001d000005d601400197000d00000001001d0000000400100443000005d3010000410000000002000414000005d30320009c0000000001024019000000c0011002100000060b011001c70000800202000039174617410000040f000000010220019000000ec90000613d000000000101043b000000000110004c00000ec90000613d000000400900043d0000061a0100004100000000001904350000001001000029000005d60310019700000004029000390000000001000414000700000003001d00000000003204350000000d02000029000000040320008c00000a760000c13d000000010300003100000aa80000013d000005d304000041000005d30310009c0000000001048019000005d30390009c000000000304001900000000030940190000004003300210000000c001100210000000000131019f000005d9011001c7001000000009001d174617410000040f000000100900002900000000030100190000006003300270000005d303300197000000200430008c000000200500003900000000050340190000001f0450018f000000050550027200000a950000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b00000a8d0000413d000000000640004c00000aa40000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f0003000000010355000000010220019000000f1f0000613d0000001f01300039000000200200008a001000000002001d000000000221016f0000000001920019000000000221004b00000000020000190000000102004039000005d40310009c00000ecb0000213d000000010220019000000ecb0000c13d000000400010043f000005d5010000410000000102000031000000200320008c00000000030000190000000003014019000005d502200197000000000420004c000000000100a019000005d50220009c000000000103c019000000000110004c00000ec90000c13d0000000001090433000300000001001d000006080100004100000000001004390000000001000412000a00000001001d000000040010044300000040010000390000002400100443000005d3010000410000000002000414000005d30320009c0000000001024019000000c00110021000000609011001c70000800502000039174617410000040f000000010220019000000ec90000613d000000000101043b0000060a020000410000000000200439000005d601100197000f00000001001d0000000400100443000005d3010000410000000002000414000005d30320009c0000000001024019000000c0011002100000060b011001c70000800202000039174617410000040f000000010220019000000ec90000613d000000000101043b000000000110004c00000ec90000613d000000400900043d0000060c010000410000000000190435000000240290003900000000010004140000000d0300002900000000003204350000000902000029000005d6032001970000000402900039000e00000003001d00000000003204350000000f02000029000000040320008c00000af80000c13d000000010300003100000b2a0000013d000005d304000041000005d30310009c0000000001048019000005d30390009c000000000304001900000000030940190000004003300210000000c001100210000000000131019f0000060d011001c7000f00000009001d174617410000040f0000000f0900002900000000030100190000006003300270000005d303300197000000200430008c000000200500003900000000050340190000001f0450018f000000050550027200000b170000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b00000b0f0000413d000000000640004c00000b260000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f0003000000010355000000010220019000000f3e0000613d0000001f013000390000001002000029000000000221016f0000000001920019000000000221004b00000000020000190000000102004039000005d40310009c00000ecb0000213d000000010220019000000ecb0000c13d000000400010043f000005d5010000410000000102000031000000200320008c00000000030000190000000003014019000005d502200197000000000420004c000000000100a019000005d50220009c000000000103c019000000000110004c00000ec90000c13d0000000001090433000f00000001001d000005d60110009c00000ec90000213d0000000f01000029000000000110004c0000000001000410000b00000001001d000000000100001900000bbb0000613d0000060a0100004100000000001004390000000f010000290000000400100443000005d3010000410000000002000414000005d30320009c0000000001024019000000c0011002100000060b011001c70000800202000039174617410000040f000000010220019000000ec90000613d000000000101043b000000000110004c00000ec90000613d000000400900043d0000060e0100004100000000001904350000000b01000029000005d60210019700000044039000390000000001000414000000000023043500000024029000390000000c03000029000000000032043500000004029000390000000e0300002900000000003204350000000f02000029000000040320008c00000b700000c13d000000010300003100000ba20000013d000005d304000041000005d30310009c0000000001048019000005d30390009c000000000304001900000000030940190000004003300210000000c001100210000000000131019f00000603011001c7000600000009001d174617410000040f000000060900002900000000030100190000006003300270000005d303300197000000200430008c000000200500003900000000050340190000001f0450018f000000050550027200000b8f0000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b00000b870000413d000000000640004c00000b9e0000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f0003000000010355000000010220019000000fd90000613d0000001f013000390000001002000029000000000221016f0000000001920019000000000221004b00000000020000190000000102004039000005d40310009c00000ecb0000213d000000010220019000000ecb0000c13d000000400010043f000005d5010000410000000102000031000000200320008c00000000030000190000000003014019000005d502200197000000000420004c000000000100a019000005d50220009c000000000103c019000000000110004c00000ec90000c13d0000000001090433000600000001001d000006080100004100000000001004390000000a0100002900000004001004430000002001000039000200000001001d0000002400100443000005d3010000410000000002000414000005d30320009c0000000001024019000000c00110021000000609011001c70000800502000039174617410000040f000000010220019000000ec90000613d000000000101043b0000060a020000410000000000200439000005d601100197000500000001001d0000000400100443000005d3010000410000000002000414000005d30320009c0000000001024019000000c0011002100000060b011001c70000800202000039174617410000040f000000010220019000000ec90000613d000000000101043b000000000110004c00000ec90000613d000000400900043d0000060c010000410000000000190435000000240290003900000000010004140000000d03000029000000000032043500000004029000390000000e0300002900000000003204350000000502000029000000040320008c00000bef0000c13d000000010300003100000c210000013d000005d304000041000005d30310009c0000000001048019000005d30390009c000000000304001900000000030940190000004003300210000000c001100210000000000131019f0000060d011001c7000500000009001d174617410000040f000000050900002900000000030100190000006003300270000005d303300197000000200430008c000000200500003900000000050340190000001f0450018f000000050550027200000c0e0000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b00000c060000413d000000000640004c00000c1d0000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f0003000000010355000000010220019000000f5d0000613d0000001f013000390000001002000029000000000221016f0000000001920019000000000221004b00000000020000190000000102004039000005d40310009c00000ecb0000213d000000010220019000000ecb0000c13d000000400010043f000005d5020000410000000103000031000000200430008c00000000040000190000000004024019000005d503300197000000000530004c000000000200a019000005d50330009c000000000204c019000000000220004c00000ec90000c13d0000000005090433000005d60250009c00000ec90000213d000000000250004c000000060400002900000cb40000613d0000060a0100004100000000001004390000000400500443000005d3010000410000000002000414000005d30320009c0000000001024019000000c0011002100000060b011001c70000800202000039000500000005001d174617410000040f0000000506000029000000010220019000000ec90000613d000000000101043b000000000110004c00000ec90000613d000000400900043d0000060e0100004100000000001904350000000b01000029000005d60210019700000044039000390000000001000414000000000023043500000024029000390000000c03000029000000000032043500000004029000390000000e030000290000000000320435000000040260008c00000c630000c13d000000010300003100000c960000013d000005d302000041000005d30310009c0000000001028019000005d30390009c00000000020940190000004002200210000000c001100210000000000121019f00000603011001c70000000002060019000100000009001d174617410000040f000000010900002900000000030100190000006003300270000005d303300197000000200430008c000000200500003900000000050340190000001f0450018f000000050550027200000c820000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b00000c7a0000413d000000000640004c00000c910000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f00030000000103550000000102200190000000050600002900000ff80000613d0000001f013000390000001002000029000000000221016f0000000001920019000000000221004b00000000020000190000000102004039000005d40310009c00000ecb0000213d000000010220019000000ecb0000c13d000000400010043f000005d5020000410000000103000031000000200430008c00000000040000190000000004024019000005d503300197000000000530004c000000000200a019000005d50330009c000000000204c019000000000220004c00000ec90000c13d00000000020904330000000604000029000000000342004b00000cb40000a13d0000000004020019000f00000006001d0000000802000029000000000224004b00000ed10000413d000006080100004100000000001004390000000a0100002900000004001004430000002400000443000005d3010000410000000002000414000005d30320009c0000000001024019000000c00110021000000609011001c70000800502000039174617410000040f000000010220019000000ec90000613d000000000301043b000000400100043d00000044021000390000000c04000029000000000042043500000020061000390000061b04000041000000000046043500000044040000390000000000410435000005d60a30019700000024031000390000000000a304350000061c0310009c00000ecb0000213d0000008003100039000000400030043f00000000030004140000000e02000029000000040420008c000a0000000a001d00000cdf0000c13d0000000103000031000000000200001900000cf40000013d000005d304000041000005d30560009c0000000005040019000000000506401900000040065002100000000001010433000005d30510009c00000000010480190000006001100210000000000161019f000005d30530009c0000000003048019000000c003300210000000000131019f1746173c0000040f0000000a0a000029000000010220015f00030000000103550000006001100270000105d30010019d000005d3031001970000006001000039000000000430004c00000d220000613d0000003f013000390000001004000029000000000441016f000000400100043d0000000004410019000000000514004b00000000050000190000000105004039000005d40640009c00000ecb0000213d000000010550019000000ecb0000c13d000000400040043f0000000003310436000000030400036700000001060000310000001f0560018f000000050660027200000d130000613d000000000700001900000005087002100000000009830019000000000884034f000000000808043b00000000008904350000000107700039000000000867004b00000d0b0000413d000000000750004c00000d220000613d0000000506600210000000000464034f00000000036300190000000305500210000000000603043300000000065601cf000000000656022f000000000404043b0000010005500089000000000454022f00000000045401cf000000000464019f0000000000430435000000010220019000000ee20000c13d0000000012010434000000000320004c00000d3b0000613d000005d503000041000000200420008c00000000040000190000000004034019000005d502200197000000000520004c000000000300a019000005d50220009c00000000020400190000000002036019000000000220004c00000ec90000c13d0000000001010433000000000210004c0000000002000019000000010200c039000000000221004b00000ec90000c13d000000000110004c00000f0a0000613d0000060a0100004100000000001004390000000400a00443000005d3010000410000000002000414000005d30320009c0000000001024019000000c0011002100000060b011001c70000800202000039174617410000040f0000000a04000029000000010220019000000ec90000613d000000000101043b000000000110004c00000ec90000613d000000400900043d0000061f010000410000000000190435000000240290003900000000010004140000000f03000029000000000032043500000004029000390000000e030000290000000000320435000000040240008c00000d5a0000c13d000000010300003100000d8c0000013d000005d302000041000005d30310009c0000000001028019000005d30390009c00000000020940190000004002200210000000c001100210000000000121019f0000060d011001c70000000002040019000a00000009001d1746173c0000040f0000000a0900002900000000030100190000006003300270000005d303300197000000200430008c000000200500003900000000050340190000001f0450018f000000050550027200000d790000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b00000d710000413d000000000640004c00000d880000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f0003000000010355000000010220019000000f7c0000613d0000001f013000390000001002000029000000000121016f0000000005910019000000000115004b00000000010000190000000101004039000005d40250009c00000ecb0000213d000000010110019000000ecb0000c13d000000400050043f000005d5010000410000000102000031000000200320008c00000000030000190000000003014019000005d502200197000000000420004c000000000100a019000005d50220009c000000000103c019000000000110004c00000ec90000c13d00000060015000390000000202000039000000000021043500000040015000390000000702000029000000000021043500000020015000390000000e020000290000000000210435000000600100003900000000001504350000061c0150009c00000ecb0000213d0000008001500039000000400010043f0000060a0100004100000000001004390000000f010000290000000400100443000005d3010000410000000002000414000005d30320009c0000000001024019000000c0011002100000060b011001c70000800202000039000e00000005001d174617410000040f0000000e08000029000000010220019000000ec90000613d000000000101043b000000000110004c00000ec90000613d000000400900043d000006200100004100000000001904350000000402900039000000000100041400000080030000390000000000320435000000000308043300000084049000390000000000340435000000a404900039000000000530004c00000ddf0000613d000000000500001900000000064500190000002005500039000000000785001900000000070704330000000000760435000000000635004b00000dd40000413d000000000535004b00000ddf0000a13d000000000543001900000000000504350000000b05000029000005d605500197000000240690003900000000005604350000001f033000390000001005000029000000000353016f00000000044300190000000002240049000000640590003900000000002504350000004402900039000000000002043500000000000404350000000f02000029000000040420008c00000df20000c13d000000010300003100000e280000013d000005d306000041000005d30490009c000000000406001900000000040940190000004004400210000000c403300039000005d30530009c00000000030680190000006003300210000000000343019f000005d30410009c0000000001068019000000c001100210000000000113019f000f00000009001d1746173c0000040f0000000f0900002900000000030100190000006003300270000005d303300197000000400430008c000000400500003900000000050340190000001f0450018f000000050550027200000e150000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b00000e0d0000413d000000000640004c00000e240000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f0003000000010355000000010220019000000f9b0000613d0000001f013000390000001002000029000000000221016f0000000001920019000000000221004b00000000020000190000000102004039000005d40310009c00000ecb0000213d000000010220019000000ecb0000c13d000000400010043f000005d5010000410000000102000031000000400320008c00000000030000190000000003014019000005d502200197000000000420004c000000000100a019000005d50220009c000000000103c019000000000110004c00000ec90000c13d0000000001090433000005d60110009c00000ec90000213d0000060a0100004100000000001004390000000d010000290000000400100443000005d3010000410000000002000414000005d30320009c0000000001024019000000c0011002100000060b011001c70000800202000039174617410000040f000000010220019000000ec90000613d000000000101043b000000000110004c00000ec90000613d000000400900043d0000061a01000041000000000019043500000004029000390000000001000414000000070300002900000000003204350000000d02000029000000040320008c00000e600000c13d000000010300003100000e920000013d000005d304000041000005d30310009c0000000001048019000005d30390009c000000000304001900000000030940190000004003300210000000c001100210000000000131019f000005d9011001c7000f00000009001d174617410000040f0000000f0900002900000000030100190000006003300270000005d303300197000000200430008c000000200500003900000000050340190000001f0450018f000000050550027200000e7f0000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b00000e770000413d000000000640004c00000e8e0000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f0003000000010355000000010220019000000fba0000613d0000001f013000390000001002000029000000000221016f0000000001920019000000000221004b00000000020000190000000102004039000005d40310009c00000ecb0000213d000000010220019000000ecb0000c13d000000400010043f000005d5020000410000000103000031000000200430008c00000000040000190000000004024019000005d503300197000000000530004c000000000200a019000005d50330009c000000000204c019000000000220004c00000ec90000c13d00000000020904330000000304000029000000000342004b00000ef30000413d00000000024200490000000803000029000000000232004b00000ef90000413d000000200210003900000000003204350000000c020000290000000000210435000005d3020000410000000003000414000005d30430009c0000000003028019000005d30410009c00000000010280190000004001100210000000c002300210000000000112019f000005fb011001c70000800d0200003900000003030000390000062104000041000000090500002900000004060000291746173c0000040f000000010120019000000ec90000613d000000000001042d00000000010000190000174800010430000005d80100004100000000001004350000004101000039000000040010043f000005d901000041000017480001043000000044021000390000062403000041000000000032043500000024021000390000001603000039000000000032043500000602020000410000000000210435000000040210003900000002030000290000000000320435000005d302000041000005d30310009c0000000001028019000000400110021000000603011001c70000174800010430000000400100043d0000004402100039000006230300004100000000003204350000060202000041000000000021043500000024021000390000000203000029000000000032043500000004021000390000000000320435000005d302000041000005d30310009c0000000001028019000000400110021000000603011001c70000174800010430000005d80100004100000000001004350000001101000039000000040010043f000005d901000041000017480001043000000044021000390000062203000041000000000032043500000024021000390000001703000039000000000032043500000602020000410000000000210435000000040210003900000002030000290000000000320435000005d302000041000005d30310009c0000000001028019000000400110021000000603011001c70000174800010430000000400100043d00000064021000390000061d03000041000000000032043500000044021000390000061e03000041000000000032043500000024021000390000002a03000039000000000032043500000602020000410000000000210435000000040210003900000002030000290000000000320435000005d302000041000005d30310009c0000000001028019000000400110021000000606011001c700001748000104300000001f0430018f000000050230027200000f2a0000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b00000f230000413d000000000340004c00000f380000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f0000000000120435000005d3010000410000000102000031000005d30320009c0000000001024019000000600110021000001748000104300000001f0430018f000000050230027200000f490000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b00000f420000413d000000000340004c00000f570000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f0000000000120435000005d3010000410000000102000031000005d30320009c0000000001024019000000600110021000001748000104300000001f0430018f000000050230027200000f680000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b00000f610000413d000000000340004c00000f760000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f0000000000120435000005d3010000410000000102000031000005d30320009c0000000001024019000000600110021000001748000104300000001f0430018f000000050230027200000f870000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b00000f800000413d000000000340004c00000f950000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f0000000000120435000005d3010000410000000102000031000005d30320009c0000000001024019000000600110021000001748000104300000001f0430018f000000050230027200000fa60000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b00000f9f0000413d000000000340004c00000fb40000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f0000000000120435000005d3010000410000000102000031000005d30320009c0000000001024019000000600110021000001748000104300000001f0430018f000000050230027200000fc50000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b00000fbe0000413d000000000340004c00000fd30000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f0000000000120435000005d3010000410000000102000031000005d30320009c0000000001024019000000600110021000001748000104300000001f0430018f000000050230027200000fe40000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b00000fdd0000413d000000000340004c00000ff20000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f0000000000120435000005d3010000410000000102000031000005d30320009c0000000001024019000000600110021000001748000104300000001f0430018f0000000502300272000010030000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b00000ffc0000413d000000000340004c000010110000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f0000000000120435000005d3010000410000000102000031000005d30320009c0000000001024019000000600110021000001748000104300000000002010019000000400100043d000006250310009c000010560000813d0000008003100039000000400030043f0000004203000039000000000331043600000000040000310000000204400367000000000500001900000005065002100000000007630019000000000664034f000000000606043b00000000006704350000000105500039000000030650008c000010220000413d0000000004010433000000000440004c000010500000613d0000000004030433000006100440019700000611044001c700000000004304350000000004010433000000020440008c000010500000413d00000021041000390000000005040433000006100550019700000612055001c70000000000540435000000410400003900000000050200190000000002010433000000000242004b000010500000a13d0000000f0250018f0000000302200210000000f80220015f0000061306000041000000000226022f000000000634001900000000070604330000061007700197000000f802200210000000000227019f00000000002604350000000402500270000000010440008a000000010640008c0000103a0000213d000000100250008c0000105c0000813d000000000001042d000005d80100004100000000001004350000003201000039000000040010043f000005d9010000410000174800010430000005d80100004100000000001004350000004101000039000000040010043f000005d9010000410000174800010430000000400100043d0000004402100039000006260300004100000000003204350000060202000041000000000021043500000024021000390000002003000039000000000032043500000004021000390000000000320435000005d302000041000005d30310009c0000000001028019000000400110021000000603011001c700001748000104300004000000000002000300000001001d0000000000000435000000200000043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000011460000613d000000000101043b0000000101100039000000000101041a000100000001001d0000000000100435000000200000043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000011460000613d000000000101043b0000000002000411000200000002001d000005d602200197000400000002001d0000000000200435000000200010043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000011460000613d000000000101043b000000000101041a000000ff01100190000011480000613d0000000000000435000000200000043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000011460000613d000000000101043b0000000302000029000005d602200197000100000002001d0000000000200435000000200010043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000011460000613d000000000101043b000000000101041a000000ff01100190000010f40000c13d0000000000000435000000200000043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000011460000613d000000000101043b00000001020000290000000000200435000000200010043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000011460000613d000000000101043b000000000201041a000001000300008a000000000232016f00000001022001bf000000000021041b000000400100043d000005d3020000410000000003000414000005d30430009c0000000003028019000005d30410009c00000000010280190000004001100210000000c002300210000000000112019f000005fc011001c70000800d020000390000000403000039000005fd040000410000000005000019000000030600002900000002070000291746173c0000040f0000000101200190000011460000613d0000000000000435000000200000043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000011460000613d000000000101043b00000004020000290000000000200435000000200010043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000011460000613d000000000101043b000000000101041a000000ff01100190000011450000613d0000000000000435000000200000043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000011460000613d000000000101043b00000004020000290000000000200435000000200010043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000011460000613d000000000101043b000000000201041a000001000300008a000000000232016f000000000021041b000000400100043d000005d3020000410000000003000414000005d30430009c0000000003028019000005d30410009c00000000010280190000004001100210000000c002300210000000000112019f000005fc011001c70000800d02000039000000040300003900000616040000410000000005000019000000020600002900000000070600191746173c0000040f0000000101200190000011460000613d000000000001042d00000000010000190000174800010430000000400100043d00000000070100190000060f0110009c000011520000413d000005d80100004100000000001004350000004101000039000000040010043f000005d901000041000017480001043000000000020700190000006001200039000000400010043f0000002a01000039000000000112043600000000020000310000000202200367000000000300001900000005043002100000000005410019000000000442034f000000000404043b00000000004504350000000103300039000000020430008c0000115a0000413d0000000002070433000000000220004c0000116c0000613d0000000002010433000006100220019700000611022001c700000000002104350000000002070433000000020220008c000011720000813d000005d80100004100000000001004350000003201000039000000040010043f000005d901000041000017480001043000000021027000390000000003020433000006100330019700000612033001c700000000003204350000002902000039000000020500002900000000030500190000000004070433000000000424004b0000116c0000a13d0000000f0430018f0000000304400210000000f80440015f0000061305000041000000000445022f000000000512001900000000060504330000061006600197000000f804400210000000000446019f00000000004504350000000405300270000000010220008a000000010420008c000011790000213d000000100130008c00000000010000190000000101004039000300000007001d174617280000040f0000000101000029174610170000040f000000400400043d000400000004001d000000200240003900000614030000410000000000320435000200000001001d00000037024000390000000301000029174604a60000040f0000061502000041000000000021043500000011021000390000000201000029174604a60000040f00000004030000290000000002310049000000200120008a00000000001304350000000001030019174604cf0000040f0000060201000041000000400200043d000300000002001d000000000012043500000004012000390000000402000029174604b70000040f00000003040000290000000001410049000005d302000041000005d30310009c0000000001028019000005d30340009c000000000204401900000040022002100000006001100210000000000121019f0000174800010430000005d6022001970000000000200435000000200010043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000011c80000613d000000000101043b000000000001042d000000000100001900001748000104300000000000100435000000200000043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000011d80000613d000000000101043b000000000001042d000000000100001900001748000104300001000000000002000100000001001d000005f5010000410000000000100435000000200000043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000012150000613d000000000101043b0000000002000411000005d6022001970000000000200435000000200010043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000012150000613d000000000101043b000000000101041a000000ff01100190000012170000613d0000000102000029000000000120004c0000122c0000613d0000000101000039000000000021041b000000400100043d0000000000210435000005d3020000410000000003000414000005d30430009c0000000003028019000005d30410009c00000000010280190000004001100210000000c002300210000000000112019f000005ff011001c70000800d020000390000000203000039000006000400004100000000050004101746173c0000040f0000000101200190000012150000613d000000000001042d00000000010000190000174800010430000000400100043d00000064021000390000060403000041000000000032043500000044021000390000060503000041000000000032043500000024021000390000002803000039000000000032043500000602020000410000000000210435000000040210003900000020030000390000000000320435000005d302000041000005d30310009c0000000001028019000000400110021000000606011001c70000174800010430000000400100043d00000044021000390000060103000041000000000032043500000024021000390000001403000039000000000032043500000602020000410000000000210435000000040210003900000020030000390000000000320435000005d302000041000005d30310009c0000000001028019000000400110021000000603011001c700001748000104300002000000000002000200000002001d000100000001001d000005f5010000410000000000100435000000200000043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000012d50000613d000000000101043b0000000002000411000005d6022001970000000000200435000000200010043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000012d50000613d000000400300043d000000000101043b000000000101041a000000ff01100190000012dd0000613d0000002001300039000006270200004100000000002104350000000202000029000005d602200197000000240430003900000000002404350000004402000039000000000023043500000044023000390000000000020435000006250230009c000012d70000813d0000008002300039000000400020043f00000000040004140000000102000029000005d602200197000000040520008c000012790000c13d000000010300003100000000020000190000128d0000013d000005d305000041000005d30610009c000000000105801900000040011002100000000003030433000005d30630009c00000000030580190000006003300210000000000113019f000005d30340009c00000000030500190000000003044019000000c003300210000000000131019f1746173c0000040f000000010220015f00030000000103550000006001100270000105d30010019d000005d3031001970000006001000039000000000430004c000012bb0000613d0000003f01300039000000200400008a000000000441016f000000400100043d0000000004410019000000000514004b00000000050000190000000105004039000005d40640009c000012d70000213d0000000105500190000012d70000c13d000000400040043f0000000003310436000000030400036700000001060000310000001f0560018f0000000506600272000012ac0000613d000000000700001900000005087002100000000009830019000000000884034f000000000808043b00000000008904350000000107700039000000000867004b000012a40000413d000000000750004c000012bb0000613d0000000506600210000000000464034f00000000036300190000000305500210000000000603043300000000065601cf000000000656022f000000000404043b0000010005500089000000000454022f00000000045401cf000000000464019f00000000004304350000000102200190000012f10000c13d0000000012010434000000000320004c000012d40000613d000005d503000041000000200420008c00000000040000190000000004034019000005d502200197000000000520004c000000000300a019000005d50220009c00000000020400190000000002036019000000000220004c000012d50000c13d0000000001010433000000000210004c0000000002000019000000010200c039000000000221004b000012d50000c13d000000000110004c000013020000613d000000000001042d00000000010000190000174800010430000005d80100004100000000001004350000004101000039000000040010043f000005d901000041000017480001043000000064013000390000060402000041000000000021043500000044013000390000060502000041000000000021043500000024013000390000002802000039000000000021043500000602010000410000000000130435000000040130003900000020020000390000000000210435000005d301000041000005d30230009c0000000001034019000000400110021000000606011001c70000174800010430000000400100043d0000004402100039000006230300004100000000003204350000060202000041000000000021043500000024021000390000002003000039000000000032043500000004021000390000000000320435000005d302000041000005d30310009c0000000001028019000000400110021000000603011001c70000174800010430000000400100043d00000064021000390000061d03000041000000000032043500000044021000390000061e03000041000000000032043500000024021000390000002a03000039000000000032043500000602020000410000000000210435000000040210003900000020030000390000000000320435000005d302000041000005d30310009c0000000001028019000000400110021000000606011001c700001748000104300003000000000002000300000002001d000200000001001d000005f5010000410000000000100435000000200000043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000013c50000613d000000000101043b0000000002000411000005d602200197000100000002001d0000000000200435000000200010043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000013c50000613d000000000101043b000000000101041a000000ff01100190000013cd0000613d0000000303000029000000000130004c000013e20000613d000000400100043d0000004402100039000000000032043500000020031000390000061b020000410000000000230435000000240210003900000001040000290000000000420435000000440200003900000000002104350000000202000029000005d602200197000006250410009c000013c70000813d0000008004100039000000400040043f0000000004000414000000040520008c000013550000c13d00000001030000310000000002000019000013690000013d000005d305000041000005d30630009c000000000305801900000040033002100000000001010433000005d30610009c00000000010580190000006001100210000000000131019f000005d30340009c00000000030500190000000003044019000000c003300210000000000131019f1746173c0000040f000000010220015f00030000000103550000006001100270000105d30010019d000005d3031001970000006001000039000000000430004c000013970000613d0000003f01300039000000200400008a000000000441016f000000400100043d0000000004410019000000000514004b00000000050000190000000105004039000005d40640009c000013c70000213d0000000105500190000013c70000c13d000000400040043f0000000003310436000000030400036700000001060000310000001f0560018f0000000506600272000013880000613d000000000700001900000005087002100000000009830019000000000884034f000000000808043b00000000008904350000000107700039000000000867004b000013800000413d000000000750004c000013970000613d0000000506600210000000000464034f00000000036300190000000305500210000000000603043300000000065601cf000000000656022f000000000404043b0000010005500089000000000454022f00000000045401cf000000000464019f00000000004304350000000102200190000013f40000c13d0000000012010434000000000320004c000013b00000613d000005d503000041000000200420008c00000000040000190000000004034019000005d502200197000000000520004c000000000300a019000005d50220009c00000000020400190000000002036019000000000220004c000013c50000c13d0000000001010433000000000210004c0000000002000019000000010200c039000000000221004b000013c50000c13d000000000110004c000014050000613d000000400100043d00000003020000290000000000210435000005d3020000410000000003000414000005d30430009c0000000003028019000005d30410009c00000000010280190000004001100210000000c002300210000000000112019f000005ff011001c70000800d020000390000000203000039000006280400004100000002050000291746173c0000040f0000000101200190000013c50000613d000000000001042d00000000010000190000174800010430000005d80100004100000000001004350000004101000039000000040010043f000005d9010000410000174800010430000000400100043d00000064021000390000060403000041000000000032043500000044021000390000060503000041000000000032043500000024021000390000002803000039000000000032043500000602020000410000000000210435000000040210003900000020030000390000000000320435000005d302000041000005d30310009c0000000001028019000000400110021000000606011001c70000174800010430000000400100043d00000044021000390000062903000041000000000032043500000024021000390000001e03000039000000000032043500000602020000410000000000210435000000040210003900000020030000390000000000320435000005d302000041000005d30310009c0000000001028019000000400110021000000603011001c70000174800010430000000400100043d0000004402100039000006230300004100000000003204350000060202000041000000000021043500000024021000390000002003000039000000000032043500000004021000390000000000320435000005d302000041000005d30310009c0000000001028019000000400110021000000603011001c70000174800010430000000400100043d00000064021000390000061d03000041000000000032043500000044021000390000061e03000041000000000032043500000024021000390000002a03000039000000000032043500000602020000410000000000210435000000040210003900000020030000390000000000320435000005d302000041000005d30310009c0000000001028019000000400110021000000606011001c700001748000104300002000000000002000200000001001d000005f5010000410000000000100435000000200000043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f00000001022001900000149e0000613d000000000101043b0000000002000411000100000002001d000005d6022001970000000000200435000000200010043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f00000001022001900000149e0000613d000000000101043b000000000101041a000000ff01100190000014a00000613d0000000209000029000000000190004c0000000104000029000014b50000613d0000000001000414000000040240008c000014470000c13d000000010200003900000001010000310000145b0000013d000005d302000041000000400300043d000005d30530009c0000000003028019000005d30510009c0000000001028019000000c0011002100000004002300210000000000112019f000005fc011001c70000800902000039000000000309001900000000050000191746173c0000040f0000000209000029000000010220018f00030000000103550000006001100270000105d30010019d000005d301100197000000000310004c000014880000613d0000003f03100039000000200400008a000000000443016f000000400300043d0000000004430019000000000534004b00000000050000190000000105004039000005d40640009c000014d80000213d0000000105500190000014d80000c13d000000400040043f0000000001130436000000030300036700000001050000310000001f0450018f0000000505500272000014790000613d000000000600001900000005076002100000000008710019000000000773034f000000000707043b00000000007804350000000106600039000000000756004b000014710000413d000000000640004c000014880000613d0000000505500210000000000353034f00000000015100190000000304400210000000000501043300000000054501cf000000000545022f000000000303043b0000010004400089000000000343022f00000000034301cf000000000353019f0000000000310435000000400100043d000000000220004c000014c70000613d0000000000910435000005d3020000410000000003000414000005d30430009c0000000003028019000005d30410009c00000000010280190000004001100210000000c002300210000000000112019f000005ff011001c70000800d020000390000000203000039000006280400004100000000050000191746173c0000040f00000001012001900000149e0000613d000000000001042d00000000010000190000174800010430000000400100043d00000064021000390000060403000041000000000032043500000044021000390000060503000041000000000032043500000024021000390000002803000039000000000032043500000602020000410000000000210435000000040210003900000020030000390000000000320435000005d302000041000005d30310009c0000000001028019000000400110021000000606011001c70000174800010430000000400100043d00000044021000390000062903000041000000000032043500000024021000390000001e03000039000000000032043500000602020000410000000000210435000000040210003900000020030000390000000000320435000005d302000041000005d30310009c0000000001028019000000400110021000000603011001c7000017480001043000000044021000390000062a03000041000000000032043500000024021000390000001003000039000000000032043500000602020000410000000000210435000000040210003900000020030000390000000000320435000005d302000041000005d30310009c0000000001028019000000400110021000000603011001c70000174800010430000005d80100004100000000001004350000004101000039000000040010043f000005d90100004100001748000104300004000000000002000300000002001d000400000001001d0000000000100435000000200000043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000015680000613d000000000101043b0000000101100039000000000101041a000100000001001d0000000000100435000000200000043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000015680000613d000000000101043b0000000002000411000200000002001d000005d6022001970000000000200435000000200010043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000015680000613d000000000101043b000000000101041a000000ff011001900000156a0000613d00000004010000290000000000100435000000200000043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000015680000613d000000000101043b0000000302000029000005d602200197000100000002001d0000000000200435000000200010043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000015680000613d000000000101043b000000000101041a000000ff01100190000015670000c13d00000004010000290000000000100435000000200000043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000015680000613d000000000101043b00000001020000290000000000200435000000200010043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000015680000613d000000000101043b000000000201041a000001000300008a000000000232016f00000001022001bf000000000021041b000000400100043d000005d3020000410000000003000414000005d30430009c0000000003028019000005d30410009c00000000010280190000004001100210000000c002300210000000000112019f000005fc011001c70000800d020000390000000403000039000005fd040000410000000405000029000000030600002900000002070000291746173c0000040f0000000101200190000015680000613d000000000001042d00000000010000190000174800010430000000400100043d00000000070100190000060f0110009c000015740000413d000005d80100004100000000001004350000004101000039000000040010043f000005d901000041000017480001043000000000020700190000006001200039000000400010043f0000002a01000039000000000112043600000000020000310000000202200367000000000300001900000005043002100000000005410019000000000442034f000000000404043b00000000004504350000000103300039000000020430008c0000157c0000413d0000000002070433000000000220004c0000158e0000613d0000000002010433000006100220019700000611022001c700000000002104350000000002070433000000020220008c000015940000813d000005d80100004100000000001004350000003201000039000000040010043f000005d901000041000017480001043000000021027000390000000003020433000006100330019700000612033001c700000000003204350000002902000039000000020500002900000000030500190000000004070433000000000424004b0000158e0000a13d0000000f0430018f0000000304400210000000f80440015f0000061305000041000000000445022f000000000512001900000000060504330000061006600197000000f804400210000000000446019f00000000004504350000000405300270000000010220008a000000010420008c0000159b0000213d000000100130008c00000000010000190000000101004039000300000007001d174617280000040f0000000101000029174610170000040f000000400400043d000400000004001d000000200240003900000614030000410000000000320435000200000001001d00000037024000390000000301000029174604a60000040f0000061502000041000000000021043500000011021000390000000201000029174604a60000040f00000004030000290000000002310049000000200120008a00000000001304350000000001030019174604cf0000040f0000060201000041000000400200043d000300000002001d000000000012043500000004012000390000000402000029174604b70000040f00000003040000290000000001410049000005d302000041000005d30310009c0000000001028019000005d30340009c000000000204401900000040022002100000006001100210000000000121019f00001748000104300004000000000002000300000002001d000400000001001d0000000000100435000000200000043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000016640000613d000000000101043b0000000101100039000000000101041a000100000001001d0000000000100435000000200000043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000016640000613d000000000101043b0000000002000411000200000002001d000005d6022001970000000000200435000000200010043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000016640000613d000000000101043b000000000101041a000000ff01100190000016660000613d00000004010000290000000000100435000000200000043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000016640000613d000000000101043b0000000302000029000005d602200197000100000002001d0000000000200435000000200010043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000016640000613d000000000101043b000000000101041a000000ff01100190000016630000613d00000004010000290000000000100435000000200000043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000016640000613d000000000101043b00000001020000290000000000200435000000200010043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000016640000613d000000000101043b000000000201041a000001000300008a000000000232016f000000000021041b000000400100043d000005d3020000410000000003000414000005d30430009c0000000003028019000005d30410009c00000000010280190000004001100210000000c002300210000000000112019f000005fc011001c70000800d02000039000000040300003900000616040000410000000405000029000000030600002900000002070000291746173c0000040f0000000101200190000016640000613d000000000001042d00000000010000190000174800010430000000400100043d00000000070100190000060f0110009c000016700000413d000005d80100004100000000001004350000004101000039000000040010043f000005d901000041000017480001043000000000020700190000006001200039000000400010043f0000002a01000039000000000112043600000000020000310000000202200367000000000300001900000005043002100000000005410019000000000442034f000000000404043b00000000004504350000000103300039000000020430008c000016780000413d0000000002070433000000000220004c0000168a0000613d0000000002010433000006100220019700000611022001c700000000002104350000000002070433000000020220008c000016900000813d000005d80100004100000000001004350000003201000039000000040010043f000005d901000041000017480001043000000021027000390000000003020433000006100330019700000612033001c700000000003204350000002902000039000000020500002900000000030500190000000004070433000000000424004b0000168a0000a13d0000000f0430018f0000000304400210000000f80440015f0000061305000041000000000445022f000000000512001900000000060504330000061006600197000000f804400210000000000446019f00000000004504350000000405300270000000010220008a000000010420008c000016970000213d000000100130008c00000000010000190000000101004039000300000007001d174617280000040f0000000101000029174610170000040f000000400400043d000400000004001d000000200240003900000614030000410000000000320435000200000001001d00000037024000390000000301000029174604a60000040f0000061502000041000000000021043500000011021000390000000201000029174604a60000040f00000004030000290000000002310049000000200120008a00000000001304350000000001030019174604cf0000040f0000060201000041000000400200043d000300000002001d000000000012043500000004012000390000000402000029174604b70000040f00000003040000290000000001410049000005d302000041000005d30310009c0000000001028019000005d30340009c000000000204401900000040022002100000006001100210000000000121019f000017480001043000030000000000020000000202000039000000000102041a000000010310019000000001041002700000007f0540018f000000000604001900000000060560190000001f0460008c00000000040000190000000104002039000000010440018f000000000443004b0000171a0000c13d000000400500043d0000000004650436000000000330004c000016ee0000c13d000001000200008a000000000121016f000000000014043500000040020000390000170f0000013d000100000004001d000200000006001d000300000005001d0000000000200435000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005ff011001c70000801002000039174617410000040f0000000102200190000017260000613d00000020020000390000000206000029000000000360004c00000003050000290000170f0000613d000000000101043b0000000003000019000000010700002900000000020300190000000003720019000000000401041a000000000043043500000001011000390000002003200039000000000463004b000017040000413d0000005f01200039000000200200008a000000000221016f0000000001520019000000000221004b00000000020000190000000102004039000005d40310009c000017200000213d0000000102200190000017200000c13d000000400010043f0000000001050019000000000001042d000005d80100004100000000001004350000002201000039000000040010043f000005d9010000410000174800010430000005d80100004100000000001004350000004101000039000000040010043f000005d901000041000017480001043000000000010000190000174800010430000000000110004c0000172b0000613d000000000001042d000000400100043d0000004402100039000006260300004100000000003204350000060202000041000000000021043500000024021000390000002003000039000000000032043500000004021000390000000000320435000005d302000041000005d30310009c0000000001028019000000400110021000000603011001c700001748000104300000173f002104210000000102000039000000000001042d0000000002000019000000000001042d00001744002104230000000102000039000000000001042d0000000002000019000000000001042d0000174600000432000017470001042e000017480001043000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff000000000000000000000000000000000000000000000000ffffffffffffffff8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffffffffffff00000002000000000000000000000000000001000000010000000000000000004e487b71000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024000000000000000000000000000000000000000000000000000000000000000000000000000000008980f11e00000000000000000000000000000000000000000000000000000000d8baf7ce00000000000000000000000000000000000000000000000000000000ef99893900000000000000000000000000000000000000000000000000000000ef99893a00000000000000000000000000000000000000000000000000000000f2fde38b00000000000000000000000000000000000000000000000000000000f874225400000000000000000000000000000000000000000000000000000000d8baf7cf00000000000000000000000000000000000000000000000000000000eab90da60000000000000000000000000000000000000000000000000000000091d148530000000000000000000000000000000000000000000000000000000091d1485400000000000000000000000000000000000000000000000000000000a217fddf00000000000000000000000000000000000000000000000000000000d547741f000000000000000000000000000000000000000000000000000000008980f11f000000000000000000000000000000000000000000000000000000008bb9c5bf000000000000000000000000000000000000000000000000000000004ebb7915000000000000000000000000000000000000000000000000000000006b453c1e000000000000000000000000000000000000000000000000000000006b453c1f000000000000000000000000000000000000000000000000000000007ae267730000000000000000000000000000000000000000000000000000000084a33e63000000000000000000000000000000000000000000000000000000004ebb79160000000000000000000000000000000000000000000000000000000069cff80d00000000000000000000000000000000000000000000000000000000248a9ca200000000000000000000000000000000000000000000000000000000248a9ca3000000000000000000000000000000000000000000000000000000002f2ff15d0000000000000000000000000000000000000000000000000000000036568abe0000000000000000000000000000000000000000000000000000000001ffc9a70000000000000000000000000000000000000000000000000000000006fdde03339759585899103d2ace64958e37e18ccb0504652c81d4a1b8aa80fe2126ab950000000000000000000000000000000000000020000000000000000000000000ffffffff0000000000000000000000000000000000000000000000000000000001ffc9a7000000000000000000000000000000000000000000000000000000007965db0b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000800000000000000000020000000000000000000000000000000000004000000000000000000000000002000000000000000000000000000000000000000000000000000000000000002f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d00000000000000000000000000000000000000000000000100000000000000000200000000000000000000000000000000000020000000000000000000000000f43f23b7a28e6f8ce6843a21bd7b48bce778aa913b8c8cf459edf7d770e8d38a496e76616c6964206761732d657374696d61746500000000000000000000000008c379a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000064000000000000000000000000696e7461696e65720000000000000000000000000000000000000000000000004d61696e7461696e61626c653a2043616c6c6572206973206e6f742061206d610000000000000000000000000000000000000084000000000000000000000000496e76616c69642061646170746572206e616d65000000000000000000000000310ab089e4439a4c15d089f94afb7896ff553aecb10793d0ab882de59d99a32e02000002000000000000000000000000000000440000000000000000000000001806aa1896bbf26568e884a7374b41e002500962caba6a15023a8d90e8508b830200000200000000000000000000000000000024000000000000000000000000531aa03e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044000000000000000000000000ff9c8ac600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffa000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff300000000000000000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000000000000000003031323334353637383961626364656600000000000000000000000000000000416363657373436f6e74726f6c3a206163636f756e7420000000000000000000206973206d697373696e6720726f6c6520000000000000000000000000000000f6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b000000000000000000000001000000000000000000000000000000000000000020726f6c657320666f722073656c660000000000000000000000000000000000416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636570a0823100000000000000000000000000000000000000000000000000000000a9059cbb00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffff7f6f742073756363656564000000000000000000000000000000000000000000005361666545524332303a204552433230206f7065726174696f6e20646964206ef9609f08000000000000000000000000000000000000000000000000000000007132bb7f00000000000000000000000000000000000000000000000000000000e2bdbc6b7225eb0a972ac943c485a6cc05f7c6811838bce8903f23200fb744fa496e73756666696369656e7420616d6f756e742d6f75740000000000000000005361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564496e737566666963656e7420616d6f756e74206f757400000000000000000000000000000000000000000000000000000000000000000000ffffffffffffff80537472696e67733a20686578206c656e67746820696e73756666696369656e74095ea7b3000000000000000000000000000000000000000000000000000000008c1256b8896378cd5044f80c202f9772b9d77dc85c8a6eb51967210b09bfaa2859616b416461707465723a204e6f7468696e6720746f207265636f76657200005472616e73666572206661696c65642e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007c49741417c1469ee87423abf0802f2997faaf60fef73097f0f4ea346b39da7f", + "deployedBytecode": "0x0004000000000002000100000000000200000000030100190000006003300270000005d30430019700030000004103550002000000010355000005d30030019d000100000000001f00000001012001900000002b0000c13d0000008001000039000000400010043f0000000001000031000000040210008c000000b90000413d0000000201000367000000000101043b000000e001100270000005da0210009c000000c30000213d000005e80210009c000000d90000213d000005ef0210009c0000011e0000a13d000005f00210009c000001910000613d000005f10210009c000001ae0000613d000005f20110009c0000025e0000c13d0000000001000416000000000110004c0000025e0000c13d00000000010000311746043d0000040f174609de0000040f000005d301000041000000400200043d000005d30320009c00000000010240190000004001100210000017470001042e000000e001000039000000400010043f0000000001000416000000000110004c0000025e0000c13d00000000030000310000001f02300039000000200100008a000000000412016f000000400500043d0000000002540019000000000442004b00000000040000190000000104004039000005d40620009c000000bd0000213d0000000104400190000000bd0000c13d000000400020043f0000001f0230018f000000020400036700000005063002720000004b0000613d000000000700001900000005087002100000000009850019000000000884034f000000000808043b00000000008904350000000107700039000000000867004b000000430000413d000000000720004c0000005a0000613d0000000506600210000000000464034f00000000066500190000000302200210000000000706043300000000072701cf000000000727022f000000000404043b0000010002200089000000000424022f00000000022401cf000000000272019f0000000000260435000005d502000041000000a00430008c00000000040000190000000004024019000005d506300197000000000760004c000000000200a019000005d50660009c000000000204c019000000000220004c0000025e0000c13d0000000024050434000005d40640009c0000025e0000213d000000000635001900000000035400190000001f04300039000005d507000041000000000864004b00000000080000190000000008078019000005d504400197000005d509600197000000000a94004b0000000007008019000000000494013f000005d50440009c00000000040800190000000004076019000000000440004c0000025e0000c13d0000000004030433000005d40740009c000000bd0000213d0000003f07400039000000000717016f000000400100043d0000000007710019000000000817004b00000000080000190000000108004039000005d40970009c000000bd0000213d0000000108800190000000bd0000c13d000000400070043f000000000041043500000020074000390000000008370019000000000668004b0000025e0000213d000000000640004c0000009b0000613d000000000600001900000020066000390000000008160019000000000936001900000000090904330000000000980435000000000846004b000000900000413d000000000346004b0000009b0000a13d000000000317001900000000000304350000000002020433000005d60320009c0000025e0000213d00000040035000390000000003030433000005d60430009c0000025e0000213d00000060045000390000000004040433000005d60640009c0000025e0000213d00000080055000390000000005050433174602600000040f000000800100043d000000a00200043d000000c00300043d0000014000000443000001600030044300000020030000390000018000300443000001a0002004430000004002000039000001c000200443000001e000100443000001000030044300000003010000390000012000100443000005d701000041000017470001042e000000000110004c0000025e0000c13d0000000001000019000017470001042e000005d80100004100000000001004350000004101000039000000040010043f000005d9010000410000174800010430000005db0210009c000000fc0000213d000005e20210009c000001430000a13d000005e30210009c000001ba0000613d000005e40210009c000001cf0000613d000005e50110009c0000025e0000c13d0000000001000416000000000110004c0000025e0000c13d00000000010000311746043d0000040f174615db0000040f000005d301000041000000400200043d000005d30320009c00000000010240190000004001100210000017470001042e000005e90210009c000001620000a13d000005ea0210009c000001e80000613d000005eb0210009c000001f40000613d000005ec0110009c0000025e0000c13d0000000001000416000000000110004c0000025e0000c13d000000040100008a0000000001100031000005d502000041000000200310008c00000000030000190000000003024019000005d501100197000000000410004c000000000200a019000005d50110009c00000000010300190000000001026019000000000110004c0000025e0000c13d00000004010000390000000201100367000000000101043b174611da0000040f000005d301000041000000400200043d000005d30320009c00000000010240190000004001100210000017470001042e000005dc0210009c000001810000a13d000005dd0210009c000002000000613d000005de0210009c0000020e0000613d000005df0110009c0000025e0000c13d0000000001000416000000000110004c0000025e0000c13d000000040100008a0000000001100031000005d502000041000000000310004c00000000030000190000000003024019000005d501100197000000000410004c000000000200a019000005d50110009c00000000010300190000000001026019000000000110004c0000025e0000c13d000000400100043d000005f5020000410000000000210435000005d302000041000005d30310009c00000000010280190000004001100210000005f6011001c7000017470001042e000005f30210009c0000021a0000613d000005f40110009c0000025e0000c13d0000000001000416000000000110004c0000025e0000c13d000000040100008a0000000001100031000005d502000041000000000310004c00000000030000190000000003024019000005d501100197000000000410004c000000000200a019000005d50110009c00000000010300190000000001026019000000000110004c0000025e0000c13d174616d70000040f0000000002010019000000400100043d000100000001001d174604b70000040f00000001040000290000000001410049000005d302000041000005d30310009c0000000001028019000005d30340009c000000000204401900000040022002100000006001100210000000000121019f000017470001042e000005e60210009c0000022b0000613d000005e70110009c0000025e0000c13d0000000001000416000000000110004c0000025e0000c13d000000040100008a0000000001100031000005d502000041000000200310008c00000000030000190000000003024019000005d501100197000000000410004c000000000200a019000005d50110009c00000000010300190000000001026019000000000110004c0000025e0000c13d00000004010000390000000201100367000000000101043b1746096c0000040f000005d301000041000000400200043d000005d30320009c00000000010240190000004001100210000017470001042e000005ed0210009c000002370000613d000005ee0110009c0000025e0000c13d0000000001000416000000000110004c0000025e0000c13d000000040100008a0000000001100031000005d502000041000000000310004c00000000030000190000000003024019000005d501100197000000000410004c000000000200a019000005d50110009c00000000010300190000000001026019000000000110004c0000025e0000c13d0000000101000039000000000101041a000000400200043d0000000000120435000005d301000041000005d30320009c00000000010240190000004001100210000005f6011001c7000017470001042e000005e00210009c000002520000613d000005e10110009c0000025e0000c13d0000000001000416000000000110004c0000025e0000c13d0000000001000031174604850000040f17460a500000040f000005d301000041000000400200043d000005d30320009c00000000010240190000004001100210000017470001042e0000000001000416000000000110004c0000025e0000c13d000000040100008a0000000001100031000005d502000041000000200310008c00000000030000190000000003024019000005d501100197000000000410004c000000000200a019000005d50110009c00000000010300190000000001026019000000000110004c0000025e0000c13d00000004010000390000000201100367000000000101043b1746085e0000040f000000400200043d0000000000120435000005d301000041000005d30320009c00000000010240190000004001100210000005f6011001c7000017470001042e0000000001000416000000000110004c0000025e0000c13d00000000010000311746043d0000040f174614de0000040f000005d301000041000000400200043d000005d30320009c00000000010240190000004001100210000017470001042e0000000001000416000000000110004c0000025e0000c13d00000000010000311746043d0000040f000100000002001d174611ca0000040f0000000102000029174611b90000040f000000000101041a000000ff011001900000000001000019000000010100c039000000400200043d0000000000120435000005d301000041000005d30320009c00000000010240190000004001100210000005f6011001c7000017470001042e0000000001000416000000000110004c0000025e0000c13d000000040100008a0000000001100031000005d502000041000000000310004c00000000030000190000000003024019000005d501100197000000000410004c000000000200a019000005d50110009c00000000010300190000000001026019000000000110004c0000025e0000c13d000000400100043d0000000000010435000005d302000041000005d30310009c00000000010280190000004001100210000005f6011001c7000017470001042e0000000001000416000000000110004c0000025e0000c13d0000000001000031174603f80000040f174607610000040f000005d301000041000000400200043d000005d30320009c00000000010240190000004001100210000017470001042e0000000001000416000000000110004c0000025e0000c13d00000000010000311746040d0000040f1746123e0000040f000005d301000041000000400200043d000005d30320009c00000000010240190000004001100210000017470001042e0000000001000416000000000110004c0000025e0000c13d00000000010000311746046a0000040f174604e20000040f000000400200043d0000000000120435000005d301000041000005d30320009c00000000010240190000004001100210000005f6011001c7000017470001042e0000000001000416000000000110004c0000025e0000c13d0000000001000031174603f80000040f1746106d0000040f000005d301000041000000400200043d000005d30320009c00000000010240190000004001100210000017470001042e0000000001000416000000000110004c0000025e0000c13d0000000001000031174604540000040f000005f701100197000005f80210009c00000000020000190000000102006039000005f90110009c00000000010000190000000101006039000000000121019f000000010110018f000000800010043f000005fa01000041000017470001042e0000000001000416000000000110004c0000025e0000c13d0000000001000031174604260000040f174613170000040f000005d301000041000000400200043d000005d30320009c00000000010240190000004001100210000017470001042e0000000001000416000000000110004c0000025e0000c13d000000040100008a0000000001100031000005d502000041000000200310008c00000000030000190000000003024019000005d501100197000000000410004c000000000200a019000005d50110009c00000000010300190000000001026019000000000110004c0000025e0000c13d00000004010000390000000201100367000000000101043b1746141a0000040f000005d301000041000000400200043d000005d30320009c00000000010240190000004001100210000017470001042e0000000001000416000000000110004c0000025e0000c13d0000000001000031174603f80000040f174608700000040f000005d301000041000000400200043d000005d30320009c00000000010240190000004001100210000017470001042e00000000010000190000174800010430000a000000000002000800000005001d000700000004001d000600000003001d000500000002001d000900000001001d0000000000000435000000200000043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000003b10000613d000000000101043b0000000002000411000400000002001d000005d602200197000a00000002001d0000000000200435000000200010043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000003b10000613d000000000101043b000000000101041a000000ff01100190000002bb0000c13d0000000000000435000000200000043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000003b10000613d000000000101043b0000000a020000290000000000200435000000200010043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000003b10000613d000000000101043b000000000201041a000001000300008a000000000232016f00000001022001bf000000000021041b000000400100043d000005d3020000410000000003000414000005d30430009c0000000003028019000005d30410009c00000000010280190000004001100210000000c002300210000000000112019f000005fc011001c70000800d020000390000000403000039000005fd040000410000000005000019000000040600002900000000070600191746173c0000040f0000000101200190000003b10000613d000005f5010000410000000000100435000000200000043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000003b10000613d000000000101043b0000000a020000290000000000200435000000200010043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000003b10000613d000000000101043b000000000101041a000000ff011001900000030f0000c13d000005f5010000410000000000100435000000200000043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000003b10000613d000000000101043b0000000a020000290000000000200435000000200010043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000003b10000613d000000000101043b000000000201041a000001000300008a000000000232016f00000001022001bf000000000021041b000000400100043d000005d3020000410000000003000414000005d30430009c0000000003028019000005d30410009c00000000010280190000004001100210000000c002300210000000000112019f000005fc011001c70000800d020000390000000403000039000005fd04000041000005f505000041000000040600002900000000070600191746173c0000040f0000000101200190000003b10000613d00000009060000290000000058060434000000000180004c000003b30000613d000005fe0180009c000003c50000813d0000000207000039000000000107041a000000010210019000000001011002700000007f0310018f000000000401001900000000040360190000001f0140008c00000000010000190000000101002039000000010110018f000000000112004b000003cb0000c13d000000000184019f000000200110008c00000000010000190000033b0000413d000100000004001d000200000005001d000300000008001d000400000007001d0000000000700435000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005ff011001c70000801002000039174617410000040f0000000102200190000003b10000613d000000000101043b00000009060000290000000407000029000000030800002900000002050000290000000104000029000000200240008c0000034c0000413d0000001f028000390000000502200270000000200380008c000000000302001900000000030040190000001f02400039000000050220027000000000022100190000000003310019000000000423004b0000034c0000813d000000000003041b0000000103300039000000000423004b000003480000413d0000001f0280008c0000036a0000a13d000000200200008a000000000328017000000020020000390000035c0000613d0000002002000039000000000400001900000000056200190000000005050433000000000051041b000000200220003900000001011000390000002004400039000000000534004b000003540000413d000000000383004b000003670000813d0000000303800210000000f80330018f000000010400008a000000000334022f000000000343013f00000000026200190000000002020433000000000232016f000000000021041b00000001010000390000000102800210000003710000013d0000000301800210000000010200008a000000000112022f000000000121013f0000000002050433000000000212016f0000000101800210000000000112019f000000000017041b000005f5010000410000000000100435000000200000043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000003b10000613d000000000101043b0000000a020000290000000000200435000000200010043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000003b10000613d000000000101043b000000000101041a000000ff01100190000003d10000613d0000000802000029000000000120004c000003e60000613d0000000101000039000000000021041b000000400100043d0000000000210435000005d3020000410000000003000414000005d30430009c0000000003028019000005d30410009c00000000010280190000004001100210000000c002300210000000000112019f000005ff011001c70000800d020000390000000203000039000006000400004100000000050004101746173c0000040f0000000101200190000003b10000613d0000000501000029000000800010043f0000000601000029000000a00010043f0000000701000029000000c00010043f000000000001042d00000000010000190000174800010430000000400100043d00000044021000390000060703000041000000000032043500000024021000390000001403000039000000000032043500000602020000410000000000210435000000040210003900000020030000390000000000320435000005d302000041000005d30310009c0000000001028019000000400110021000000603011001c70000174800010430000005d80100004100000000001004350000004101000039000000040010043f000005d9010000410000174800010430000005d80100004100000000001004350000002201000039000000040010043f000005d9010000410000174800010430000000400100043d00000064021000390000060403000041000000000032043500000044021000390000060503000041000000000032043500000024021000390000002803000039000000000032043500000602020000410000000000210435000000040210003900000020030000390000000000320435000005d302000041000005d30310009c0000000001028019000000400110021000000606011001c70000174800010430000000400100043d00000044021000390000060103000041000000000032043500000024021000390000001403000039000000000032043500000602020000410000000000210435000000040210003900000020030000390000000000320435000005d302000041000005d30310009c0000000001028019000000400110021000000603011001c70000174800010430000000040110008a000005d5020000410000001f0310008c00000000030000190000000003022019000005d501100197000000000410004c0000000002008019000005d50110009c00000000010300190000000001026019000000000110004c0000040b0000613d00000004010000390000000201100367000000000101043b000005d60210009c0000040b0000213d000000000001042d00000000010000190000174800010430000000040110008a000005d5020000410000003f0310008c00000000030000190000000003022019000005d501100197000000000410004c0000000002008019000005d50110009c00000000010300190000000001026019000000000110004c000004240000613d00000002020003670000000401200370000000000101043b000005d60310009c000004240000213d0000002402200370000000000202043b000005d60320009c000004240000213d000000000001042d00000000010000190000174800010430000000040110008a000005d5020000410000003f0310008c00000000030000190000000003022019000005d501100197000000000410004c0000000002008019000005d50110009c00000000010300190000000001026019000000000110004c0000043b0000613d00000002020003670000000401200370000000000101043b000005d60310009c0000043b0000213d0000002402200370000000000202043b000000000001042d00000000010000190000174800010430000000040110008a000005d5020000410000003f0310008c00000000030000190000000003022019000005d501100197000000000410004c0000000002008019000005d50110009c00000000010300190000000001026019000000000110004c000004520000613d00000002010003670000002402100370000000000202043b000005d60320009c000004520000213d0000000401100370000000000101043b000000000001042d00000000010000190000174800010430000000040110008a000005d5020000410000001f0310008c00000000030000190000000003022019000005d501100197000000000410004c0000000002008019000005d50110009c00000000010300190000000001026019000000000110004c000004680000613d00000004010000390000000201100367000000000101043b000005f702100197000000000221004b000004680000c13d000000000001042d00000000010000190000174800010430000000040110008a000005d5020000410000005f0310008c00000000030000190000000003022019000005d501100197000000000410004c0000000002008019000005d50110009c00000000010300190000000001026019000000000110004c000004830000613d00000002030003670000000401300370000000000101043b0000002402300370000000000202043b000005d60420009c000004830000213d0000004403300370000000000303043b000005d60430009c000004830000213d000000000001042d00000000010000190000174800010430000000040110008a000005d5020000410000009f0310008c00000000030000190000000003022019000005d501100197000000000410004c0000000002008019000005d50110009c00000000010300190000000001026019000000000110004c000004a40000613d00000002050003670000002401500370000000000201043b0000000401500370000000000101043b0000004403500370000000000303043b000005d60430009c000004a40000213d0000006404500370000000000404043b000005d60640009c000004a40000213d0000008405500370000000000505043b000005d60650009c000004a40000213d000000000001042d0000000001000019000017480001043000000000030100190000000004030433000000000140004c0000000001240019000004b60000613d000000000500001900000000062500190000002005500039000000000735001900000000070704330000000000760435000000000645004b000004ac0000413d000000000245004b000004b60000a13d0000000000010435000000000001042d00000020030000390000000004310436000000000302043300000000003404350000004001100039000000000430004c000004ca0000613d000000000400001900000000051400190000002004400039000000000624001900000000060604330000000000650435000000000534004b000004bf0000413d000000000234004b000004ca0000a13d000000000213001900000000000204350000001f02300039000000200300008a000000000232016f0000000001120019000000000001042d0000001f02200039000000200300008a000000000232016f0000000001120019000000000221004b00000000020000190000000102004039000005d40310009c000004dc0000213d0000000102200190000004dc0000c13d000000400010043f000000000001042d000005d80100004100000000001004350000004101000039000000040010043f000005d90100004100001748000104300007000000000002000000000423013f000005d6044001980000000005000019000006db0000613d000000000410004c000006db0000613d000600000003001d000700000002001d000400000001001d000006080100004100000000001004390000000001000412000200000001001d000000040010044300000040010000390000002400100443000005d3010000410000000002000414000005d30320009c0000000001024019000000c00110021000000609011001c70000800502000039174617410000040f0000000102200190000006dd0000613d000000000101043b0000060a020000410000000000200439000005d601100197000500000001001d0000000400100443000005d3010000410000000002000414000005d30320009c0000000001024019000000c0011002100000060b011001c70000800202000039174617410000040f0000000102200190000006dd0000613d000000000101043b000000000110004c000006dd0000613d000000400900043d0000060c0100004100000000001904350000000601000029000005d60310019700000024029000390000000001000414000100000003001d00000000003204350000000702000029000005d6032001970000000402900039000700000003001d00000000003204350000000502000029000000040320008c000005230000c13d0000000103000031000005550000013d000005d304000041000005d30310009c0000000001048019000005d30390009c000000000304001900000000030940190000004003300210000000c001100210000000000131019f0000060d011001c7000600000009001d174617410000040f000000060900002900000000030100190000006003300270000005d303300197000000200430008c000000200500003900000000050340190000001f0450018f0000000505500272000005420000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b0000053a0000413d000000000640004c000005510000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f00030000000103550000000102200190000006e50000613d0000001f01300039000000200200008a000600000002001d000000000221016f0000000001920019000000000221004b00000000020000190000000102004039000005d40310009c000006df0000213d0000000102200190000006df0000c13d000000400010043f000005d5010000410000000102000031000000200320008c00000000030000190000000003014019000005d502200197000000000420004c000000000100a019000005d50220009c000000000103c019000000000110004c000006dd0000c13d0000000004090433000005d60140009c000006dd0000213d000000000140004c0000000001000410000300000001001d0000000001000019000005e50000613d0000060a0100004100000000001004390000000400400443000005d3010000410000000002000414000005d30320009c0000000001024019000000c0011002100000060b011001c70000800202000039000500000004001d174617410000040f00000005040000290000000102200190000006dd0000613d000000000101043b000000000110004c000006dd0000613d000000400900043d0000060e0100004100000000001904350000000301000029000005d602100197000000440390003900000000010004140000000000230435000000240290003900000004030000290000000000320435000000040290003900000007030000290000000000320435000000040240008c0000059a0000c13d0000000103000031000005cc0000013d000005d302000041000005d30310009c0000000001028019000005d30390009c00000000020940190000004002200210000000c001100210000000000121019f00000603011001c70000000002040019000500000009001d174617410000040f000000050900002900000000030100190000006003300270000005d303300197000000200430008c000000200500003900000000050340190000001f0450018f0000000505500272000005b90000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b000005b10000413d000000000640004c000005c80000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f00030000000103550000000102200190000007230000613d0000001f013000390000000602000029000000000221016f0000000001920019000000000221004b00000000020000190000000102004039000005d40310009c000006df0000213d0000000102200190000006df0000c13d000000400010043f000005d5010000410000000102000031000000200320008c00000000030000190000000003014019000005d502200197000000000420004c000000000100a019000005d50220009c000000000103c019000000000110004c000006dd0000c13d0000000001090433000500000001001d000006080100004100000000001004390000000201000029000000040010044300000020010000390000002400100443000005d3010000410000000002000414000005d30320009c0000000001024019000000c00110021000000609011001c70000800502000039174617410000040f0000000102200190000006dd0000613d000000000101043b0000060a020000410000000000200439000005d601100197000200000001001d0000000400100443000005d3010000410000000002000414000005d30320009c0000000001024019000000c0011002100000060b011001c70000800202000039174617410000040f0000000102200190000006dd0000613d000000000101043b000000000110004c000006dd0000613d000000400900043d0000060c01000041000000000019043500000024029000390000000001000414000000010300002900000000003204350000000402900039000000070300002900000000003204350000000202000029000000040320008c000006180000c13d00000001030000310000064a0000013d000005d304000041000005d30310009c0000000001048019000005d30390009c000000000304001900000000030940190000004003300210000000c001100210000000000131019f0000060d011001c7000200000009001d174617410000040f000000020900002900000000030100190000006003300270000005d303300197000000200430008c000000200500003900000000050340190000001f0450018f0000000505500272000006370000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b0000062f0000413d000000000640004c000006460000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f00030000000103550000000102200190000007040000613d0000001f013000390000000602000029000000000221016f0000000001920019000000000221004b00000000020000190000000102004039000005d40310009c000006df0000213d0000000102200190000006df0000c13d000000400010043f000005d5010000410000000102000031000000200320008c00000000030000190000000003014019000005d502200197000000000420004c000000000100a019000005d50220009c000000000103c019000000000110004c000006dd0000c13d0000000004090433000005d60140009c000006dd0000213d000000000140004c0000000505000029000006db0000613d0000060a0100004100000000001004390000000400400443000005d3010000410000000002000414000005d30320009c0000000001024019000000c0011002100000060b011001c70000800202000039000200000004001d174617410000040f00000002040000290000000102200190000006dd0000613d000000000101043b000000000110004c000006dd0000613d000000400900043d0000060e0100004100000000001904350000000301000029000005d602100197000000440390003900000000010004140000000000230435000000240290003900000004030000290000000000320435000000040290003900000007030000290000000000320435000000040240008c0000068c0000c13d0000000103000031000006be0000013d000005d302000041000005d30310009c0000000001028019000005d30390009c00000000020940190000004002200210000000c001100210000000000121019f00000603011001c70000000002040019000700000009001d174617410000040f000000070900002900000000030100190000006003300270000005d303300197000000200430008c000000200500003900000000050340190000001f0450018f0000000505500272000006ab0000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b000006a30000413d000000000640004c000006ba0000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f00030000000103550000000102200190000007420000613d0000001f013000390000000602000029000000000221016f0000000001920019000000000221004b00000000020000190000000102004039000005d40310009c000006df0000213d0000000102200190000006df0000c13d000000400010043f000005d5010000410000000102000031000000200320008c00000000030000190000000003014019000005d502200197000000000420004c000000000100a019000005d50220009c000000000103c019000000000110004c000006dd0000c13d00000000010904330000000505000029000000000251004b000006db0000a13d00000000050100190000000001050019000000000001042d00000000010000190000174800010430000005d80100004100000000001004350000004101000039000000040010043f000005d90100004100001748000104300000001f0430018f0000000502300272000006f00000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b000006e90000413d000000000340004c000006fe0000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f0000000000120435000005d3010000410000000102000031000005d30320009c0000000001024019000000600110021000001748000104300000001f0430018f00000005023002720000070f0000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b000007080000413d000000000340004c0000071d0000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f0000000000120435000005d3010000410000000102000031000005d30320009c0000000001024019000000600110021000001748000104300000001f0430018f00000005023002720000072e0000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b000007270000413d000000000340004c0000073c0000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f0000000000120435000005d3010000410000000102000031000005d30320009c0000000001024019000000600110021000001748000104300000001f0430018f00000005023002720000074d0000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b000007460000413d000000000340004c0000075b0000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f0000000000120435000005d3010000410000000102000031000005d30320009c0000000001024019000000600110021000001748000104300003000000000002000300000001001d000005f5010000410000000000100435000000200000043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000007eb0000613d000000000101043b0000000101100039000000000101041a000100000001001d0000000000100435000000200000043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000007eb0000613d000000000101043b0000000002000411000200000002001d000005d6022001970000000000200435000000200010043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000007eb0000613d000000000101043b000000000101041a000000ff01100190000007ed0000613d000005f5010000410000000000100435000000200000043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000007eb0000613d000000000101043b0000000302000029000005d602200197000100000002001d0000000000200435000000200010043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000007eb0000613d000000000101043b000000000101041a000000ff01100190000007ea0000c13d000005f5010000410000000000100435000000200000043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000007eb0000613d000000000101043b00000001020000290000000000200435000000200010043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000007eb0000613d000000000101043b000000000201041a000001000300008a000000000232016f00000001022001bf000000000021041b000000400100043d000005d3020000410000000003000414000005d30430009c0000000003028019000005d30410009c00000000010280190000004001100210000000c002300210000000000112019f000005fc011001c70000800d020000390000000403000039000005fd04000041000005f505000041000000030600002900000002070000291746173c0000040f0000000101200190000007eb0000613d000000000001042d00000000010000190000174800010430000000400100043d00000000070100190000060f0110009c000007f70000413d000005d80100004100000000001004350000004101000039000000040010043f000005d901000041000017480001043000000000020700190000006001200039000000400010043f0000002a01000039000000000112043600000000020000310000000202200367000000000300001900000005043002100000000005410019000000000442034f000000000404043b00000000004504350000000103300039000000020430008c000007ff0000413d0000000002070433000000000220004c000008110000613d0000000002010433000006100220019700000611022001c700000000002104350000000002070433000000020220008c000008170000813d000005d80100004100000000001004350000003201000039000000040010043f000005d901000041000017480001043000000021027000390000000003020433000006100330019700000612033001c700000000003204350000002902000039000000020500002900000000030500190000000004070433000000000424004b000008110000a13d0000000f0430018f0000000304400210000000f80440015f0000061305000041000000000445022f000000000512001900000000060504330000061006600197000000f804400210000000000446019f00000000004504350000000405300270000000010220008a000000010420008c0000081e0000213d000000100130008c00000000010000190000000101004039000200000007001d174617280000040f0000000101000029174610170000040f000000400400043d000300000004001d000000200240003900000614030000410000000000320435000100000001001d00000037024000390000000201000029174604a60000040f0000061502000041000000000021043500000011021000390000000101000029174604a60000040f00000003030000290000000002310049000000200120008a00000000001304350000000001030019174604cf0000040f0000060201000041000000400200043d000200000002001d000000000012043500000004012000390000000302000029174604b70000040f00000002040000290000000001410049000005d302000041000005d30310009c0000000001028019000005d30340009c000000000204401900000040022002100000006001100210000000000121019f00001748000104300000000000100435000000200000043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f00000001022001900000086e0000613d000000000101043b0000000101100039000000000101041a000000000001042d000000000100001900001748000104300003000000000002000300000001001d000005f5010000410000000000100435000000200000043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000008f90000613d000000000101043b0000000101100039000000000101041a000100000001001d0000000000100435000000200000043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000008f90000613d000000000101043b0000000002000411000200000002001d000005d6022001970000000000200435000000200010043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000008f90000613d000000000101043b000000000101041a000000ff01100190000008fb0000613d000005f5010000410000000000100435000000200000043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000008f90000613d000000000101043b0000000302000029000005d602200197000100000002001d0000000000200435000000200010043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000008f90000613d000000000101043b000000000101041a000000ff01100190000008f80000613d000005f5010000410000000000100435000000200000043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000008f90000613d000000000101043b00000001020000290000000000200435000000200010043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000008f90000613d000000000101043b000000000201041a000001000300008a000000000232016f000000000021041b000000400100043d000005d3020000410000000003000414000005d30430009c0000000003028019000005d30410009c00000000010280190000004001100210000000c002300210000000000112019f000005fc011001c70000800d0200003900000004030000390000061604000041000005f505000041000000030600002900000002070000291746173c0000040f0000000101200190000008f90000613d000000000001042d00000000010000190000174800010430000000400100043d00000000070100190000060f0110009c000009050000413d000005d80100004100000000001004350000004101000039000000040010043f000005d901000041000017480001043000000000020700190000006001200039000000400010043f0000002a01000039000000000112043600000000020000310000000202200367000000000300001900000005043002100000000005410019000000000442034f000000000404043b00000000004504350000000103300039000000020430008c0000090d0000413d0000000002070433000000000220004c0000091f0000613d0000000002010433000006100220019700000611022001c700000000002104350000000002070433000000020220008c000009250000813d000005d80100004100000000001004350000003201000039000000040010043f000005d901000041000017480001043000000021027000390000000003020433000006100330019700000612033001c700000000003204350000002902000039000000020500002900000000030500190000000004070433000000000424004b0000091f0000a13d0000000f0430018f0000000304400210000000f80440015f0000061305000041000000000445022f000000000512001900000000060504330000061006600197000000f804400210000000000446019f00000000004504350000000405300270000000010220008a000000010420008c0000092c0000213d000000100130008c00000000010000190000000101004039000200000007001d174617280000040f0000000101000029174610170000040f000000400400043d000300000004001d000000200240003900000614030000410000000000320435000100000001001d00000037024000390000000201000029174604a60000040f0000061502000041000000000021043500000011021000390000000101000029174604a60000040f00000003030000290000000002310049000000200120008a00000000001304350000000001030019174604cf0000040f0000060201000041000000400200043d000200000002001d000000000012043500000004012000390000000302000029174604b70000040f00000002040000290000000001410049000005d302000041000005d30310009c0000000001028019000005d30340009c000000000204401900000040022002100000006001100210000000000121019f000017480001043000030000000000020000000003000411000005d602300197000300000002001d000100000003001d000006170230009c000009c90000813d000200000001001d0000000000100435000000200000043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000009c70000613d000000000101043b00000003020000290000000000200435000000200010043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000009c70000613d000000000101043b000000000101041a000000ff01100190000009c60000613d00000002010000290000000000100435000000200000043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000009c70000613d000000000101043b00000003020000290000000000200435000000200010043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000009c70000613d000000000101043b000000000201041a000001000300008a000000000232016f000000000021041b000000400100043d000005d3020000410000000003000414000005d30430009c0000000003028019000005d30410009c00000000010280190000004001100210000000c002300210000000000112019f000005fc011001c70000800d02000039000000040300003900000616040000410000000205000029000000010600002900000003070000291746173c0000040f0000000101200190000009c70000613d000000000001042d00000000010000190000174800010430000000400100043d00000064021000390000061803000041000000000032043500000044021000390000061903000041000000000032043500000024021000390000002f03000039000000000032043500000602020000410000000000210435000000040210003900000020030000390000000000320435000005d302000041000005d30310009c0000000001028019000000400110021000000606011001c700001748000104300003000000000002000100000002001d000005d6022001970000000003000411000300000002001d000000000232004b00000a3b0000c13d000200000001001d0000000000100435000000200000043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f000000010220019000000a390000613d000000000101043b00000003020000290000000000200435000000200010043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f000000010220019000000a390000613d000000000101043b000000000101041a000000ff0110019000000a380000613d00000002010000290000000000100435000000200000043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f000000010220019000000a390000613d000000000101043b00000003020000290000000000200435000000200010043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f000000010220019000000a390000613d000000000101043b000000000201041a000001000300008a000000000232016f000000000021041b000000400100043d000005d3020000410000000003000414000005d30430009c0000000003028019000005d30410009c00000000010280190000004001100210000000c002300210000000000112019f000005fc011001c70000800d02000039000000040300003900000616040000410000000205000029000000010600002900000003070000291746173c0000040f000000010120019000000a390000613d000000000001042d00000000010000190000174800010430000000400100043d00000064021000390000061803000041000000000032043500000044021000390000061903000041000000000032043500000024021000390000002f03000039000000000032043500000602020000410000000000210435000000040210003900000020030000390000000000320435000005d302000041000005d30310009c0000000001028019000000400110021000000606011001c700001748000104300010000000000002001000000005001d000900000003001d000800000002001d000c00000001001d0000060a010000410000000000100439000400000004001d000005d601400197000d00000001001d0000000400100443000005d3010000410000000002000414000005d30320009c0000000001024019000000c0011002100000060b011001c70000800202000039174617410000040f000000010220019000000ec90000613d000000000101043b000000000110004c00000ec90000613d000000400900043d0000061a0100004100000000001904350000001001000029000005d60310019700000004029000390000000001000414000700000003001d00000000003204350000000d02000029000000040320008c00000a760000c13d000000010300003100000aa80000013d000005d304000041000005d30310009c0000000001048019000005d30390009c000000000304001900000000030940190000004003300210000000c001100210000000000131019f000005d9011001c7001000000009001d174617410000040f000000100900002900000000030100190000006003300270000005d303300197000000200430008c000000200500003900000000050340190000001f0450018f000000050550027200000a950000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b00000a8d0000413d000000000640004c00000aa40000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f0003000000010355000000010220019000000f1f0000613d0000001f01300039000000200200008a001000000002001d000000000221016f0000000001920019000000000221004b00000000020000190000000102004039000005d40310009c00000ecb0000213d000000010220019000000ecb0000c13d000000400010043f000005d5010000410000000102000031000000200320008c00000000030000190000000003014019000005d502200197000000000420004c000000000100a019000005d50220009c000000000103c019000000000110004c00000ec90000c13d0000000001090433000300000001001d000006080100004100000000001004390000000001000412000a00000001001d000000040010044300000040010000390000002400100443000005d3010000410000000002000414000005d30320009c0000000001024019000000c00110021000000609011001c70000800502000039174617410000040f000000010220019000000ec90000613d000000000101043b0000060a020000410000000000200439000005d601100197000f00000001001d0000000400100443000005d3010000410000000002000414000005d30320009c0000000001024019000000c0011002100000060b011001c70000800202000039174617410000040f000000010220019000000ec90000613d000000000101043b000000000110004c00000ec90000613d000000400900043d0000060c010000410000000000190435000000240290003900000000010004140000000d0300002900000000003204350000000902000029000005d6032001970000000402900039000e00000003001d00000000003204350000000f02000029000000040320008c00000af80000c13d000000010300003100000b2a0000013d000005d304000041000005d30310009c0000000001048019000005d30390009c000000000304001900000000030940190000004003300210000000c001100210000000000131019f0000060d011001c7000f00000009001d174617410000040f0000000f0900002900000000030100190000006003300270000005d303300197000000200430008c000000200500003900000000050340190000001f0450018f000000050550027200000b170000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b00000b0f0000413d000000000640004c00000b260000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f0003000000010355000000010220019000000f3e0000613d0000001f013000390000001002000029000000000221016f0000000001920019000000000221004b00000000020000190000000102004039000005d40310009c00000ecb0000213d000000010220019000000ecb0000c13d000000400010043f000005d5010000410000000102000031000000200320008c00000000030000190000000003014019000005d502200197000000000420004c000000000100a019000005d50220009c000000000103c019000000000110004c00000ec90000c13d0000000001090433000f00000001001d000005d60110009c00000ec90000213d0000000f01000029000000000110004c0000000001000410000b00000001001d000000000100001900000bbb0000613d0000060a0100004100000000001004390000000f010000290000000400100443000005d3010000410000000002000414000005d30320009c0000000001024019000000c0011002100000060b011001c70000800202000039174617410000040f000000010220019000000ec90000613d000000000101043b000000000110004c00000ec90000613d000000400900043d0000060e0100004100000000001904350000000b01000029000005d60210019700000044039000390000000001000414000000000023043500000024029000390000000c03000029000000000032043500000004029000390000000e0300002900000000003204350000000f02000029000000040320008c00000b700000c13d000000010300003100000ba20000013d000005d304000041000005d30310009c0000000001048019000005d30390009c000000000304001900000000030940190000004003300210000000c001100210000000000131019f00000603011001c7000600000009001d174617410000040f000000060900002900000000030100190000006003300270000005d303300197000000200430008c000000200500003900000000050340190000001f0450018f000000050550027200000b8f0000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b00000b870000413d000000000640004c00000b9e0000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f0003000000010355000000010220019000000fd90000613d0000001f013000390000001002000029000000000221016f0000000001920019000000000221004b00000000020000190000000102004039000005d40310009c00000ecb0000213d000000010220019000000ecb0000c13d000000400010043f000005d5010000410000000102000031000000200320008c00000000030000190000000003014019000005d502200197000000000420004c000000000100a019000005d50220009c000000000103c019000000000110004c00000ec90000c13d0000000001090433000600000001001d000006080100004100000000001004390000000a0100002900000004001004430000002001000039000200000001001d0000002400100443000005d3010000410000000002000414000005d30320009c0000000001024019000000c00110021000000609011001c70000800502000039174617410000040f000000010220019000000ec90000613d000000000101043b0000060a020000410000000000200439000005d601100197000500000001001d0000000400100443000005d3010000410000000002000414000005d30320009c0000000001024019000000c0011002100000060b011001c70000800202000039174617410000040f000000010220019000000ec90000613d000000000101043b000000000110004c00000ec90000613d000000400900043d0000060c010000410000000000190435000000240290003900000000010004140000000d03000029000000000032043500000004029000390000000e0300002900000000003204350000000502000029000000040320008c00000bef0000c13d000000010300003100000c210000013d000005d304000041000005d30310009c0000000001048019000005d30390009c000000000304001900000000030940190000004003300210000000c001100210000000000131019f0000060d011001c7000500000009001d174617410000040f000000050900002900000000030100190000006003300270000005d303300197000000200430008c000000200500003900000000050340190000001f0450018f000000050550027200000c0e0000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b00000c060000413d000000000640004c00000c1d0000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f0003000000010355000000010220019000000f5d0000613d0000001f013000390000001002000029000000000221016f0000000001920019000000000221004b00000000020000190000000102004039000005d40310009c00000ecb0000213d000000010220019000000ecb0000c13d000000400010043f000005d5020000410000000103000031000000200430008c00000000040000190000000004024019000005d503300197000000000530004c000000000200a019000005d50330009c000000000204c019000000000220004c00000ec90000c13d0000000005090433000005d60250009c00000ec90000213d000000000250004c000000060400002900000cb40000613d0000060a0100004100000000001004390000000400500443000005d3010000410000000002000414000005d30320009c0000000001024019000000c0011002100000060b011001c70000800202000039000500000005001d174617410000040f0000000506000029000000010220019000000ec90000613d000000000101043b000000000110004c00000ec90000613d000000400900043d0000060e0100004100000000001904350000000b01000029000005d60210019700000044039000390000000001000414000000000023043500000024029000390000000c03000029000000000032043500000004029000390000000e030000290000000000320435000000040260008c00000c630000c13d000000010300003100000c960000013d000005d302000041000005d30310009c0000000001028019000005d30390009c00000000020940190000004002200210000000c001100210000000000121019f00000603011001c70000000002060019000100000009001d174617410000040f000000010900002900000000030100190000006003300270000005d303300197000000200430008c000000200500003900000000050340190000001f0450018f000000050550027200000c820000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b00000c7a0000413d000000000640004c00000c910000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f00030000000103550000000102200190000000050600002900000ff80000613d0000001f013000390000001002000029000000000221016f0000000001920019000000000221004b00000000020000190000000102004039000005d40310009c00000ecb0000213d000000010220019000000ecb0000c13d000000400010043f000005d5020000410000000103000031000000200430008c00000000040000190000000004024019000005d503300197000000000530004c000000000200a019000005d50330009c000000000204c019000000000220004c00000ec90000c13d00000000020904330000000604000029000000000342004b00000cb40000a13d0000000004020019000f00000006001d0000000802000029000000000224004b00000ed10000413d000006080100004100000000001004390000000a0100002900000004001004430000002400000443000005d3010000410000000002000414000005d30320009c0000000001024019000000c00110021000000609011001c70000800502000039174617410000040f000000010220019000000ec90000613d000000000301043b000000400100043d00000044021000390000000c04000029000000000042043500000020061000390000061b04000041000000000046043500000044040000390000000000410435000005d60a30019700000024031000390000000000a304350000061c0310009c00000ecb0000213d0000008003100039000000400030043f00000000030004140000000e02000029000000040420008c000a0000000a001d00000cdf0000c13d0000000103000031000000000200001900000cf40000013d000005d304000041000005d30560009c0000000005040019000000000506401900000040065002100000000001010433000005d30510009c00000000010480190000006001100210000000000161019f000005d30530009c0000000003048019000000c003300210000000000131019f1746173c0000040f0000000a0a000029000000010220015f00030000000103550000006001100270000105d30010019d000005d3031001970000006001000039000000000430004c00000d220000613d0000003f013000390000001004000029000000000441016f000000400100043d0000000004410019000000000514004b00000000050000190000000105004039000005d40640009c00000ecb0000213d000000010550019000000ecb0000c13d000000400040043f0000000003310436000000030400036700000001060000310000001f0560018f000000050660027200000d130000613d000000000700001900000005087002100000000009830019000000000884034f000000000808043b00000000008904350000000107700039000000000867004b00000d0b0000413d000000000750004c00000d220000613d0000000506600210000000000464034f00000000036300190000000305500210000000000603043300000000065601cf000000000656022f000000000404043b0000010005500089000000000454022f00000000045401cf000000000464019f0000000000430435000000010220019000000ee20000c13d0000000012010434000000000320004c00000d3b0000613d000005d503000041000000200420008c00000000040000190000000004034019000005d502200197000000000520004c000000000300a019000005d50220009c00000000020400190000000002036019000000000220004c00000ec90000c13d0000000001010433000000000210004c0000000002000019000000010200c039000000000221004b00000ec90000c13d000000000110004c00000f0a0000613d0000060a0100004100000000001004390000000400a00443000005d3010000410000000002000414000005d30320009c0000000001024019000000c0011002100000060b011001c70000800202000039174617410000040f0000000a04000029000000010220019000000ec90000613d000000000101043b000000000110004c00000ec90000613d000000400900043d0000061f010000410000000000190435000000240290003900000000010004140000000f03000029000000000032043500000004029000390000000e030000290000000000320435000000040240008c00000d5a0000c13d000000010300003100000d8c0000013d000005d302000041000005d30310009c0000000001028019000005d30390009c00000000020940190000004002200210000000c001100210000000000121019f0000060d011001c70000000002040019000a00000009001d1746173c0000040f0000000a0900002900000000030100190000006003300270000005d303300197000000200430008c000000200500003900000000050340190000001f0450018f000000050550027200000d790000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b00000d710000413d000000000640004c00000d880000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f0003000000010355000000010220019000000f7c0000613d0000001f013000390000001002000029000000000121016f0000000005910019000000000115004b00000000010000190000000101004039000005d40250009c00000ecb0000213d000000010110019000000ecb0000c13d000000400050043f000005d5010000410000000102000031000000200320008c00000000030000190000000003014019000005d502200197000000000420004c000000000100a019000005d50220009c000000000103c019000000000110004c00000ec90000c13d00000060015000390000000202000039000000000021043500000040015000390000000702000029000000000021043500000020015000390000000e020000290000000000210435000000600100003900000000001504350000061c0150009c00000ecb0000213d0000008001500039000000400010043f0000060a0100004100000000001004390000000f010000290000000400100443000005d3010000410000000002000414000005d30320009c0000000001024019000000c0011002100000060b011001c70000800202000039000e00000005001d174617410000040f0000000e08000029000000010220019000000ec90000613d000000000101043b000000000110004c00000ec90000613d000000400900043d000006200100004100000000001904350000000402900039000000000100041400000080030000390000000000320435000000000308043300000084049000390000000000340435000000a404900039000000000530004c00000ddf0000613d000000000500001900000000064500190000002005500039000000000785001900000000070704330000000000760435000000000635004b00000dd40000413d000000000535004b00000ddf0000a13d000000000543001900000000000504350000000b05000029000005d605500197000000240690003900000000005604350000001f033000390000001005000029000000000353016f00000000044300190000000002240049000000640590003900000000002504350000004402900039000000000002043500000000000404350000000f02000029000000040420008c00000df20000c13d000000010300003100000e280000013d000005d306000041000005d30490009c000000000406001900000000040940190000004004400210000000c403300039000005d30530009c00000000030680190000006003300210000000000343019f000005d30410009c0000000001068019000000c001100210000000000113019f000f00000009001d1746173c0000040f0000000f0900002900000000030100190000006003300270000005d303300197000000400430008c000000400500003900000000050340190000001f0450018f000000050550027200000e150000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b00000e0d0000413d000000000640004c00000e240000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f0003000000010355000000010220019000000f9b0000613d0000001f013000390000001002000029000000000221016f0000000001920019000000000221004b00000000020000190000000102004039000005d40310009c00000ecb0000213d000000010220019000000ecb0000c13d000000400010043f000005d5010000410000000102000031000000400320008c00000000030000190000000003014019000005d502200197000000000420004c000000000100a019000005d50220009c000000000103c019000000000110004c00000ec90000c13d0000000001090433000005d60110009c00000ec90000213d0000060a0100004100000000001004390000000d010000290000000400100443000005d3010000410000000002000414000005d30320009c0000000001024019000000c0011002100000060b011001c70000800202000039174617410000040f000000010220019000000ec90000613d000000000101043b000000000110004c00000ec90000613d000000400900043d0000061a01000041000000000019043500000004029000390000000001000414000000070300002900000000003204350000000d02000029000000040320008c00000e600000c13d000000010300003100000e920000013d000005d304000041000005d30310009c0000000001048019000005d30390009c000000000304001900000000030940190000004003300210000000c001100210000000000131019f000005d9011001c7000f00000009001d174617410000040f0000000f0900002900000000030100190000006003300270000005d303300197000000200430008c000000200500003900000000050340190000001f0450018f000000050550027200000e7f0000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b00000e770000413d000000000640004c00000e8e0000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f0003000000010355000000010220019000000fba0000613d0000001f013000390000001002000029000000000221016f0000000001920019000000000221004b00000000020000190000000102004039000005d40310009c00000ecb0000213d000000010220019000000ecb0000c13d000000400010043f000005d5020000410000000103000031000000200430008c00000000040000190000000004024019000005d503300197000000000530004c000000000200a019000005d50330009c000000000204c019000000000220004c00000ec90000c13d00000000020904330000000304000029000000000342004b00000ef30000413d00000000024200490000000803000029000000000232004b00000ef90000413d000000200210003900000000003204350000000c020000290000000000210435000005d3020000410000000003000414000005d30430009c0000000003028019000005d30410009c00000000010280190000004001100210000000c002300210000000000112019f000005fb011001c70000800d0200003900000003030000390000062104000041000000090500002900000004060000291746173c0000040f000000010120019000000ec90000613d000000000001042d00000000010000190000174800010430000005d80100004100000000001004350000004101000039000000040010043f000005d901000041000017480001043000000044021000390000062403000041000000000032043500000024021000390000001603000039000000000032043500000602020000410000000000210435000000040210003900000002030000290000000000320435000005d302000041000005d30310009c0000000001028019000000400110021000000603011001c70000174800010430000000400100043d0000004402100039000006230300004100000000003204350000060202000041000000000021043500000024021000390000000203000029000000000032043500000004021000390000000000320435000005d302000041000005d30310009c0000000001028019000000400110021000000603011001c70000174800010430000005d80100004100000000001004350000001101000039000000040010043f000005d901000041000017480001043000000044021000390000062203000041000000000032043500000024021000390000001703000039000000000032043500000602020000410000000000210435000000040210003900000002030000290000000000320435000005d302000041000005d30310009c0000000001028019000000400110021000000603011001c70000174800010430000000400100043d00000064021000390000061d03000041000000000032043500000044021000390000061e03000041000000000032043500000024021000390000002a03000039000000000032043500000602020000410000000000210435000000040210003900000002030000290000000000320435000005d302000041000005d30310009c0000000001028019000000400110021000000606011001c700001748000104300000001f0430018f000000050230027200000f2a0000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b00000f230000413d000000000340004c00000f380000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f0000000000120435000005d3010000410000000102000031000005d30320009c0000000001024019000000600110021000001748000104300000001f0430018f000000050230027200000f490000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b00000f420000413d000000000340004c00000f570000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f0000000000120435000005d3010000410000000102000031000005d30320009c0000000001024019000000600110021000001748000104300000001f0430018f000000050230027200000f680000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b00000f610000413d000000000340004c00000f760000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f0000000000120435000005d3010000410000000102000031000005d30320009c0000000001024019000000600110021000001748000104300000001f0430018f000000050230027200000f870000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b00000f800000413d000000000340004c00000f950000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f0000000000120435000005d3010000410000000102000031000005d30320009c0000000001024019000000600110021000001748000104300000001f0430018f000000050230027200000fa60000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b00000f9f0000413d000000000340004c00000fb40000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f0000000000120435000005d3010000410000000102000031000005d30320009c0000000001024019000000600110021000001748000104300000001f0430018f000000050230027200000fc50000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b00000fbe0000413d000000000340004c00000fd30000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f0000000000120435000005d3010000410000000102000031000005d30320009c0000000001024019000000600110021000001748000104300000001f0430018f000000050230027200000fe40000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b00000fdd0000413d000000000340004c00000ff20000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f0000000000120435000005d3010000410000000102000031000005d30320009c0000000001024019000000600110021000001748000104300000001f0430018f0000000502300272000010030000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b00000ffc0000413d000000000340004c000010110000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f0000000000120435000005d3010000410000000102000031000005d30320009c0000000001024019000000600110021000001748000104300000000002010019000000400100043d000006250310009c000010560000813d0000008003100039000000400030043f0000004203000039000000000331043600000000040000310000000204400367000000000500001900000005065002100000000007630019000000000664034f000000000606043b00000000006704350000000105500039000000030650008c000010220000413d0000000004010433000000000440004c000010500000613d0000000004030433000006100440019700000611044001c700000000004304350000000004010433000000020440008c000010500000413d00000021041000390000000005040433000006100550019700000612055001c70000000000540435000000410400003900000000050200190000000002010433000000000242004b000010500000a13d0000000f0250018f0000000302200210000000f80220015f0000061306000041000000000226022f000000000634001900000000070604330000061007700197000000f802200210000000000227019f00000000002604350000000402500270000000010440008a000000010640008c0000103a0000213d000000100250008c0000105c0000813d000000000001042d000005d80100004100000000001004350000003201000039000000040010043f000005d9010000410000174800010430000005d80100004100000000001004350000004101000039000000040010043f000005d9010000410000174800010430000000400100043d0000004402100039000006260300004100000000003204350000060202000041000000000021043500000024021000390000002003000039000000000032043500000004021000390000000000320435000005d302000041000005d30310009c0000000001028019000000400110021000000603011001c700001748000104300004000000000002000300000001001d0000000000000435000000200000043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000011460000613d000000000101043b0000000101100039000000000101041a000100000001001d0000000000100435000000200000043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000011460000613d000000000101043b0000000002000411000200000002001d000005d602200197000400000002001d0000000000200435000000200010043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000011460000613d000000000101043b000000000101041a000000ff01100190000011480000613d0000000000000435000000200000043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000011460000613d000000000101043b0000000302000029000005d602200197000100000002001d0000000000200435000000200010043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000011460000613d000000000101043b000000000101041a000000ff01100190000010f40000c13d0000000000000435000000200000043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000011460000613d000000000101043b00000001020000290000000000200435000000200010043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000011460000613d000000000101043b000000000201041a000001000300008a000000000232016f00000001022001bf000000000021041b000000400100043d000005d3020000410000000003000414000005d30430009c0000000003028019000005d30410009c00000000010280190000004001100210000000c002300210000000000112019f000005fc011001c70000800d020000390000000403000039000005fd040000410000000005000019000000030600002900000002070000291746173c0000040f0000000101200190000011460000613d0000000000000435000000200000043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000011460000613d000000000101043b00000004020000290000000000200435000000200010043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000011460000613d000000000101043b000000000101041a000000ff01100190000011450000613d0000000000000435000000200000043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000011460000613d000000000101043b00000004020000290000000000200435000000200010043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000011460000613d000000000101043b000000000201041a000001000300008a000000000232016f000000000021041b000000400100043d000005d3020000410000000003000414000005d30430009c0000000003028019000005d30410009c00000000010280190000004001100210000000c002300210000000000112019f000005fc011001c70000800d02000039000000040300003900000616040000410000000005000019000000020600002900000000070600191746173c0000040f0000000101200190000011460000613d000000000001042d00000000010000190000174800010430000000400100043d00000000070100190000060f0110009c000011520000413d000005d80100004100000000001004350000004101000039000000040010043f000005d901000041000017480001043000000000020700190000006001200039000000400010043f0000002a01000039000000000112043600000000020000310000000202200367000000000300001900000005043002100000000005410019000000000442034f000000000404043b00000000004504350000000103300039000000020430008c0000115a0000413d0000000002070433000000000220004c0000116c0000613d0000000002010433000006100220019700000611022001c700000000002104350000000002070433000000020220008c000011720000813d000005d80100004100000000001004350000003201000039000000040010043f000005d901000041000017480001043000000021027000390000000003020433000006100330019700000612033001c700000000003204350000002902000039000000020500002900000000030500190000000004070433000000000424004b0000116c0000a13d0000000f0430018f0000000304400210000000f80440015f0000061305000041000000000445022f000000000512001900000000060504330000061006600197000000f804400210000000000446019f00000000004504350000000405300270000000010220008a000000010420008c000011790000213d000000100130008c00000000010000190000000101004039000300000007001d174617280000040f0000000101000029174610170000040f000000400400043d000400000004001d000000200240003900000614030000410000000000320435000200000001001d00000037024000390000000301000029174604a60000040f0000061502000041000000000021043500000011021000390000000201000029174604a60000040f00000004030000290000000002310049000000200120008a00000000001304350000000001030019174604cf0000040f0000060201000041000000400200043d000300000002001d000000000012043500000004012000390000000402000029174604b70000040f00000003040000290000000001410049000005d302000041000005d30310009c0000000001028019000005d30340009c000000000204401900000040022002100000006001100210000000000121019f0000174800010430000005d6022001970000000000200435000000200010043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000011c80000613d000000000101043b000000000001042d000000000100001900001748000104300000000000100435000000200000043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000011d80000613d000000000101043b000000000001042d000000000100001900001748000104300001000000000002000100000001001d000005f5010000410000000000100435000000200000043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000012150000613d000000000101043b0000000002000411000005d6022001970000000000200435000000200010043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000012150000613d000000000101043b000000000101041a000000ff01100190000012170000613d0000000102000029000000000120004c0000122c0000613d0000000101000039000000000021041b000000400100043d0000000000210435000005d3020000410000000003000414000005d30430009c0000000003028019000005d30410009c00000000010280190000004001100210000000c002300210000000000112019f000005ff011001c70000800d020000390000000203000039000006000400004100000000050004101746173c0000040f0000000101200190000012150000613d000000000001042d00000000010000190000174800010430000000400100043d00000064021000390000060403000041000000000032043500000044021000390000060503000041000000000032043500000024021000390000002803000039000000000032043500000602020000410000000000210435000000040210003900000020030000390000000000320435000005d302000041000005d30310009c0000000001028019000000400110021000000606011001c70000174800010430000000400100043d00000044021000390000060103000041000000000032043500000024021000390000001403000039000000000032043500000602020000410000000000210435000000040210003900000020030000390000000000320435000005d302000041000005d30310009c0000000001028019000000400110021000000603011001c700001748000104300002000000000002000200000002001d000100000001001d000005f5010000410000000000100435000000200000043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000012d50000613d000000000101043b0000000002000411000005d6022001970000000000200435000000200010043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000012d50000613d000000400300043d000000000101043b000000000101041a000000ff01100190000012dd0000613d0000002001300039000006270200004100000000002104350000000202000029000005d602200197000000240430003900000000002404350000004402000039000000000023043500000044023000390000000000020435000006250230009c000012d70000813d0000008002300039000000400020043f00000000040004140000000102000029000005d602200197000000040520008c000012790000c13d000000010300003100000000020000190000128d0000013d000005d305000041000005d30610009c000000000105801900000040011002100000000003030433000005d30630009c00000000030580190000006003300210000000000113019f000005d30340009c00000000030500190000000003044019000000c003300210000000000131019f1746173c0000040f000000010220015f00030000000103550000006001100270000105d30010019d000005d3031001970000006001000039000000000430004c000012bb0000613d0000003f01300039000000200400008a000000000441016f000000400100043d0000000004410019000000000514004b00000000050000190000000105004039000005d40640009c000012d70000213d0000000105500190000012d70000c13d000000400040043f0000000003310436000000030400036700000001060000310000001f0560018f0000000506600272000012ac0000613d000000000700001900000005087002100000000009830019000000000884034f000000000808043b00000000008904350000000107700039000000000867004b000012a40000413d000000000750004c000012bb0000613d0000000506600210000000000464034f00000000036300190000000305500210000000000603043300000000065601cf000000000656022f000000000404043b0000010005500089000000000454022f00000000045401cf000000000464019f00000000004304350000000102200190000012f10000c13d0000000012010434000000000320004c000012d40000613d000005d503000041000000200420008c00000000040000190000000004034019000005d502200197000000000520004c000000000300a019000005d50220009c00000000020400190000000002036019000000000220004c000012d50000c13d0000000001010433000000000210004c0000000002000019000000010200c039000000000221004b000012d50000c13d000000000110004c000013020000613d000000000001042d00000000010000190000174800010430000005d80100004100000000001004350000004101000039000000040010043f000005d901000041000017480001043000000064013000390000060402000041000000000021043500000044013000390000060502000041000000000021043500000024013000390000002802000039000000000021043500000602010000410000000000130435000000040130003900000020020000390000000000210435000005d301000041000005d30230009c0000000001034019000000400110021000000606011001c70000174800010430000000400100043d0000004402100039000006230300004100000000003204350000060202000041000000000021043500000024021000390000002003000039000000000032043500000004021000390000000000320435000005d302000041000005d30310009c0000000001028019000000400110021000000603011001c70000174800010430000000400100043d00000064021000390000061d03000041000000000032043500000044021000390000061e03000041000000000032043500000024021000390000002a03000039000000000032043500000602020000410000000000210435000000040210003900000020030000390000000000320435000005d302000041000005d30310009c0000000001028019000000400110021000000606011001c700001748000104300003000000000002000300000002001d000200000001001d000005f5010000410000000000100435000000200000043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000013c50000613d000000000101043b0000000002000411000005d602200197000100000002001d0000000000200435000000200010043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000013c50000613d000000000101043b000000000101041a000000ff01100190000013cd0000613d0000000303000029000000000130004c000013e20000613d000000400100043d0000004402100039000000000032043500000020031000390000061b020000410000000000230435000000240210003900000001040000290000000000420435000000440200003900000000002104350000000202000029000005d602200197000006250410009c000013c70000813d0000008004100039000000400040043f0000000004000414000000040520008c000013550000c13d00000001030000310000000002000019000013690000013d000005d305000041000005d30630009c000000000305801900000040033002100000000001010433000005d30610009c00000000010580190000006001100210000000000131019f000005d30340009c00000000030500190000000003044019000000c003300210000000000131019f1746173c0000040f000000010220015f00030000000103550000006001100270000105d30010019d000005d3031001970000006001000039000000000430004c000013970000613d0000003f01300039000000200400008a000000000441016f000000400100043d0000000004410019000000000514004b00000000050000190000000105004039000005d40640009c000013c70000213d0000000105500190000013c70000c13d000000400040043f0000000003310436000000030400036700000001060000310000001f0560018f0000000506600272000013880000613d000000000700001900000005087002100000000009830019000000000884034f000000000808043b00000000008904350000000107700039000000000867004b000013800000413d000000000750004c000013970000613d0000000506600210000000000464034f00000000036300190000000305500210000000000603043300000000065601cf000000000656022f000000000404043b0000010005500089000000000454022f00000000045401cf000000000464019f00000000004304350000000102200190000013f40000c13d0000000012010434000000000320004c000013b00000613d000005d503000041000000200420008c00000000040000190000000004034019000005d502200197000000000520004c000000000300a019000005d50220009c00000000020400190000000002036019000000000220004c000013c50000c13d0000000001010433000000000210004c0000000002000019000000010200c039000000000221004b000013c50000c13d000000000110004c000014050000613d000000400100043d00000003020000290000000000210435000005d3020000410000000003000414000005d30430009c0000000003028019000005d30410009c00000000010280190000004001100210000000c002300210000000000112019f000005ff011001c70000800d020000390000000203000039000006280400004100000002050000291746173c0000040f0000000101200190000013c50000613d000000000001042d00000000010000190000174800010430000005d80100004100000000001004350000004101000039000000040010043f000005d9010000410000174800010430000000400100043d00000064021000390000060403000041000000000032043500000044021000390000060503000041000000000032043500000024021000390000002803000039000000000032043500000602020000410000000000210435000000040210003900000020030000390000000000320435000005d302000041000005d30310009c0000000001028019000000400110021000000606011001c70000174800010430000000400100043d00000044021000390000062903000041000000000032043500000024021000390000001e03000039000000000032043500000602020000410000000000210435000000040210003900000020030000390000000000320435000005d302000041000005d30310009c0000000001028019000000400110021000000603011001c70000174800010430000000400100043d0000004402100039000006230300004100000000003204350000060202000041000000000021043500000024021000390000002003000039000000000032043500000004021000390000000000320435000005d302000041000005d30310009c0000000001028019000000400110021000000603011001c70000174800010430000000400100043d00000064021000390000061d03000041000000000032043500000044021000390000061e03000041000000000032043500000024021000390000002a03000039000000000032043500000602020000410000000000210435000000040210003900000020030000390000000000320435000005d302000041000005d30310009c0000000001028019000000400110021000000606011001c700001748000104300002000000000002000200000001001d000005f5010000410000000000100435000000200000043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f00000001022001900000149e0000613d000000000101043b0000000002000411000100000002001d000005d6022001970000000000200435000000200010043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f00000001022001900000149e0000613d000000000101043b000000000101041a000000ff01100190000014a00000613d0000000209000029000000000190004c0000000104000029000014b50000613d0000000001000414000000040240008c000014470000c13d000000010200003900000001010000310000145b0000013d000005d302000041000000400300043d000005d30530009c0000000003028019000005d30510009c0000000001028019000000c0011002100000004002300210000000000112019f000005fc011001c70000800902000039000000000309001900000000050000191746173c0000040f0000000209000029000000010220018f00030000000103550000006001100270000105d30010019d000005d301100197000000000310004c000014880000613d0000003f03100039000000200400008a000000000443016f000000400300043d0000000004430019000000000534004b00000000050000190000000105004039000005d40640009c000014d80000213d0000000105500190000014d80000c13d000000400040043f0000000001130436000000030300036700000001050000310000001f0450018f0000000505500272000014790000613d000000000600001900000005076002100000000008710019000000000773034f000000000707043b00000000007804350000000106600039000000000756004b000014710000413d000000000640004c000014880000613d0000000505500210000000000353034f00000000015100190000000304400210000000000501043300000000054501cf000000000545022f000000000303043b0000010004400089000000000343022f00000000034301cf000000000353019f0000000000310435000000400100043d000000000220004c000014c70000613d0000000000910435000005d3020000410000000003000414000005d30430009c0000000003028019000005d30410009c00000000010280190000004001100210000000c002300210000000000112019f000005ff011001c70000800d020000390000000203000039000006280400004100000000050000191746173c0000040f00000001012001900000149e0000613d000000000001042d00000000010000190000174800010430000000400100043d00000064021000390000060403000041000000000032043500000044021000390000060503000041000000000032043500000024021000390000002803000039000000000032043500000602020000410000000000210435000000040210003900000020030000390000000000320435000005d302000041000005d30310009c0000000001028019000000400110021000000606011001c70000174800010430000000400100043d00000044021000390000062903000041000000000032043500000024021000390000001e03000039000000000032043500000602020000410000000000210435000000040210003900000020030000390000000000320435000005d302000041000005d30310009c0000000001028019000000400110021000000603011001c7000017480001043000000044021000390000062a03000041000000000032043500000024021000390000001003000039000000000032043500000602020000410000000000210435000000040210003900000020030000390000000000320435000005d302000041000005d30310009c0000000001028019000000400110021000000603011001c70000174800010430000005d80100004100000000001004350000004101000039000000040010043f000005d90100004100001748000104300004000000000002000300000002001d000400000001001d0000000000100435000000200000043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000015680000613d000000000101043b0000000101100039000000000101041a000100000001001d0000000000100435000000200000043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000015680000613d000000000101043b0000000002000411000200000002001d000005d6022001970000000000200435000000200010043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000015680000613d000000000101043b000000000101041a000000ff011001900000156a0000613d00000004010000290000000000100435000000200000043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000015680000613d000000000101043b0000000302000029000005d602200197000100000002001d0000000000200435000000200010043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000015680000613d000000000101043b000000000101041a000000ff01100190000015670000c13d00000004010000290000000000100435000000200000043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000015680000613d000000000101043b00000001020000290000000000200435000000200010043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000015680000613d000000000101043b000000000201041a000001000300008a000000000232016f00000001022001bf000000000021041b000000400100043d000005d3020000410000000003000414000005d30430009c0000000003028019000005d30410009c00000000010280190000004001100210000000c002300210000000000112019f000005fc011001c70000800d020000390000000403000039000005fd040000410000000405000029000000030600002900000002070000291746173c0000040f0000000101200190000015680000613d000000000001042d00000000010000190000174800010430000000400100043d00000000070100190000060f0110009c000015740000413d000005d80100004100000000001004350000004101000039000000040010043f000005d901000041000017480001043000000000020700190000006001200039000000400010043f0000002a01000039000000000112043600000000020000310000000202200367000000000300001900000005043002100000000005410019000000000442034f000000000404043b00000000004504350000000103300039000000020430008c0000157c0000413d0000000002070433000000000220004c0000158e0000613d0000000002010433000006100220019700000611022001c700000000002104350000000002070433000000020220008c000015940000813d000005d80100004100000000001004350000003201000039000000040010043f000005d901000041000017480001043000000021027000390000000003020433000006100330019700000612033001c700000000003204350000002902000039000000020500002900000000030500190000000004070433000000000424004b0000158e0000a13d0000000f0430018f0000000304400210000000f80440015f0000061305000041000000000445022f000000000512001900000000060504330000061006600197000000f804400210000000000446019f00000000004504350000000405300270000000010220008a000000010420008c0000159b0000213d000000100130008c00000000010000190000000101004039000300000007001d174617280000040f0000000101000029174610170000040f000000400400043d000400000004001d000000200240003900000614030000410000000000320435000200000001001d00000037024000390000000301000029174604a60000040f0000061502000041000000000021043500000011021000390000000201000029174604a60000040f00000004030000290000000002310049000000200120008a00000000001304350000000001030019174604cf0000040f0000060201000041000000400200043d000300000002001d000000000012043500000004012000390000000402000029174604b70000040f00000003040000290000000001410049000005d302000041000005d30310009c0000000001028019000005d30340009c000000000204401900000040022002100000006001100210000000000121019f00001748000104300004000000000002000300000002001d000400000001001d0000000000100435000000200000043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000016640000613d000000000101043b0000000101100039000000000101041a000100000001001d0000000000100435000000200000043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000016640000613d000000000101043b0000000002000411000200000002001d000005d6022001970000000000200435000000200010043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000016640000613d000000000101043b000000000101041a000000ff01100190000016660000613d00000004010000290000000000100435000000200000043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000016640000613d000000000101043b0000000302000029000005d602200197000100000002001d0000000000200435000000200010043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000016640000613d000000000101043b000000000101041a000000ff01100190000016630000613d00000004010000290000000000100435000000200000043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000016640000613d000000000101043b00000001020000290000000000200435000000200010043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000016640000613d000000000101043b000000000201041a000001000300008a000000000232016f000000000021041b000000400100043d000005d3020000410000000003000414000005d30430009c0000000003028019000005d30410009c00000000010280190000004001100210000000c002300210000000000112019f000005fc011001c70000800d02000039000000040300003900000616040000410000000405000029000000030600002900000002070000291746173c0000040f0000000101200190000016640000613d000000000001042d00000000010000190000174800010430000000400100043d00000000070100190000060f0110009c000016700000413d000005d80100004100000000001004350000004101000039000000040010043f000005d901000041000017480001043000000000020700190000006001200039000000400010043f0000002a01000039000000000112043600000000020000310000000202200367000000000300001900000005043002100000000005410019000000000442034f000000000404043b00000000004504350000000103300039000000020430008c000016780000413d0000000002070433000000000220004c0000168a0000613d0000000002010433000006100220019700000611022001c700000000002104350000000002070433000000020220008c000016900000813d000005d80100004100000000001004350000003201000039000000040010043f000005d901000041000017480001043000000021027000390000000003020433000006100330019700000612033001c700000000003204350000002902000039000000020500002900000000030500190000000004070433000000000424004b0000168a0000a13d0000000f0430018f0000000304400210000000f80440015f0000061305000041000000000445022f000000000512001900000000060504330000061006600197000000f804400210000000000446019f00000000004504350000000405300270000000010220008a000000010420008c000016970000213d000000100130008c00000000010000190000000101004039000300000007001d174617280000040f0000000101000029174610170000040f000000400400043d000400000004001d000000200240003900000614030000410000000000320435000200000001001d00000037024000390000000301000029174604a60000040f0000061502000041000000000021043500000011021000390000000201000029174604a60000040f00000004030000290000000002310049000000200120008a00000000001304350000000001030019174604cf0000040f0000060201000041000000400200043d000300000002001d000000000012043500000004012000390000000402000029174604b70000040f00000003040000290000000001410049000005d302000041000005d30310009c0000000001028019000005d30340009c000000000204401900000040022002100000006001100210000000000121019f000017480001043000030000000000020000000202000039000000000102041a000000010310019000000001041002700000007f0540018f000000000604001900000000060560190000001f0460008c00000000040000190000000104002039000000010440018f000000000443004b0000171a0000c13d000000400500043d0000000004650436000000000330004c000016ee0000c13d000001000200008a000000000121016f000000000014043500000040020000390000170f0000013d000100000004001d000200000006001d000300000005001d0000000000200435000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005ff011001c70000801002000039174617410000040f0000000102200190000017260000613d00000020020000390000000206000029000000000360004c00000003050000290000170f0000613d000000000101043b0000000003000019000000010700002900000000020300190000000003720019000000000401041a000000000043043500000001011000390000002003200039000000000463004b000017040000413d0000005f01200039000000200200008a000000000221016f0000000001520019000000000221004b00000000020000190000000102004039000005d40310009c000017200000213d0000000102200190000017200000c13d000000400010043f0000000001050019000000000001042d000005d80100004100000000001004350000002201000039000000040010043f000005d9010000410000174800010430000005d80100004100000000001004350000004101000039000000040010043f000005d901000041000017480001043000000000010000190000174800010430000000000110004c0000172b0000613d000000000001042d000000400100043d0000004402100039000006260300004100000000003204350000060202000041000000000021043500000024021000390000002003000039000000000032043500000004021000390000000000320435000005d302000041000005d30310009c0000000001028019000000400110021000000603011001c700001748000104300000173f002104210000000102000039000000000001042d0000000002000019000000000001042d00001744002104230000000102000039000000000001042d0000000002000019000000000001042d0000174600000432000017470001042e000017480001043000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff000000000000000000000000000000000000000000000000ffffffffffffffff8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffffffffffff00000002000000000000000000000000000001000000010000000000000000004e487b71000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024000000000000000000000000000000000000000000000000000000000000000000000000000000008980f11e00000000000000000000000000000000000000000000000000000000d8baf7ce00000000000000000000000000000000000000000000000000000000ef99893900000000000000000000000000000000000000000000000000000000ef99893a00000000000000000000000000000000000000000000000000000000f2fde38b00000000000000000000000000000000000000000000000000000000f874225400000000000000000000000000000000000000000000000000000000d8baf7cf00000000000000000000000000000000000000000000000000000000eab90da60000000000000000000000000000000000000000000000000000000091d148530000000000000000000000000000000000000000000000000000000091d1485400000000000000000000000000000000000000000000000000000000a217fddf00000000000000000000000000000000000000000000000000000000d547741f000000000000000000000000000000000000000000000000000000008980f11f000000000000000000000000000000000000000000000000000000008bb9c5bf000000000000000000000000000000000000000000000000000000004ebb7915000000000000000000000000000000000000000000000000000000006b453c1e000000000000000000000000000000000000000000000000000000006b453c1f000000000000000000000000000000000000000000000000000000007ae267730000000000000000000000000000000000000000000000000000000084a33e63000000000000000000000000000000000000000000000000000000004ebb79160000000000000000000000000000000000000000000000000000000069cff80d00000000000000000000000000000000000000000000000000000000248a9ca200000000000000000000000000000000000000000000000000000000248a9ca3000000000000000000000000000000000000000000000000000000002f2ff15d0000000000000000000000000000000000000000000000000000000036568abe0000000000000000000000000000000000000000000000000000000001ffc9a70000000000000000000000000000000000000000000000000000000006fdde03339759585899103d2ace64958e37e18ccb0504652c81d4a1b8aa80fe2126ab950000000000000000000000000000000000000020000000000000000000000000ffffffff0000000000000000000000000000000000000000000000000000000001ffc9a7000000000000000000000000000000000000000000000000000000007965db0b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000800000000000000000020000000000000000000000000000000000004000000000000000000000000002000000000000000000000000000000000000000000000000000000000000002f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d00000000000000000000000000000000000000000000000100000000000000000200000000000000000000000000000000000020000000000000000000000000f43f23b7a28e6f8ce6843a21bd7b48bce778aa913b8c8cf459edf7d770e8d38a496e76616c6964206761732d657374696d61746500000000000000000000000008c379a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000064000000000000000000000000696e7461696e65720000000000000000000000000000000000000000000000004d61696e7461696e61626c653a2043616c6c6572206973206e6f742061206d610000000000000000000000000000000000000084000000000000000000000000496e76616c69642061646170746572206e616d65000000000000000000000000310ab089e4439a4c15d089f94afb7896ff553aecb10793d0ab882de59d99a32e02000002000000000000000000000000000000440000000000000000000000001806aa1896bbf26568e884a7374b41e002500962caba6a15023a8d90e8508b830200000200000000000000000000000000000024000000000000000000000000531aa03e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044000000000000000000000000ff9c8ac600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffa000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff300000000000000000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000000000000000003031323334353637383961626364656600000000000000000000000000000000416363657373436f6e74726f6c3a206163636f756e7420000000000000000000206973206d697373696e6720726f6c6520000000000000000000000000000000f6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b000000000000000000000001000000000000000000000000000000000000000020726f6c657320666f722073656c660000000000000000000000000000000000416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636570a0823100000000000000000000000000000000000000000000000000000000a9059cbb00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffff7f6f742073756363656564000000000000000000000000000000000000000000005361666545524332303a204552433230206f7065726174696f6e20646964206ef9609f08000000000000000000000000000000000000000000000000000000007132bb7f00000000000000000000000000000000000000000000000000000000e2bdbc6b7225eb0a972ac943c485a6cc05f7c6811838bce8903f23200fb744fa496e73756666696369656e7420616d6f756e742d6f75740000000000000000005361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564496e737566666963656e7420616d6f756e74206f757400000000000000000000000000000000000000000000000000000000000000000000ffffffffffffff80537472696e67733a20686578206c656e67746820696e73756666696369656e74095ea7b3000000000000000000000000000000000000000000000000000000008c1256b8896378cd5044f80c202f9772b9d77dc85c8a6eb51967210b09bfaa2859616b416461707465723a204e6f7468696e6720746f207265636f76657200005472616e73666572206661696c65642e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007c49741417c1469ee87423abf0802f2997faaf60fef73097f0f4ea346b39da7f", + "devdoc": { + "kind": "dev", + "methods": { + "getRoleAdmin(bytes32)": { + "details": "Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}." + }, + "grantRole(bytes32,address)": { + "details": "Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event." + }, + "hasRole(bytes32,address)": { + "details": "Returns `true` if `account` has been granted `role`." + }, + "renounceRole(bytes32,address)": { + "details": "Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event." + }, + "revokeRole(bytes32,address)": { + "details": "Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event." + }, + "supportsInterface(bytes4)": { + "details": "See {IERC165-supportsInterface}." + } + }, + "version": 1 + }, + "userdoc": { + "kind": "user", + "methods": {}, + "version": 1 + }, + "storageLayout": { + "storage": [ + { + "astId": 24, + "contract": "src/contracts/adapters/SyncSwapAdapter.sol:SyncSwapAdapter", + "label": "_roles", + "offset": 0, + "slot": "0", + "type": "t_mapping(t_bytes32,t_struct(RoleData)19_storage)" + }, + { + "astId": 718, + "contract": "src/contracts/adapters/SyncSwapAdapter.sol:SyncSwapAdapter", + "label": "swapGasEstimate", + "offset": 0, + "slot": "1", + "type": "t_uint256" + }, + { + "astId": 720, + "contract": "src/contracts/adapters/SyncSwapAdapter.sol:SyncSwapAdapter", + "label": "name", + "offset": 0, + "slot": "2", + "type": "t_string_storage" + } + ], + "types": { + "t_address": { + "encoding": "inplace", + "label": "address", + "numberOfBytes": "20" + }, + "t_bool": { + "encoding": "inplace", + "label": "bool", + "numberOfBytes": "1" + }, + "t_bytes32": { + "encoding": "inplace", + "label": "bytes32", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_bool)": { + "encoding": "mapping", + "key": "t_address", + "label": "mapping(address => bool)", + "numberOfBytes": "32", + "value": "t_bool" + }, + "t_mapping(t_bytes32,t_struct(RoleData)19_storage)": { + "encoding": "mapping", + "key": "t_bytes32", + "label": "mapping(bytes32 => struct AccessControl.RoleData)", + "numberOfBytes": "32", + "value": "t_struct(RoleData)19_storage" + }, + "t_string_storage": { + "encoding": "bytes", + "label": "string", + "numberOfBytes": "32" + }, + "t_struct(RoleData)19_storage": { + "encoding": "inplace", + "label": "struct AccessControl.RoleData", + "members": [ + { + "astId": 16, + "contract": "src/contracts/adapters/SyncSwapAdapter.sol:SyncSwapAdapter", + "label": "members", + "offset": 0, + "slot": "0", + "type": "t_mapping(t_address,t_bool)" + }, + { + "astId": 18, + "contract": "src/contracts/adapters/SyncSwapAdapter.sol:SyncSwapAdapter", + "label": "adminRole", + "offset": 0, + "slot": "1", + "type": "t_bytes32" + } + ], + "numberOfBytes": "64" + }, + "t_uint256": { + "encoding": "inplace", + "label": "uint256", + "numberOfBytes": "32" + } + } + }, + "factoryDeps": [ + "0x0004000000000002000100000000000200000000030100190000006003300270000005d30430019700030000004103550002000000010355000005d30030019d000100000000001f00000001012001900000002b0000c13d0000008001000039000000400010043f0000000001000031000000040210008c000000b90000413d0000000201000367000000000101043b000000e001100270000005da0210009c000000c30000213d000005e80210009c000000d90000213d000005ef0210009c0000011e0000a13d000005f00210009c000001910000613d000005f10210009c000001ae0000613d000005f20110009c0000025e0000c13d0000000001000416000000000110004c0000025e0000c13d00000000010000311746043d0000040f174609de0000040f000005d301000041000000400200043d000005d30320009c00000000010240190000004001100210000017470001042e000000e001000039000000400010043f0000000001000416000000000110004c0000025e0000c13d00000000030000310000001f02300039000000200100008a000000000412016f000000400500043d0000000002540019000000000442004b00000000040000190000000104004039000005d40620009c000000bd0000213d0000000104400190000000bd0000c13d000000400020043f0000001f0230018f000000020400036700000005063002720000004b0000613d000000000700001900000005087002100000000009850019000000000884034f000000000808043b00000000008904350000000107700039000000000867004b000000430000413d000000000720004c0000005a0000613d0000000506600210000000000464034f00000000066500190000000302200210000000000706043300000000072701cf000000000727022f000000000404043b0000010002200089000000000424022f00000000022401cf000000000272019f0000000000260435000005d502000041000000a00430008c00000000040000190000000004024019000005d506300197000000000760004c000000000200a019000005d50660009c000000000204c019000000000220004c0000025e0000c13d0000000024050434000005d40640009c0000025e0000213d000000000635001900000000035400190000001f04300039000005d507000041000000000864004b00000000080000190000000008078019000005d504400197000005d509600197000000000a94004b0000000007008019000000000494013f000005d50440009c00000000040800190000000004076019000000000440004c0000025e0000c13d0000000004030433000005d40740009c000000bd0000213d0000003f07400039000000000717016f000000400100043d0000000007710019000000000817004b00000000080000190000000108004039000005d40970009c000000bd0000213d0000000108800190000000bd0000c13d000000400070043f000000000041043500000020074000390000000008370019000000000668004b0000025e0000213d000000000640004c0000009b0000613d000000000600001900000020066000390000000008160019000000000936001900000000090904330000000000980435000000000846004b000000900000413d000000000346004b0000009b0000a13d000000000317001900000000000304350000000002020433000005d60320009c0000025e0000213d00000040035000390000000003030433000005d60430009c0000025e0000213d00000060045000390000000004040433000005d60640009c0000025e0000213d00000080055000390000000005050433174602600000040f000000800100043d000000a00200043d000000c00300043d0000014000000443000001600030044300000020030000390000018000300443000001a0002004430000004002000039000001c000200443000001e000100443000001000030044300000003010000390000012000100443000005d701000041000017470001042e000000000110004c0000025e0000c13d0000000001000019000017470001042e000005d80100004100000000001004350000004101000039000000040010043f000005d9010000410000174800010430000005db0210009c000000fc0000213d000005e20210009c000001430000a13d000005e30210009c000001ba0000613d000005e40210009c000001cf0000613d000005e50110009c0000025e0000c13d0000000001000416000000000110004c0000025e0000c13d00000000010000311746043d0000040f174615db0000040f000005d301000041000000400200043d000005d30320009c00000000010240190000004001100210000017470001042e000005e90210009c000001620000a13d000005ea0210009c000001e80000613d000005eb0210009c000001f40000613d000005ec0110009c0000025e0000c13d0000000001000416000000000110004c0000025e0000c13d000000040100008a0000000001100031000005d502000041000000200310008c00000000030000190000000003024019000005d501100197000000000410004c000000000200a019000005d50110009c00000000010300190000000001026019000000000110004c0000025e0000c13d00000004010000390000000201100367000000000101043b174611da0000040f000005d301000041000000400200043d000005d30320009c00000000010240190000004001100210000017470001042e000005dc0210009c000001810000a13d000005dd0210009c000002000000613d000005de0210009c0000020e0000613d000005df0110009c0000025e0000c13d0000000001000416000000000110004c0000025e0000c13d000000040100008a0000000001100031000005d502000041000000000310004c00000000030000190000000003024019000005d501100197000000000410004c000000000200a019000005d50110009c00000000010300190000000001026019000000000110004c0000025e0000c13d000000400100043d000005f5020000410000000000210435000005d302000041000005d30310009c00000000010280190000004001100210000005f6011001c7000017470001042e000005f30210009c0000021a0000613d000005f40110009c0000025e0000c13d0000000001000416000000000110004c0000025e0000c13d000000040100008a0000000001100031000005d502000041000000000310004c00000000030000190000000003024019000005d501100197000000000410004c000000000200a019000005d50110009c00000000010300190000000001026019000000000110004c0000025e0000c13d174616d70000040f0000000002010019000000400100043d000100000001001d174604b70000040f00000001040000290000000001410049000005d302000041000005d30310009c0000000001028019000005d30340009c000000000204401900000040022002100000006001100210000000000121019f000017470001042e000005e60210009c0000022b0000613d000005e70110009c0000025e0000c13d0000000001000416000000000110004c0000025e0000c13d000000040100008a0000000001100031000005d502000041000000200310008c00000000030000190000000003024019000005d501100197000000000410004c000000000200a019000005d50110009c00000000010300190000000001026019000000000110004c0000025e0000c13d00000004010000390000000201100367000000000101043b1746096c0000040f000005d301000041000000400200043d000005d30320009c00000000010240190000004001100210000017470001042e000005ed0210009c000002370000613d000005ee0110009c0000025e0000c13d0000000001000416000000000110004c0000025e0000c13d000000040100008a0000000001100031000005d502000041000000000310004c00000000030000190000000003024019000005d501100197000000000410004c000000000200a019000005d50110009c00000000010300190000000001026019000000000110004c0000025e0000c13d0000000101000039000000000101041a000000400200043d0000000000120435000005d301000041000005d30320009c00000000010240190000004001100210000005f6011001c7000017470001042e000005e00210009c000002520000613d000005e10110009c0000025e0000c13d0000000001000416000000000110004c0000025e0000c13d0000000001000031174604850000040f17460a500000040f000005d301000041000000400200043d000005d30320009c00000000010240190000004001100210000017470001042e0000000001000416000000000110004c0000025e0000c13d000000040100008a0000000001100031000005d502000041000000200310008c00000000030000190000000003024019000005d501100197000000000410004c000000000200a019000005d50110009c00000000010300190000000001026019000000000110004c0000025e0000c13d00000004010000390000000201100367000000000101043b1746085e0000040f000000400200043d0000000000120435000005d301000041000005d30320009c00000000010240190000004001100210000005f6011001c7000017470001042e0000000001000416000000000110004c0000025e0000c13d00000000010000311746043d0000040f174614de0000040f000005d301000041000000400200043d000005d30320009c00000000010240190000004001100210000017470001042e0000000001000416000000000110004c0000025e0000c13d00000000010000311746043d0000040f000100000002001d174611ca0000040f0000000102000029174611b90000040f000000000101041a000000ff011001900000000001000019000000010100c039000000400200043d0000000000120435000005d301000041000005d30320009c00000000010240190000004001100210000005f6011001c7000017470001042e0000000001000416000000000110004c0000025e0000c13d000000040100008a0000000001100031000005d502000041000000000310004c00000000030000190000000003024019000005d501100197000000000410004c000000000200a019000005d50110009c00000000010300190000000001026019000000000110004c0000025e0000c13d000000400100043d0000000000010435000005d302000041000005d30310009c00000000010280190000004001100210000005f6011001c7000017470001042e0000000001000416000000000110004c0000025e0000c13d0000000001000031174603f80000040f174607610000040f000005d301000041000000400200043d000005d30320009c00000000010240190000004001100210000017470001042e0000000001000416000000000110004c0000025e0000c13d00000000010000311746040d0000040f1746123e0000040f000005d301000041000000400200043d000005d30320009c00000000010240190000004001100210000017470001042e0000000001000416000000000110004c0000025e0000c13d00000000010000311746046a0000040f174604e20000040f000000400200043d0000000000120435000005d301000041000005d30320009c00000000010240190000004001100210000005f6011001c7000017470001042e0000000001000416000000000110004c0000025e0000c13d0000000001000031174603f80000040f1746106d0000040f000005d301000041000000400200043d000005d30320009c00000000010240190000004001100210000017470001042e0000000001000416000000000110004c0000025e0000c13d0000000001000031174604540000040f000005f701100197000005f80210009c00000000020000190000000102006039000005f90110009c00000000010000190000000101006039000000000121019f000000010110018f000000800010043f000005fa01000041000017470001042e0000000001000416000000000110004c0000025e0000c13d0000000001000031174604260000040f174613170000040f000005d301000041000000400200043d000005d30320009c00000000010240190000004001100210000017470001042e0000000001000416000000000110004c0000025e0000c13d000000040100008a0000000001100031000005d502000041000000200310008c00000000030000190000000003024019000005d501100197000000000410004c000000000200a019000005d50110009c00000000010300190000000001026019000000000110004c0000025e0000c13d00000004010000390000000201100367000000000101043b1746141a0000040f000005d301000041000000400200043d000005d30320009c00000000010240190000004001100210000017470001042e0000000001000416000000000110004c0000025e0000c13d0000000001000031174603f80000040f174608700000040f000005d301000041000000400200043d000005d30320009c00000000010240190000004001100210000017470001042e00000000010000190000174800010430000a000000000002000800000005001d000700000004001d000600000003001d000500000002001d000900000001001d0000000000000435000000200000043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000003b10000613d000000000101043b0000000002000411000400000002001d000005d602200197000a00000002001d0000000000200435000000200010043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000003b10000613d000000000101043b000000000101041a000000ff01100190000002bb0000c13d0000000000000435000000200000043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000003b10000613d000000000101043b0000000a020000290000000000200435000000200010043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000003b10000613d000000000101043b000000000201041a000001000300008a000000000232016f00000001022001bf000000000021041b000000400100043d000005d3020000410000000003000414000005d30430009c0000000003028019000005d30410009c00000000010280190000004001100210000000c002300210000000000112019f000005fc011001c70000800d020000390000000403000039000005fd040000410000000005000019000000040600002900000000070600191746173c0000040f0000000101200190000003b10000613d000005f5010000410000000000100435000000200000043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000003b10000613d000000000101043b0000000a020000290000000000200435000000200010043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000003b10000613d000000000101043b000000000101041a000000ff011001900000030f0000c13d000005f5010000410000000000100435000000200000043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000003b10000613d000000000101043b0000000a020000290000000000200435000000200010043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000003b10000613d000000000101043b000000000201041a000001000300008a000000000232016f00000001022001bf000000000021041b000000400100043d000005d3020000410000000003000414000005d30430009c0000000003028019000005d30410009c00000000010280190000004001100210000000c002300210000000000112019f000005fc011001c70000800d020000390000000403000039000005fd04000041000005f505000041000000040600002900000000070600191746173c0000040f0000000101200190000003b10000613d00000009060000290000000058060434000000000180004c000003b30000613d000005fe0180009c000003c50000813d0000000207000039000000000107041a000000010210019000000001011002700000007f0310018f000000000401001900000000040360190000001f0140008c00000000010000190000000101002039000000010110018f000000000112004b000003cb0000c13d000000000184019f000000200110008c00000000010000190000033b0000413d000100000004001d000200000005001d000300000008001d000400000007001d0000000000700435000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005ff011001c70000801002000039174617410000040f0000000102200190000003b10000613d000000000101043b00000009060000290000000407000029000000030800002900000002050000290000000104000029000000200240008c0000034c0000413d0000001f028000390000000502200270000000200380008c000000000302001900000000030040190000001f02400039000000050220027000000000022100190000000003310019000000000423004b0000034c0000813d000000000003041b0000000103300039000000000423004b000003480000413d0000001f0280008c0000036a0000a13d000000200200008a000000000328017000000020020000390000035c0000613d0000002002000039000000000400001900000000056200190000000005050433000000000051041b000000200220003900000001011000390000002004400039000000000534004b000003540000413d000000000383004b000003670000813d0000000303800210000000f80330018f000000010400008a000000000334022f000000000343013f00000000026200190000000002020433000000000232016f000000000021041b00000001010000390000000102800210000003710000013d0000000301800210000000010200008a000000000112022f000000000121013f0000000002050433000000000212016f0000000101800210000000000112019f000000000017041b000005f5010000410000000000100435000000200000043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000003b10000613d000000000101043b0000000a020000290000000000200435000000200010043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000003b10000613d000000000101043b000000000101041a000000ff01100190000003d10000613d0000000802000029000000000120004c000003e60000613d0000000101000039000000000021041b000000400100043d0000000000210435000005d3020000410000000003000414000005d30430009c0000000003028019000005d30410009c00000000010280190000004001100210000000c002300210000000000112019f000005ff011001c70000800d020000390000000203000039000006000400004100000000050004101746173c0000040f0000000101200190000003b10000613d0000000501000029000000800010043f0000000601000029000000a00010043f0000000701000029000000c00010043f000000000001042d00000000010000190000174800010430000000400100043d00000044021000390000060703000041000000000032043500000024021000390000001403000039000000000032043500000602020000410000000000210435000000040210003900000020030000390000000000320435000005d302000041000005d30310009c0000000001028019000000400110021000000603011001c70000174800010430000005d80100004100000000001004350000004101000039000000040010043f000005d9010000410000174800010430000005d80100004100000000001004350000002201000039000000040010043f000005d9010000410000174800010430000000400100043d00000064021000390000060403000041000000000032043500000044021000390000060503000041000000000032043500000024021000390000002803000039000000000032043500000602020000410000000000210435000000040210003900000020030000390000000000320435000005d302000041000005d30310009c0000000001028019000000400110021000000606011001c70000174800010430000000400100043d00000044021000390000060103000041000000000032043500000024021000390000001403000039000000000032043500000602020000410000000000210435000000040210003900000020030000390000000000320435000005d302000041000005d30310009c0000000001028019000000400110021000000603011001c70000174800010430000000040110008a000005d5020000410000001f0310008c00000000030000190000000003022019000005d501100197000000000410004c0000000002008019000005d50110009c00000000010300190000000001026019000000000110004c0000040b0000613d00000004010000390000000201100367000000000101043b000005d60210009c0000040b0000213d000000000001042d00000000010000190000174800010430000000040110008a000005d5020000410000003f0310008c00000000030000190000000003022019000005d501100197000000000410004c0000000002008019000005d50110009c00000000010300190000000001026019000000000110004c000004240000613d00000002020003670000000401200370000000000101043b000005d60310009c000004240000213d0000002402200370000000000202043b000005d60320009c000004240000213d000000000001042d00000000010000190000174800010430000000040110008a000005d5020000410000003f0310008c00000000030000190000000003022019000005d501100197000000000410004c0000000002008019000005d50110009c00000000010300190000000001026019000000000110004c0000043b0000613d00000002020003670000000401200370000000000101043b000005d60310009c0000043b0000213d0000002402200370000000000202043b000000000001042d00000000010000190000174800010430000000040110008a000005d5020000410000003f0310008c00000000030000190000000003022019000005d501100197000000000410004c0000000002008019000005d50110009c00000000010300190000000001026019000000000110004c000004520000613d00000002010003670000002402100370000000000202043b000005d60320009c000004520000213d0000000401100370000000000101043b000000000001042d00000000010000190000174800010430000000040110008a000005d5020000410000001f0310008c00000000030000190000000003022019000005d501100197000000000410004c0000000002008019000005d50110009c00000000010300190000000001026019000000000110004c000004680000613d00000004010000390000000201100367000000000101043b000005f702100197000000000221004b000004680000c13d000000000001042d00000000010000190000174800010430000000040110008a000005d5020000410000005f0310008c00000000030000190000000003022019000005d501100197000000000410004c0000000002008019000005d50110009c00000000010300190000000001026019000000000110004c000004830000613d00000002030003670000000401300370000000000101043b0000002402300370000000000202043b000005d60420009c000004830000213d0000004403300370000000000303043b000005d60430009c000004830000213d000000000001042d00000000010000190000174800010430000000040110008a000005d5020000410000009f0310008c00000000030000190000000003022019000005d501100197000000000410004c0000000002008019000005d50110009c00000000010300190000000001026019000000000110004c000004a40000613d00000002050003670000002401500370000000000201043b0000000401500370000000000101043b0000004403500370000000000303043b000005d60430009c000004a40000213d0000006404500370000000000404043b000005d60640009c000004a40000213d0000008405500370000000000505043b000005d60650009c000004a40000213d000000000001042d0000000001000019000017480001043000000000030100190000000004030433000000000140004c0000000001240019000004b60000613d000000000500001900000000062500190000002005500039000000000735001900000000070704330000000000760435000000000645004b000004ac0000413d000000000245004b000004b60000a13d0000000000010435000000000001042d00000020030000390000000004310436000000000302043300000000003404350000004001100039000000000430004c000004ca0000613d000000000400001900000000051400190000002004400039000000000624001900000000060604330000000000650435000000000534004b000004bf0000413d000000000234004b000004ca0000a13d000000000213001900000000000204350000001f02300039000000200300008a000000000232016f0000000001120019000000000001042d0000001f02200039000000200300008a000000000232016f0000000001120019000000000221004b00000000020000190000000102004039000005d40310009c000004dc0000213d0000000102200190000004dc0000c13d000000400010043f000000000001042d000005d80100004100000000001004350000004101000039000000040010043f000005d90100004100001748000104300007000000000002000000000423013f000005d6044001980000000005000019000006db0000613d000000000410004c000006db0000613d000600000003001d000700000002001d000400000001001d000006080100004100000000001004390000000001000412000200000001001d000000040010044300000040010000390000002400100443000005d3010000410000000002000414000005d30320009c0000000001024019000000c00110021000000609011001c70000800502000039174617410000040f0000000102200190000006dd0000613d000000000101043b0000060a020000410000000000200439000005d601100197000500000001001d0000000400100443000005d3010000410000000002000414000005d30320009c0000000001024019000000c0011002100000060b011001c70000800202000039174617410000040f0000000102200190000006dd0000613d000000000101043b000000000110004c000006dd0000613d000000400900043d0000060c0100004100000000001904350000000601000029000005d60310019700000024029000390000000001000414000100000003001d00000000003204350000000702000029000005d6032001970000000402900039000700000003001d00000000003204350000000502000029000000040320008c000005230000c13d0000000103000031000005550000013d000005d304000041000005d30310009c0000000001048019000005d30390009c000000000304001900000000030940190000004003300210000000c001100210000000000131019f0000060d011001c7000600000009001d174617410000040f000000060900002900000000030100190000006003300270000005d303300197000000200430008c000000200500003900000000050340190000001f0450018f0000000505500272000005420000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b0000053a0000413d000000000640004c000005510000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f00030000000103550000000102200190000006e50000613d0000001f01300039000000200200008a000600000002001d000000000221016f0000000001920019000000000221004b00000000020000190000000102004039000005d40310009c000006df0000213d0000000102200190000006df0000c13d000000400010043f000005d5010000410000000102000031000000200320008c00000000030000190000000003014019000005d502200197000000000420004c000000000100a019000005d50220009c000000000103c019000000000110004c000006dd0000c13d0000000004090433000005d60140009c000006dd0000213d000000000140004c0000000001000410000300000001001d0000000001000019000005e50000613d0000060a0100004100000000001004390000000400400443000005d3010000410000000002000414000005d30320009c0000000001024019000000c0011002100000060b011001c70000800202000039000500000004001d174617410000040f00000005040000290000000102200190000006dd0000613d000000000101043b000000000110004c000006dd0000613d000000400900043d0000060e0100004100000000001904350000000301000029000005d602100197000000440390003900000000010004140000000000230435000000240290003900000004030000290000000000320435000000040290003900000007030000290000000000320435000000040240008c0000059a0000c13d0000000103000031000005cc0000013d000005d302000041000005d30310009c0000000001028019000005d30390009c00000000020940190000004002200210000000c001100210000000000121019f00000603011001c70000000002040019000500000009001d174617410000040f000000050900002900000000030100190000006003300270000005d303300197000000200430008c000000200500003900000000050340190000001f0450018f0000000505500272000005b90000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b000005b10000413d000000000640004c000005c80000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f00030000000103550000000102200190000007230000613d0000001f013000390000000602000029000000000221016f0000000001920019000000000221004b00000000020000190000000102004039000005d40310009c000006df0000213d0000000102200190000006df0000c13d000000400010043f000005d5010000410000000102000031000000200320008c00000000030000190000000003014019000005d502200197000000000420004c000000000100a019000005d50220009c000000000103c019000000000110004c000006dd0000c13d0000000001090433000500000001001d000006080100004100000000001004390000000201000029000000040010044300000020010000390000002400100443000005d3010000410000000002000414000005d30320009c0000000001024019000000c00110021000000609011001c70000800502000039174617410000040f0000000102200190000006dd0000613d000000000101043b0000060a020000410000000000200439000005d601100197000200000001001d0000000400100443000005d3010000410000000002000414000005d30320009c0000000001024019000000c0011002100000060b011001c70000800202000039174617410000040f0000000102200190000006dd0000613d000000000101043b000000000110004c000006dd0000613d000000400900043d0000060c01000041000000000019043500000024029000390000000001000414000000010300002900000000003204350000000402900039000000070300002900000000003204350000000202000029000000040320008c000006180000c13d00000001030000310000064a0000013d000005d304000041000005d30310009c0000000001048019000005d30390009c000000000304001900000000030940190000004003300210000000c001100210000000000131019f0000060d011001c7000200000009001d174617410000040f000000020900002900000000030100190000006003300270000005d303300197000000200430008c000000200500003900000000050340190000001f0450018f0000000505500272000006370000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b0000062f0000413d000000000640004c000006460000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f00030000000103550000000102200190000007040000613d0000001f013000390000000602000029000000000221016f0000000001920019000000000221004b00000000020000190000000102004039000005d40310009c000006df0000213d0000000102200190000006df0000c13d000000400010043f000005d5010000410000000102000031000000200320008c00000000030000190000000003014019000005d502200197000000000420004c000000000100a019000005d50220009c000000000103c019000000000110004c000006dd0000c13d0000000004090433000005d60140009c000006dd0000213d000000000140004c0000000505000029000006db0000613d0000060a0100004100000000001004390000000400400443000005d3010000410000000002000414000005d30320009c0000000001024019000000c0011002100000060b011001c70000800202000039000200000004001d174617410000040f00000002040000290000000102200190000006dd0000613d000000000101043b000000000110004c000006dd0000613d000000400900043d0000060e0100004100000000001904350000000301000029000005d602100197000000440390003900000000010004140000000000230435000000240290003900000004030000290000000000320435000000040290003900000007030000290000000000320435000000040240008c0000068c0000c13d0000000103000031000006be0000013d000005d302000041000005d30310009c0000000001028019000005d30390009c00000000020940190000004002200210000000c001100210000000000121019f00000603011001c70000000002040019000700000009001d174617410000040f000000070900002900000000030100190000006003300270000005d303300197000000200430008c000000200500003900000000050340190000001f0450018f0000000505500272000006ab0000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b000006a30000413d000000000640004c000006ba0000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f00030000000103550000000102200190000007420000613d0000001f013000390000000602000029000000000221016f0000000001920019000000000221004b00000000020000190000000102004039000005d40310009c000006df0000213d0000000102200190000006df0000c13d000000400010043f000005d5010000410000000102000031000000200320008c00000000030000190000000003014019000005d502200197000000000420004c000000000100a019000005d50220009c000000000103c019000000000110004c000006dd0000c13d00000000010904330000000505000029000000000251004b000006db0000a13d00000000050100190000000001050019000000000001042d00000000010000190000174800010430000005d80100004100000000001004350000004101000039000000040010043f000005d90100004100001748000104300000001f0430018f0000000502300272000006f00000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b000006e90000413d000000000340004c000006fe0000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f0000000000120435000005d3010000410000000102000031000005d30320009c0000000001024019000000600110021000001748000104300000001f0430018f00000005023002720000070f0000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b000007080000413d000000000340004c0000071d0000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f0000000000120435000005d3010000410000000102000031000005d30320009c0000000001024019000000600110021000001748000104300000001f0430018f00000005023002720000072e0000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b000007270000413d000000000340004c0000073c0000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f0000000000120435000005d3010000410000000102000031000005d30320009c0000000001024019000000600110021000001748000104300000001f0430018f00000005023002720000074d0000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b000007460000413d000000000340004c0000075b0000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f0000000000120435000005d3010000410000000102000031000005d30320009c0000000001024019000000600110021000001748000104300003000000000002000300000001001d000005f5010000410000000000100435000000200000043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000007eb0000613d000000000101043b0000000101100039000000000101041a000100000001001d0000000000100435000000200000043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000007eb0000613d000000000101043b0000000002000411000200000002001d000005d6022001970000000000200435000000200010043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000007eb0000613d000000000101043b000000000101041a000000ff01100190000007ed0000613d000005f5010000410000000000100435000000200000043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000007eb0000613d000000000101043b0000000302000029000005d602200197000100000002001d0000000000200435000000200010043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000007eb0000613d000000000101043b000000000101041a000000ff01100190000007ea0000c13d000005f5010000410000000000100435000000200000043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000007eb0000613d000000000101043b00000001020000290000000000200435000000200010043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000007eb0000613d000000000101043b000000000201041a000001000300008a000000000232016f00000001022001bf000000000021041b000000400100043d000005d3020000410000000003000414000005d30430009c0000000003028019000005d30410009c00000000010280190000004001100210000000c002300210000000000112019f000005fc011001c70000800d020000390000000403000039000005fd04000041000005f505000041000000030600002900000002070000291746173c0000040f0000000101200190000007eb0000613d000000000001042d00000000010000190000174800010430000000400100043d00000000070100190000060f0110009c000007f70000413d000005d80100004100000000001004350000004101000039000000040010043f000005d901000041000017480001043000000000020700190000006001200039000000400010043f0000002a01000039000000000112043600000000020000310000000202200367000000000300001900000005043002100000000005410019000000000442034f000000000404043b00000000004504350000000103300039000000020430008c000007ff0000413d0000000002070433000000000220004c000008110000613d0000000002010433000006100220019700000611022001c700000000002104350000000002070433000000020220008c000008170000813d000005d80100004100000000001004350000003201000039000000040010043f000005d901000041000017480001043000000021027000390000000003020433000006100330019700000612033001c700000000003204350000002902000039000000020500002900000000030500190000000004070433000000000424004b000008110000a13d0000000f0430018f0000000304400210000000f80440015f0000061305000041000000000445022f000000000512001900000000060504330000061006600197000000f804400210000000000446019f00000000004504350000000405300270000000010220008a000000010420008c0000081e0000213d000000100130008c00000000010000190000000101004039000200000007001d174617280000040f0000000101000029174610170000040f000000400400043d000300000004001d000000200240003900000614030000410000000000320435000100000001001d00000037024000390000000201000029174604a60000040f0000061502000041000000000021043500000011021000390000000101000029174604a60000040f00000003030000290000000002310049000000200120008a00000000001304350000000001030019174604cf0000040f0000060201000041000000400200043d000200000002001d000000000012043500000004012000390000000302000029174604b70000040f00000002040000290000000001410049000005d302000041000005d30310009c0000000001028019000005d30340009c000000000204401900000040022002100000006001100210000000000121019f00001748000104300000000000100435000000200000043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f00000001022001900000086e0000613d000000000101043b0000000101100039000000000101041a000000000001042d000000000100001900001748000104300003000000000002000300000001001d000005f5010000410000000000100435000000200000043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000008f90000613d000000000101043b0000000101100039000000000101041a000100000001001d0000000000100435000000200000043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000008f90000613d000000000101043b0000000002000411000200000002001d000005d6022001970000000000200435000000200010043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000008f90000613d000000000101043b000000000101041a000000ff01100190000008fb0000613d000005f5010000410000000000100435000000200000043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000008f90000613d000000000101043b0000000302000029000005d602200197000100000002001d0000000000200435000000200010043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000008f90000613d000000000101043b000000000101041a000000ff01100190000008f80000613d000005f5010000410000000000100435000000200000043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000008f90000613d000000000101043b00000001020000290000000000200435000000200010043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000008f90000613d000000000101043b000000000201041a000001000300008a000000000232016f000000000021041b000000400100043d000005d3020000410000000003000414000005d30430009c0000000003028019000005d30410009c00000000010280190000004001100210000000c002300210000000000112019f000005fc011001c70000800d0200003900000004030000390000061604000041000005f505000041000000030600002900000002070000291746173c0000040f0000000101200190000008f90000613d000000000001042d00000000010000190000174800010430000000400100043d00000000070100190000060f0110009c000009050000413d000005d80100004100000000001004350000004101000039000000040010043f000005d901000041000017480001043000000000020700190000006001200039000000400010043f0000002a01000039000000000112043600000000020000310000000202200367000000000300001900000005043002100000000005410019000000000442034f000000000404043b00000000004504350000000103300039000000020430008c0000090d0000413d0000000002070433000000000220004c0000091f0000613d0000000002010433000006100220019700000611022001c700000000002104350000000002070433000000020220008c000009250000813d000005d80100004100000000001004350000003201000039000000040010043f000005d901000041000017480001043000000021027000390000000003020433000006100330019700000612033001c700000000003204350000002902000039000000020500002900000000030500190000000004070433000000000424004b0000091f0000a13d0000000f0430018f0000000304400210000000f80440015f0000061305000041000000000445022f000000000512001900000000060504330000061006600197000000f804400210000000000446019f00000000004504350000000405300270000000010220008a000000010420008c0000092c0000213d000000100130008c00000000010000190000000101004039000200000007001d174617280000040f0000000101000029174610170000040f000000400400043d000300000004001d000000200240003900000614030000410000000000320435000100000001001d00000037024000390000000201000029174604a60000040f0000061502000041000000000021043500000011021000390000000101000029174604a60000040f00000003030000290000000002310049000000200120008a00000000001304350000000001030019174604cf0000040f0000060201000041000000400200043d000200000002001d000000000012043500000004012000390000000302000029174604b70000040f00000002040000290000000001410049000005d302000041000005d30310009c0000000001028019000005d30340009c000000000204401900000040022002100000006001100210000000000121019f000017480001043000030000000000020000000003000411000005d602300197000300000002001d000100000003001d000006170230009c000009c90000813d000200000001001d0000000000100435000000200000043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000009c70000613d000000000101043b00000003020000290000000000200435000000200010043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000009c70000613d000000000101043b000000000101041a000000ff01100190000009c60000613d00000002010000290000000000100435000000200000043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000009c70000613d000000000101043b00000003020000290000000000200435000000200010043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000009c70000613d000000000101043b000000000201041a000001000300008a000000000232016f000000000021041b000000400100043d000005d3020000410000000003000414000005d30430009c0000000003028019000005d30410009c00000000010280190000004001100210000000c002300210000000000112019f000005fc011001c70000800d02000039000000040300003900000616040000410000000205000029000000010600002900000003070000291746173c0000040f0000000101200190000009c70000613d000000000001042d00000000010000190000174800010430000000400100043d00000064021000390000061803000041000000000032043500000044021000390000061903000041000000000032043500000024021000390000002f03000039000000000032043500000602020000410000000000210435000000040210003900000020030000390000000000320435000005d302000041000005d30310009c0000000001028019000000400110021000000606011001c700001748000104300003000000000002000100000002001d000005d6022001970000000003000411000300000002001d000000000232004b00000a3b0000c13d000200000001001d0000000000100435000000200000043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f000000010220019000000a390000613d000000000101043b00000003020000290000000000200435000000200010043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f000000010220019000000a390000613d000000000101043b000000000101041a000000ff0110019000000a380000613d00000002010000290000000000100435000000200000043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f000000010220019000000a390000613d000000000101043b00000003020000290000000000200435000000200010043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f000000010220019000000a390000613d000000000101043b000000000201041a000001000300008a000000000232016f000000000021041b000000400100043d000005d3020000410000000003000414000005d30430009c0000000003028019000005d30410009c00000000010280190000004001100210000000c002300210000000000112019f000005fc011001c70000800d02000039000000040300003900000616040000410000000205000029000000010600002900000003070000291746173c0000040f000000010120019000000a390000613d000000000001042d00000000010000190000174800010430000000400100043d00000064021000390000061803000041000000000032043500000044021000390000061903000041000000000032043500000024021000390000002f03000039000000000032043500000602020000410000000000210435000000040210003900000020030000390000000000320435000005d302000041000005d30310009c0000000001028019000000400110021000000606011001c700001748000104300010000000000002001000000005001d000900000003001d000800000002001d000c00000001001d0000060a010000410000000000100439000400000004001d000005d601400197000d00000001001d0000000400100443000005d3010000410000000002000414000005d30320009c0000000001024019000000c0011002100000060b011001c70000800202000039174617410000040f000000010220019000000ec90000613d000000000101043b000000000110004c00000ec90000613d000000400900043d0000061a0100004100000000001904350000001001000029000005d60310019700000004029000390000000001000414000700000003001d00000000003204350000000d02000029000000040320008c00000a760000c13d000000010300003100000aa80000013d000005d304000041000005d30310009c0000000001048019000005d30390009c000000000304001900000000030940190000004003300210000000c001100210000000000131019f000005d9011001c7001000000009001d174617410000040f000000100900002900000000030100190000006003300270000005d303300197000000200430008c000000200500003900000000050340190000001f0450018f000000050550027200000a950000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b00000a8d0000413d000000000640004c00000aa40000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f0003000000010355000000010220019000000f1f0000613d0000001f01300039000000200200008a001000000002001d000000000221016f0000000001920019000000000221004b00000000020000190000000102004039000005d40310009c00000ecb0000213d000000010220019000000ecb0000c13d000000400010043f000005d5010000410000000102000031000000200320008c00000000030000190000000003014019000005d502200197000000000420004c000000000100a019000005d50220009c000000000103c019000000000110004c00000ec90000c13d0000000001090433000300000001001d000006080100004100000000001004390000000001000412000a00000001001d000000040010044300000040010000390000002400100443000005d3010000410000000002000414000005d30320009c0000000001024019000000c00110021000000609011001c70000800502000039174617410000040f000000010220019000000ec90000613d000000000101043b0000060a020000410000000000200439000005d601100197000f00000001001d0000000400100443000005d3010000410000000002000414000005d30320009c0000000001024019000000c0011002100000060b011001c70000800202000039174617410000040f000000010220019000000ec90000613d000000000101043b000000000110004c00000ec90000613d000000400900043d0000060c010000410000000000190435000000240290003900000000010004140000000d0300002900000000003204350000000902000029000005d6032001970000000402900039000e00000003001d00000000003204350000000f02000029000000040320008c00000af80000c13d000000010300003100000b2a0000013d000005d304000041000005d30310009c0000000001048019000005d30390009c000000000304001900000000030940190000004003300210000000c001100210000000000131019f0000060d011001c7000f00000009001d174617410000040f0000000f0900002900000000030100190000006003300270000005d303300197000000200430008c000000200500003900000000050340190000001f0450018f000000050550027200000b170000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b00000b0f0000413d000000000640004c00000b260000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f0003000000010355000000010220019000000f3e0000613d0000001f013000390000001002000029000000000221016f0000000001920019000000000221004b00000000020000190000000102004039000005d40310009c00000ecb0000213d000000010220019000000ecb0000c13d000000400010043f000005d5010000410000000102000031000000200320008c00000000030000190000000003014019000005d502200197000000000420004c000000000100a019000005d50220009c000000000103c019000000000110004c00000ec90000c13d0000000001090433000f00000001001d000005d60110009c00000ec90000213d0000000f01000029000000000110004c0000000001000410000b00000001001d000000000100001900000bbb0000613d0000060a0100004100000000001004390000000f010000290000000400100443000005d3010000410000000002000414000005d30320009c0000000001024019000000c0011002100000060b011001c70000800202000039174617410000040f000000010220019000000ec90000613d000000000101043b000000000110004c00000ec90000613d000000400900043d0000060e0100004100000000001904350000000b01000029000005d60210019700000044039000390000000001000414000000000023043500000024029000390000000c03000029000000000032043500000004029000390000000e0300002900000000003204350000000f02000029000000040320008c00000b700000c13d000000010300003100000ba20000013d000005d304000041000005d30310009c0000000001048019000005d30390009c000000000304001900000000030940190000004003300210000000c001100210000000000131019f00000603011001c7000600000009001d174617410000040f000000060900002900000000030100190000006003300270000005d303300197000000200430008c000000200500003900000000050340190000001f0450018f000000050550027200000b8f0000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b00000b870000413d000000000640004c00000b9e0000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f0003000000010355000000010220019000000fd90000613d0000001f013000390000001002000029000000000221016f0000000001920019000000000221004b00000000020000190000000102004039000005d40310009c00000ecb0000213d000000010220019000000ecb0000c13d000000400010043f000005d5010000410000000102000031000000200320008c00000000030000190000000003014019000005d502200197000000000420004c000000000100a019000005d50220009c000000000103c019000000000110004c00000ec90000c13d0000000001090433000600000001001d000006080100004100000000001004390000000a0100002900000004001004430000002001000039000200000001001d0000002400100443000005d3010000410000000002000414000005d30320009c0000000001024019000000c00110021000000609011001c70000800502000039174617410000040f000000010220019000000ec90000613d000000000101043b0000060a020000410000000000200439000005d601100197000500000001001d0000000400100443000005d3010000410000000002000414000005d30320009c0000000001024019000000c0011002100000060b011001c70000800202000039174617410000040f000000010220019000000ec90000613d000000000101043b000000000110004c00000ec90000613d000000400900043d0000060c010000410000000000190435000000240290003900000000010004140000000d03000029000000000032043500000004029000390000000e0300002900000000003204350000000502000029000000040320008c00000bef0000c13d000000010300003100000c210000013d000005d304000041000005d30310009c0000000001048019000005d30390009c000000000304001900000000030940190000004003300210000000c001100210000000000131019f0000060d011001c7000500000009001d174617410000040f000000050900002900000000030100190000006003300270000005d303300197000000200430008c000000200500003900000000050340190000001f0450018f000000050550027200000c0e0000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b00000c060000413d000000000640004c00000c1d0000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f0003000000010355000000010220019000000f5d0000613d0000001f013000390000001002000029000000000221016f0000000001920019000000000221004b00000000020000190000000102004039000005d40310009c00000ecb0000213d000000010220019000000ecb0000c13d000000400010043f000005d5020000410000000103000031000000200430008c00000000040000190000000004024019000005d503300197000000000530004c000000000200a019000005d50330009c000000000204c019000000000220004c00000ec90000c13d0000000005090433000005d60250009c00000ec90000213d000000000250004c000000060400002900000cb40000613d0000060a0100004100000000001004390000000400500443000005d3010000410000000002000414000005d30320009c0000000001024019000000c0011002100000060b011001c70000800202000039000500000005001d174617410000040f0000000506000029000000010220019000000ec90000613d000000000101043b000000000110004c00000ec90000613d000000400900043d0000060e0100004100000000001904350000000b01000029000005d60210019700000044039000390000000001000414000000000023043500000024029000390000000c03000029000000000032043500000004029000390000000e030000290000000000320435000000040260008c00000c630000c13d000000010300003100000c960000013d000005d302000041000005d30310009c0000000001028019000005d30390009c00000000020940190000004002200210000000c001100210000000000121019f00000603011001c70000000002060019000100000009001d174617410000040f000000010900002900000000030100190000006003300270000005d303300197000000200430008c000000200500003900000000050340190000001f0450018f000000050550027200000c820000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b00000c7a0000413d000000000640004c00000c910000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f00030000000103550000000102200190000000050600002900000ff80000613d0000001f013000390000001002000029000000000221016f0000000001920019000000000221004b00000000020000190000000102004039000005d40310009c00000ecb0000213d000000010220019000000ecb0000c13d000000400010043f000005d5020000410000000103000031000000200430008c00000000040000190000000004024019000005d503300197000000000530004c000000000200a019000005d50330009c000000000204c019000000000220004c00000ec90000c13d00000000020904330000000604000029000000000342004b00000cb40000a13d0000000004020019000f00000006001d0000000802000029000000000224004b00000ed10000413d000006080100004100000000001004390000000a0100002900000004001004430000002400000443000005d3010000410000000002000414000005d30320009c0000000001024019000000c00110021000000609011001c70000800502000039174617410000040f000000010220019000000ec90000613d000000000301043b000000400100043d00000044021000390000000c04000029000000000042043500000020061000390000061b04000041000000000046043500000044040000390000000000410435000005d60a30019700000024031000390000000000a304350000061c0310009c00000ecb0000213d0000008003100039000000400030043f00000000030004140000000e02000029000000040420008c000a0000000a001d00000cdf0000c13d0000000103000031000000000200001900000cf40000013d000005d304000041000005d30560009c0000000005040019000000000506401900000040065002100000000001010433000005d30510009c00000000010480190000006001100210000000000161019f000005d30530009c0000000003048019000000c003300210000000000131019f1746173c0000040f0000000a0a000029000000010220015f00030000000103550000006001100270000105d30010019d000005d3031001970000006001000039000000000430004c00000d220000613d0000003f013000390000001004000029000000000441016f000000400100043d0000000004410019000000000514004b00000000050000190000000105004039000005d40640009c00000ecb0000213d000000010550019000000ecb0000c13d000000400040043f0000000003310436000000030400036700000001060000310000001f0560018f000000050660027200000d130000613d000000000700001900000005087002100000000009830019000000000884034f000000000808043b00000000008904350000000107700039000000000867004b00000d0b0000413d000000000750004c00000d220000613d0000000506600210000000000464034f00000000036300190000000305500210000000000603043300000000065601cf000000000656022f000000000404043b0000010005500089000000000454022f00000000045401cf000000000464019f0000000000430435000000010220019000000ee20000c13d0000000012010434000000000320004c00000d3b0000613d000005d503000041000000200420008c00000000040000190000000004034019000005d502200197000000000520004c000000000300a019000005d50220009c00000000020400190000000002036019000000000220004c00000ec90000c13d0000000001010433000000000210004c0000000002000019000000010200c039000000000221004b00000ec90000c13d000000000110004c00000f0a0000613d0000060a0100004100000000001004390000000400a00443000005d3010000410000000002000414000005d30320009c0000000001024019000000c0011002100000060b011001c70000800202000039174617410000040f0000000a04000029000000010220019000000ec90000613d000000000101043b000000000110004c00000ec90000613d000000400900043d0000061f010000410000000000190435000000240290003900000000010004140000000f03000029000000000032043500000004029000390000000e030000290000000000320435000000040240008c00000d5a0000c13d000000010300003100000d8c0000013d000005d302000041000005d30310009c0000000001028019000005d30390009c00000000020940190000004002200210000000c001100210000000000121019f0000060d011001c70000000002040019000a00000009001d1746173c0000040f0000000a0900002900000000030100190000006003300270000005d303300197000000200430008c000000200500003900000000050340190000001f0450018f000000050550027200000d790000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b00000d710000413d000000000640004c00000d880000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f0003000000010355000000010220019000000f7c0000613d0000001f013000390000001002000029000000000121016f0000000005910019000000000115004b00000000010000190000000101004039000005d40250009c00000ecb0000213d000000010110019000000ecb0000c13d000000400050043f000005d5010000410000000102000031000000200320008c00000000030000190000000003014019000005d502200197000000000420004c000000000100a019000005d50220009c000000000103c019000000000110004c00000ec90000c13d00000060015000390000000202000039000000000021043500000040015000390000000702000029000000000021043500000020015000390000000e020000290000000000210435000000600100003900000000001504350000061c0150009c00000ecb0000213d0000008001500039000000400010043f0000060a0100004100000000001004390000000f010000290000000400100443000005d3010000410000000002000414000005d30320009c0000000001024019000000c0011002100000060b011001c70000800202000039000e00000005001d174617410000040f0000000e08000029000000010220019000000ec90000613d000000000101043b000000000110004c00000ec90000613d000000400900043d000006200100004100000000001904350000000402900039000000000100041400000080030000390000000000320435000000000308043300000084049000390000000000340435000000a404900039000000000530004c00000ddf0000613d000000000500001900000000064500190000002005500039000000000785001900000000070704330000000000760435000000000635004b00000dd40000413d000000000535004b00000ddf0000a13d000000000543001900000000000504350000000b05000029000005d605500197000000240690003900000000005604350000001f033000390000001005000029000000000353016f00000000044300190000000002240049000000640590003900000000002504350000004402900039000000000002043500000000000404350000000f02000029000000040420008c00000df20000c13d000000010300003100000e280000013d000005d306000041000005d30490009c000000000406001900000000040940190000004004400210000000c403300039000005d30530009c00000000030680190000006003300210000000000343019f000005d30410009c0000000001068019000000c001100210000000000113019f000f00000009001d1746173c0000040f0000000f0900002900000000030100190000006003300270000005d303300197000000400430008c000000400500003900000000050340190000001f0450018f000000050550027200000e150000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b00000e0d0000413d000000000640004c00000e240000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f0003000000010355000000010220019000000f9b0000613d0000001f013000390000001002000029000000000221016f0000000001920019000000000221004b00000000020000190000000102004039000005d40310009c00000ecb0000213d000000010220019000000ecb0000c13d000000400010043f000005d5010000410000000102000031000000400320008c00000000030000190000000003014019000005d502200197000000000420004c000000000100a019000005d50220009c000000000103c019000000000110004c00000ec90000c13d0000000001090433000005d60110009c00000ec90000213d0000060a0100004100000000001004390000000d010000290000000400100443000005d3010000410000000002000414000005d30320009c0000000001024019000000c0011002100000060b011001c70000800202000039174617410000040f000000010220019000000ec90000613d000000000101043b000000000110004c00000ec90000613d000000400900043d0000061a01000041000000000019043500000004029000390000000001000414000000070300002900000000003204350000000d02000029000000040320008c00000e600000c13d000000010300003100000e920000013d000005d304000041000005d30310009c0000000001048019000005d30390009c000000000304001900000000030940190000004003300210000000c001100210000000000131019f000005d9011001c7000f00000009001d174617410000040f0000000f0900002900000000030100190000006003300270000005d303300197000000200430008c000000200500003900000000050340190000001f0450018f000000050550027200000e7f0000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b00000e770000413d000000000640004c00000e8e0000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f0003000000010355000000010220019000000fba0000613d0000001f013000390000001002000029000000000221016f0000000001920019000000000221004b00000000020000190000000102004039000005d40310009c00000ecb0000213d000000010220019000000ecb0000c13d000000400010043f000005d5020000410000000103000031000000200430008c00000000040000190000000004024019000005d503300197000000000530004c000000000200a019000005d50330009c000000000204c019000000000220004c00000ec90000c13d00000000020904330000000304000029000000000342004b00000ef30000413d00000000024200490000000803000029000000000232004b00000ef90000413d000000200210003900000000003204350000000c020000290000000000210435000005d3020000410000000003000414000005d30430009c0000000003028019000005d30410009c00000000010280190000004001100210000000c002300210000000000112019f000005fb011001c70000800d0200003900000003030000390000062104000041000000090500002900000004060000291746173c0000040f000000010120019000000ec90000613d000000000001042d00000000010000190000174800010430000005d80100004100000000001004350000004101000039000000040010043f000005d901000041000017480001043000000044021000390000062403000041000000000032043500000024021000390000001603000039000000000032043500000602020000410000000000210435000000040210003900000002030000290000000000320435000005d302000041000005d30310009c0000000001028019000000400110021000000603011001c70000174800010430000000400100043d0000004402100039000006230300004100000000003204350000060202000041000000000021043500000024021000390000000203000029000000000032043500000004021000390000000000320435000005d302000041000005d30310009c0000000001028019000000400110021000000603011001c70000174800010430000005d80100004100000000001004350000001101000039000000040010043f000005d901000041000017480001043000000044021000390000062203000041000000000032043500000024021000390000001703000039000000000032043500000602020000410000000000210435000000040210003900000002030000290000000000320435000005d302000041000005d30310009c0000000001028019000000400110021000000603011001c70000174800010430000000400100043d00000064021000390000061d03000041000000000032043500000044021000390000061e03000041000000000032043500000024021000390000002a03000039000000000032043500000602020000410000000000210435000000040210003900000002030000290000000000320435000005d302000041000005d30310009c0000000001028019000000400110021000000606011001c700001748000104300000001f0430018f000000050230027200000f2a0000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b00000f230000413d000000000340004c00000f380000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f0000000000120435000005d3010000410000000102000031000005d30320009c0000000001024019000000600110021000001748000104300000001f0430018f000000050230027200000f490000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b00000f420000413d000000000340004c00000f570000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f0000000000120435000005d3010000410000000102000031000005d30320009c0000000001024019000000600110021000001748000104300000001f0430018f000000050230027200000f680000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b00000f610000413d000000000340004c00000f760000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f0000000000120435000005d3010000410000000102000031000005d30320009c0000000001024019000000600110021000001748000104300000001f0430018f000000050230027200000f870000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b00000f800000413d000000000340004c00000f950000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f0000000000120435000005d3010000410000000102000031000005d30320009c0000000001024019000000600110021000001748000104300000001f0430018f000000050230027200000fa60000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b00000f9f0000413d000000000340004c00000fb40000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f0000000000120435000005d3010000410000000102000031000005d30320009c0000000001024019000000600110021000001748000104300000001f0430018f000000050230027200000fc50000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b00000fbe0000413d000000000340004c00000fd30000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f0000000000120435000005d3010000410000000102000031000005d30320009c0000000001024019000000600110021000001748000104300000001f0430018f000000050230027200000fe40000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b00000fdd0000413d000000000340004c00000ff20000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f0000000000120435000005d3010000410000000102000031000005d30320009c0000000001024019000000600110021000001748000104300000001f0430018f0000000502300272000010030000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b00000ffc0000413d000000000340004c000010110000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f0000000000120435000005d3010000410000000102000031000005d30320009c0000000001024019000000600110021000001748000104300000000002010019000000400100043d000006250310009c000010560000813d0000008003100039000000400030043f0000004203000039000000000331043600000000040000310000000204400367000000000500001900000005065002100000000007630019000000000664034f000000000606043b00000000006704350000000105500039000000030650008c000010220000413d0000000004010433000000000440004c000010500000613d0000000004030433000006100440019700000611044001c700000000004304350000000004010433000000020440008c000010500000413d00000021041000390000000005040433000006100550019700000612055001c70000000000540435000000410400003900000000050200190000000002010433000000000242004b000010500000a13d0000000f0250018f0000000302200210000000f80220015f0000061306000041000000000226022f000000000634001900000000070604330000061007700197000000f802200210000000000227019f00000000002604350000000402500270000000010440008a000000010640008c0000103a0000213d000000100250008c0000105c0000813d000000000001042d000005d80100004100000000001004350000003201000039000000040010043f000005d9010000410000174800010430000005d80100004100000000001004350000004101000039000000040010043f000005d9010000410000174800010430000000400100043d0000004402100039000006260300004100000000003204350000060202000041000000000021043500000024021000390000002003000039000000000032043500000004021000390000000000320435000005d302000041000005d30310009c0000000001028019000000400110021000000603011001c700001748000104300004000000000002000300000001001d0000000000000435000000200000043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000011460000613d000000000101043b0000000101100039000000000101041a000100000001001d0000000000100435000000200000043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000011460000613d000000000101043b0000000002000411000200000002001d000005d602200197000400000002001d0000000000200435000000200010043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000011460000613d000000000101043b000000000101041a000000ff01100190000011480000613d0000000000000435000000200000043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000011460000613d000000000101043b0000000302000029000005d602200197000100000002001d0000000000200435000000200010043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000011460000613d000000000101043b000000000101041a000000ff01100190000010f40000c13d0000000000000435000000200000043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000011460000613d000000000101043b00000001020000290000000000200435000000200010043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000011460000613d000000000101043b000000000201041a000001000300008a000000000232016f00000001022001bf000000000021041b000000400100043d000005d3020000410000000003000414000005d30430009c0000000003028019000005d30410009c00000000010280190000004001100210000000c002300210000000000112019f000005fc011001c70000800d020000390000000403000039000005fd040000410000000005000019000000030600002900000002070000291746173c0000040f0000000101200190000011460000613d0000000000000435000000200000043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000011460000613d000000000101043b00000004020000290000000000200435000000200010043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000011460000613d000000000101043b000000000101041a000000ff01100190000011450000613d0000000000000435000000200000043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000011460000613d000000000101043b00000004020000290000000000200435000000200010043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000011460000613d000000000101043b000000000201041a000001000300008a000000000232016f000000000021041b000000400100043d000005d3020000410000000003000414000005d30430009c0000000003028019000005d30410009c00000000010280190000004001100210000000c002300210000000000112019f000005fc011001c70000800d02000039000000040300003900000616040000410000000005000019000000020600002900000000070600191746173c0000040f0000000101200190000011460000613d000000000001042d00000000010000190000174800010430000000400100043d00000000070100190000060f0110009c000011520000413d000005d80100004100000000001004350000004101000039000000040010043f000005d901000041000017480001043000000000020700190000006001200039000000400010043f0000002a01000039000000000112043600000000020000310000000202200367000000000300001900000005043002100000000005410019000000000442034f000000000404043b00000000004504350000000103300039000000020430008c0000115a0000413d0000000002070433000000000220004c0000116c0000613d0000000002010433000006100220019700000611022001c700000000002104350000000002070433000000020220008c000011720000813d000005d80100004100000000001004350000003201000039000000040010043f000005d901000041000017480001043000000021027000390000000003020433000006100330019700000612033001c700000000003204350000002902000039000000020500002900000000030500190000000004070433000000000424004b0000116c0000a13d0000000f0430018f0000000304400210000000f80440015f0000061305000041000000000445022f000000000512001900000000060504330000061006600197000000f804400210000000000446019f00000000004504350000000405300270000000010220008a000000010420008c000011790000213d000000100130008c00000000010000190000000101004039000300000007001d174617280000040f0000000101000029174610170000040f000000400400043d000400000004001d000000200240003900000614030000410000000000320435000200000001001d00000037024000390000000301000029174604a60000040f0000061502000041000000000021043500000011021000390000000201000029174604a60000040f00000004030000290000000002310049000000200120008a00000000001304350000000001030019174604cf0000040f0000060201000041000000400200043d000300000002001d000000000012043500000004012000390000000402000029174604b70000040f00000003040000290000000001410049000005d302000041000005d30310009c0000000001028019000005d30340009c000000000204401900000040022002100000006001100210000000000121019f0000174800010430000005d6022001970000000000200435000000200010043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000011c80000613d000000000101043b000000000001042d000000000100001900001748000104300000000000100435000000200000043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000011d80000613d000000000101043b000000000001042d000000000100001900001748000104300001000000000002000100000001001d000005f5010000410000000000100435000000200000043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000012150000613d000000000101043b0000000002000411000005d6022001970000000000200435000000200010043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000012150000613d000000000101043b000000000101041a000000ff01100190000012170000613d0000000102000029000000000120004c0000122c0000613d0000000101000039000000000021041b000000400100043d0000000000210435000005d3020000410000000003000414000005d30430009c0000000003028019000005d30410009c00000000010280190000004001100210000000c002300210000000000112019f000005ff011001c70000800d020000390000000203000039000006000400004100000000050004101746173c0000040f0000000101200190000012150000613d000000000001042d00000000010000190000174800010430000000400100043d00000064021000390000060403000041000000000032043500000044021000390000060503000041000000000032043500000024021000390000002803000039000000000032043500000602020000410000000000210435000000040210003900000020030000390000000000320435000005d302000041000005d30310009c0000000001028019000000400110021000000606011001c70000174800010430000000400100043d00000044021000390000060103000041000000000032043500000024021000390000001403000039000000000032043500000602020000410000000000210435000000040210003900000020030000390000000000320435000005d302000041000005d30310009c0000000001028019000000400110021000000603011001c700001748000104300002000000000002000200000002001d000100000001001d000005f5010000410000000000100435000000200000043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000012d50000613d000000000101043b0000000002000411000005d6022001970000000000200435000000200010043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000012d50000613d000000400300043d000000000101043b000000000101041a000000ff01100190000012dd0000613d0000002001300039000006270200004100000000002104350000000202000029000005d602200197000000240430003900000000002404350000004402000039000000000023043500000044023000390000000000020435000006250230009c000012d70000813d0000008002300039000000400020043f00000000040004140000000102000029000005d602200197000000040520008c000012790000c13d000000010300003100000000020000190000128d0000013d000005d305000041000005d30610009c000000000105801900000040011002100000000003030433000005d30630009c00000000030580190000006003300210000000000113019f000005d30340009c00000000030500190000000003044019000000c003300210000000000131019f1746173c0000040f000000010220015f00030000000103550000006001100270000105d30010019d000005d3031001970000006001000039000000000430004c000012bb0000613d0000003f01300039000000200400008a000000000441016f000000400100043d0000000004410019000000000514004b00000000050000190000000105004039000005d40640009c000012d70000213d0000000105500190000012d70000c13d000000400040043f0000000003310436000000030400036700000001060000310000001f0560018f0000000506600272000012ac0000613d000000000700001900000005087002100000000009830019000000000884034f000000000808043b00000000008904350000000107700039000000000867004b000012a40000413d000000000750004c000012bb0000613d0000000506600210000000000464034f00000000036300190000000305500210000000000603043300000000065601cf000000000656022f000000000404043b0000010005500089000000000454022f00000000045401cf000000000464019f00000000004304350000000102200190000012f10000c13d0000000012010434000000000320004c000012d40000613d000005d503000041000000200420008c00000000040000190000000004034019000005d502200197000000000520004c000000000300a019000005d50220009c00000000020400190000000002036019000000000220004c000012d50000c13d0000000001010433000000000210004c0000000002000019000000010200c039000000000221004b000012d50000c13d000000000110004c000013020000613d000000000001042d00000000010000190000174800010430000005d80100004100000000001004350000004101000039000000040010043f000005d901000041000017480001043000000064013000390000060402000041000000000021043500000044013000390000060502000041000000000021043500000024013000390000002802000039000000000021043500000602010000410000000000130435000000040130003900000020020000390000000000210435000005d301000041000005d30230009c0000000001034019000000400110021000000606011001c70000174800010430000000400100043d0000004402100039000006230300004100000000003204350000060202000041000000000021043500000024021000390000002003000039000000000032043500000004021000390000000000320435000005d302000041000005d30310009c0000000001028019000000400110021000000603011001c70000174800010430000000400100043d00000064021000390000061d03000041000000000032043500000044021000390000061e03000041000000000032043500000024021000390000002a03000039000000000032043500000602020000410000000000210435000000040210003900000020030000390000000000320435000005d302000041000005d30310009c0000000001028019000000400110021000000606011001c700001748000104300003000000000002000300000002001d000200000001001d000005f5010000410000000000100435000000200000043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000013c50000613d000000000101043b0000000002000411000005d602200197000100000002001d0000000000200435000000200010043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000013c50000613d000000000101043b000000000101041a000000ff01100190000013cd0000613d0000000303000029000000000130004c000013e20000613d000000400100043d0000004402100039000000000032043500000020031000390000061b020000410000000000230435000000240210003900000001040000290000000000420435000000440200003900000000002104350000000202000029000005d602200197000006250410009c000013c70000813d0000008004100039000000400040043f0000000004000414000000040520008c000013550000c13d00000001030000310000000002000019000013690000013d000005d305000041000005d30630009c000000000305801900000040033002100000000001010433000005d30610009c00000000010580190000006001100210000000000131019f000005d30340009c00000000030500190000000003044019000000c003300210000000000131019f1746173c0000040f000000010220015f00030000000103550000006001100270000105d30010019d000005d3031001970000006001000039000000000430004c000013970000613d0000003f01300039000000200400008a000000000441016f000000400100043d0000000004410019000000000514004b00000000050000190000000105004039000005d40640009c000013c70000213d0000000105500190000013c70000c13d000000400040043f0000000003310436000000030400036700000001060000310000001f0560018f0000000506600272000013880000613d000000000700001900000005087002100000000009830019000000000884034f000000000808043b00000000008904350000000107700039000000000867004b000013800000413d000000000750004c000013970000613d0000000506600210000000000464034f00000000036300190000000305500210000000000603043300000000065601cf000000000656022f000000000404043b0000010005500089000000000454022f00000000045401cf000000000464019f00000000004304350000000102200190000013f40000c13d0000000012010434000000000320004c000013b00000613d000005d503000041000000200420008c00000000040000190000000004034019000005d502200197000000000520004c000000000300a019000005d50220009c00000000020400190000000002036019000000000220004c000013c50000c13d0000000001010433000000000210004c0000000002000019000000010200c039000000000221004b000013c50000c13d000000000110004c000014050000613d000000400100043d00000003020000290000000000210435000005d3020000410000000003000414000005d30430009c0000000003028019000005d30410009c00000000010280190000004001100210000000c002300210000000000112019f000005ff011001c70000800d020000390000000203000039000006280400004100000002050000291746173c0000040f0000000101200190000013c50000613d000000000001042d00000000010000190000174800010430000005d80100004100000000001004350000004101000039000000040010043f000005d9010000410000174800010430000000400100043d00000064021000390000060403000041000000000032043500000044021000390000060503000041000000000032043500000024021000390000002803000039000000000032043500000602020000410000000000210435000000040210003900000020030000390000000000320435000005d302000041000005d30310009c0000000001028019000000400110021000000606011001c70000174800010430000000400100043d00000044021000390000062903000041000000000032043500000024021000390000001e03000039000000000032043500000602020000410000000000210435000000040210003900000020030000390000000000320435000005d302000041000005d30310009c0000000001028019000000400110021000000603011001c70000174800010430000000400100043d0000004402100039000006230300004100000000003204350000060202000041000000000021043500000024021000390000002003000039000000000032043500000004021000390000000000320435000005d302000041000005d30310009c0000000001028019000000400110021000000603011001c70000174800010430000000400100043d00000064021000390000061d03000041000000000032043500000044021000390000061e03000041000000000032043500000024021000390000002a03000039000000000032043500000602020000410000000000210435000000040210003900000020030000390000000000320435000005d302000041000005d30310009c0000000001028019000000400110021000000606011001c700001748000104300002000000000002000200000001001d000005f5010000410000000000100435000000200000043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f00000001022001900000149e0000613d000000000101043b0000000002000411000100000002001d000005d6022001970000000000200435000000200010043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f00000001022001900000149e0000613d000000000101043b000000000101041a000000ff01100190000014a00000613d0000000209000029000000000190004c0000000104000029000014b50000613d0000000001000414000000040240008c000014470000c13d000000010200003900000001010000310000145b0000013d000005d302000041000000400300043d000005d30530009c0000000003028019000005d30510009c0000000001028019000000c0011002100000004002300210000000000112019f000005fc011001c70000800902000039000000000309001900000000050000191746173c0000040f0000000209000029000000010220018f00030000000103550000006001100270000105d30010019d000005d301100197000000000310004c000014880000613d0000003f03100039000000200400008a000000000443016f000000400300043d0000000004430019000000000534004b00000000050000190000000105004039000005d40640009c000014d80000213d0000000105500190000014d80000c13d000000400040043f0000000001130436000000030300036700000001050000310000001f0450018f0000000505500272000014790000613d000000000600001900000005076002100000000008710019000000000773034f000000000707043b00000000007804350000000106600039000000000756004b000014710000413d000000000640004c000014880000613d0000000505500210000000000353034f00000000015100190000000304400210000000000501043300000000054501cf000000000545022f000000000303043b0000010004400089000000000343022f00000000034301cf000000000353019f0000000000310435000000400100043d000000000220004c000014c70000613d0000000000910435000005d3020000410000000003000414000005d30430009c0000000003028019000005d30410009c00000000010280190000004001100210000000c002300210000000000112019f000005ff011001c70000800d020000390000000203000039000006280400004100000000050000191746173c0000040f00000001012001900000149e0000613d000000000001042d00000000010000190000174800010430000000400100043d00000064021000390000060403000041000000000032043500000044021000390000060503000041000000000032043500000024021000390000002803000039000000000032043500000602020000410000000000210435000000040210003900000020030000390000000000320435000005d302000041000005d30310009c0000000001028019000000400110021000000606011001c70000174800010430000000400100043d00000044021000390000062903000041000000000032043500000024021000390000001e03000039000000000032043500000602020000410000000000210435000000040210003900000020030000390000000000320435000005d302000041000005d30310009c0000000001028019000000400110021000000603011001c7000017480001043000000044021000390000062a03000041000000000032043500000024021000390000001003000039000000000032043500000602020000410000000000210435000000040210003900000020030000390000000000320435000005d302000041000005d30310009c0000000001028019000000400110021000000603011001c70000174800010430000005d80100004100000000001004350000004101000039000000040010043f000005d90100004100001748000104300004000000000002000300000002001d000400000001001d0000000000100435000000200000043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000015680000613d000000000101043b0000000101100039000000000101041a000100000001001d0000000000100435000000200000043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000015680000613d000000000101043b0000000002000411000200000002001d000005d6022001970000000000200435000000200010043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000015680000613d000000000101043b000000000101041a000000ff011001900000156a0000613d00000004010000290000000000100435000000200000043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000015680000613d000000000101043b0000000302000029000005d602200197000100000002001d0000000000200435000000200010043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000015680000613d000000000101043b000000000101041a000000ff01100190000015670000c13d00000004010000290000000000100435000000200000043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000015680000613d000000000101043b00000001020000290000000000200435000000200010043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000015680000613d000000000101043b000000000201041a000001000300008a000000000232016f00000001022001bf000000000021041b000000400100043d000005d3020000410000000003000414000005d30430009c0000000003028019000005d30410009c00000000010280190000004001100210000000c002300210000000000112019f000005fc011001c70000800d020000390000000403000039000005fd040000410000000405000029000000030600002900000002070000291746173c0000040f0000000101200190000015680000613d000000000001042d00000000010000190000174800010430000000400100043d00000000070100190000060f0110009c000015740000413d000005d80100004100000000001004350000004101000039000000040010043f000005d901000041000017480001043000000000020700190000006001200039000000400010043f0000002a01000039000000000112043600000000020000310000000202200367000000000300001900000005043002100000000005410019000000000442034f000000000404043b00000000004504350000000103300039000000020430008c0000157c0000413d0000000002070433000000000220004c0000158e0000613d0000000002010433000006100220019700000611022001c700000000002104350000000002070433000000020220008c000015940000813d000005d80100004100000000001004350000003201000039000000040010043f000005d901000041000017480001043000000021027000390000000003020433000006100330019700000612033001c700000000003204350000002902000039000000020500002900000000030500190000000004070433000000000424004b0000158e0000a13d0000000f0430018f0000000304400210000000f80440015f0000061305000041000000000445022f000000000512001900000000060504330000061006600197000000f804400210000000000446019f00000000004504350000000405300270000000010220008a000000010420008c0000159b0000213d000000100130008c00000000010000190000000101004039000300000007001d174617280000040f0000000101000029174610170000040f000000400400043d000400000004001d000000200240003900000614030000410000000000320435000200000001001d00000037024000390000000301000029174604a60000040f0000061502000041000000000021043500000011021000390000000201000029174604a60000040f00000004030000290000000002310049000000200120008a00000000001304350000000001030019174604cf0000040f0000060201000041000000400200043d000300000002001d000000000012043500000004012000390000000402000029174604b70000040f00000003040000290000000001410049000005d302000041000005d30310009c0000000001028019000005d30340009c000000000204401900000040022002100000006001100210000000000121019f00001748000104300004000000000002000300000002001d000400000001001d0000000000100435000000200000043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000016640000613d000000000101043b0000000101100039000000000101041a000100000001001d0000000000100435000000200000043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000016640000613d000000000101043b0000000002000411000200000002001d000005d6022001970000000000200435000000200010043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000016640000613d000000000101043b000000000101041a000000ff01100190000016660000613d00000004010000290000000000100435000000200000043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000016640000613d000000000101043b0000000302000029000005d602200197000100000002001d0000000000200435000000200010043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000016640000613d000000000101043b000000000101041a000000ff01100190000016630000613d00000004010000290000000000100435000000200000043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000016640000613d000000000101043b00000001020000290000000000200435000000200010043f000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005fb011001c70000801002000039174617410000040f0000000102200190000016640000613d000000000101043b000000000201041a000001000300008a000000000232016f000000000021041b000000400100043d000005d3020000410000000003000414000005d30430009c0000000003028019000005d30410009c00000000010280190000004001100210000000c002300210000000000112019f000005fc011001c70000800d02000039000000040300003900000616040000410000000405000029000000030600002900000002070000291746173c0000040f0000000101200190000016640000613d000000000001042d00000000010000190000174800010430000000400100043d00000000070100190000060f0110009c000016700000413d000005d80100004100000000001004350000004101000039000000040010043f000005d901000041000017480001043000000000020700190000006001200039000000400010043f0000002a01000039000000000112043600000000020000310000000202200367000000000300001900000005043002100000000005410019000000000442034f000000000404043b00000000004504350000000103300039000000020430008c000016780000413d0000000002070433000000000220004c0000168a0000613d0000000002010433000006100220019700000611022001c700000000002104350000000002070433000000020220008c000016900000813d000005d80100004100000000001004350000003201000039000000040010043f000005d901000041000017480001043000000021027000390000000003020433000006100330019700000612033001c700000000003204350000002902000039000000020500002900000000030500190000000004070433000000000424004b0000168a0000a13d0000000f0430018f0000000304400210000000f80440015f0000061305000041000000000445022f000000000512001900000000060504330000061006600197000000f804400210000000000446019f00000000004504350000000405300270000000010220008a000000010420008c000016970000213d000000100130008c00000000010000190000000101004039000300000007001d174617280000040f0000000101000029174610170000040f000000400400043d000400000004001d000000200240003900000614030000410000000000320435000200000001001d00000037024000390000000301000029174604a60000040f0000061502000041000000000021043500000011021000390000000201000029174604a60000040f00000004030000290000000002310049000000200120008a00000000001304350000000001030019174604cf0000040f0000060201000041000000400200043d000300000002001d000000000012043500000004012000390000000402000029174604b70000040f00000003040000290000000001410049000005d302000041000005d30310009c0000000001028019000005d30340009c000000000204401900000040022002100000006001100210000000000121019f000017480001043000030000000000020000000202000039000000000102041a000000010310019000000001041002700000007f0540018f000000000604001900000000060560190000001f0460008c00000000040000190000000104002039000000010440018f000000000443004b0000171a0000c13d000000400500043d0000000004650436000000000330004c000016ee0000c13d000001000200008a000000000121016f000000000014043500000040020000390000170f0000013d000100000004001d000200000006001d000300000005001d0000000000200435000005d3010000410000000002000414000005d30320009c0000000001024019000000c001100210000005ff011001c70000801002000039174617410000040f0000000102200190000017260000613d00000020020000390000000206000029000000000360004c00000003050000290000170f0000613d000000000101043b0000000003000019000000010700002900000000020300190000000003720019000000000401041a000000000043043500000001011000390000002003200039000000000463004b000017040000413d0000005f01200039000000200200008a000000000221016f0000000001520019000000000221004b00000000020000190000000102004039000005d40310009c000017200000213d0000000102200190000017200000c13d000000400010043f0000000001050019000000000001042d000005d80100004100000000001004350000002201000039000000040010043f000005d9010000410000174800010430000005d80100004100000000001004350000004101000039000000040010043f000005d901000041000017480001043000000000010000190000174800010430000000000110004c0000172b0000613d000000000001042d000000400100043d0000004402100039000006260300004100000000003204350000060202000041000000000021043500000024021000390000002003000039000000000032043500000004021000390000000000320435000005d302000041000005d30310009c0000000001028019000000400110021000000603011001c700001748000104300000173f002104210000000102000039000000000001042d0000000002000019000000000001042d00001744002104230000000102000039000000000001042d0000000002000019000000000001042d0000174600000432000017470001042e000017480001043000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff000000000000000000000000000000000000000000000000ffffffffffffffff8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffffffffffff00000002000000000000000000000000000001000000010000000000000000004e487b71000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024000000000000000000000000000000000000000000000000000000000000000000000000000000008980f11e00000000000000000000000000000000000000000000000000000000d8baf7ce00000000000000000000000000000000000000000000000000000000ef99893900000000000000000000000000000000000000000000000000000000ef99893a00000000000000000000000000000000000000000000000000000000f2fde38b00000000000000000000000000000000000000000000000000000000f874225400000000000000000000000000000000000000000000000000000000d8baf7cf00000000000000000000000000000000000000000000000000000000eab90da60000000000000000000000000000000000000000000000000000000091d148530000000000000000000000000000000000000000000000000000000091d1485400000000000000000000000000000000000000000000000000000000a217fddf00000000000000000000000000000000000000000000000000000000d547741f000000000000000000000000000000000000000000000000000000008980f11f000000000000000000000000000000000000000000000000000000008bb9c5bf000000000000000000000000000000000000000000000000000000004ebb7915000000000000000000000000000000000000000000000000000000006b453c1e000000000000000000000000000000000000000000000000000000006b453c1f000000000000000000000000000000000000000000000000000000007ae267730000000000000000000000000000000000000000000000000000000084a33e63000000000000000000000000000000000000000000000000000000004ebb79160000000000000000000000000000000000000000000000000000000069cff80d00000000000000000000000000000000000000000000000000000000248a9ca200000000000000000000000000000000000000000000000000000000248a9ca3000000000000000000000000000000000000000000000000000000002f2ff15d0000000000000000000000000000000000000000000000000000000036568abe0000000000000000000000000000000000000000000000000000000001ffc9a70000000000000000000000000000000000000000000000000000000006fdde03339759585899103d2ace64958e37e18ccb0504652c81d4a1b8aa80fe2126ab950000000000000000000000000000000000000020000000000000000000000000ffffffff0000000000000000000000000000000000000000000000000000000001ffc9a7000000000000000000000000000000000000000000000000000000007965db0b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000800000000000000000020000000000000000000000000000000000004000000000000000000000000002000000000000000000000000000000000000000000000000000000000000002f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d00000000000000000000000000000000000000000000000100000000000000000200000000000000000000000000000000000020000000000000000000000000f43f23b7a28e6f8ce6843a21bd7b48bce778aa913b8c8cf459edf7d770e8d38a496e76616c6964206761732d657374696d61746500000000000000000000000008c379a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000064000000000000000000000000696e7461696e65720000000000000000000000000000000000000000000000004d61696e7461696e61626c653a2043616c6c6572206973206e6f742061206d610000000000000000000000000000000000000084000000000000000000000000496e76616c69642061646170746572206e616d65000000000000000000000000310ab089e4439a4c15d089f94afb7896ff553aecb10793d0ab882de59d99a32e02000002000000000000000000000000000000440000000000000000000000001806aa1896bbf26568e884a7374b41e002500962caba6a15023a8d90e8508b830200000200000000000000000000000000000024000000000000000000000000531aa03e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044000000000000000000000000ff9c8ac600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffa000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff300000000000000000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000000000000000003031323334353637383961626364656600000000000000000000000000000000416363657373436f6e74726f6c3a206163636f756e7420000000000000000000206973206d697373696e6720726f6c6520000000000000000000000000000000f6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b000000000000000000000001000000000000000000000000000000000000000020726f6c657320666f722073656c660000000000000000000000000000000000416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636570a0823100000000000000000000000000000000000000000000000000000000a9059cbb00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffff7f6f742073756363656564000000000000000000000000000000000000000000005361666545524332303a204552433230206f7065726174696f6e20646964206ef9609f08000000000000000000000000000000000000000000000000000000007132bb7f00000000000000000000000000000000000000000000000000000000e2bdbc6b7225eb0a972ac943c485a6cc05f7c6811838bce8903f23200fb744fa496e73756666696369656e7420616d6f756e742d6f75740000000000000000005361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564496e737566666963656e7420616d6f756e74206f757400000000000000000000000000000000000000000000000000000000000000000000ffffffffffffff80537472696e67733a20686578206c656e67746820696e73756666696369656e74095ea7b3000000000000000000000000000000000000000000000000000000008c1256b8896378cd5044f80c202f9772b9d77dc85c8a6eb51967210b09bfaa2859616b416461707465723a204e6f7468696e6720746f207265636f76657200005472616e73666572206661696c65642e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007c49741417c1469ee87423abf0802f2997faaf60fef73097f0f4ea346b39da7f" + ] +} \ No newline at end of file diff --git a/src/deployments/zksync/VelocoreAdapter.json b/src/deployments/zksync/VelocoreAdapter.json new file mode 100644 index 00000000..a46dcd59 --- /dev/null +++ b/src/deployments/zksync/VelocoreAdapter.json @@ -0,0 +1,787 @@ +{ + "address": "0x187eC2Ba52D825d9a02162716c28D7896D0197c5", + "abi": [ + { + "inputs": [ + { + "internalType": "string", + "name": "_name", + "type": "string" + }, + { + "internalType": "address", + "name": "_factory", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_swapGasEstimate", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "Recovered", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "previousAdminRole", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "newAdminRole", + "type": "bytes32" + } + ], + "name": "RoleAdminChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "RoleGranted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "RoleRevoked", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_adapter", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_newEstimate", + "type": "uint256" + } + ], + "name": "UpdatedGasEstimate", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_tokenFrom", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "_tokenTo", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_amountIn", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_amountOut", + "type": "uint256" + } + ], + "name": "YakAdapterSwap", + "type": "event" + }, + { + "inputs": [], + "name": "DEFAULT_ADMIN_ROLE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "MAINTAINER_ROLE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "addedMaintainer", + "type": "address" + } + ], + "name": "addMaintainer", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + } + ], + "name": "getRoleAdmin", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "grantRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "hasRole", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_amountIn", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_tokenIn", + "type": "address" + }, + { + "internalType": "address", + "name": "_tokenOut", + "type": "address" + } + ], + "name": "query", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "recoverAVAX", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_tokenAddress", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_tokenAmount", + "type": "uint256" + } + ], + "name": "recoverERC20", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "removedMaintainer", + "type": "address" + } + ], + "name": "removeMaintainer", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "renounceRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + } + ], + "name": "renounceRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_token", + "type": "address" + }, + { + "internalType": "address", + "name": "_spender", + "type": "address" + } + ], + "name": "revokeAllowance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "revokeRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_estimate", + "type": "uint256" + } + ], + "name": "setSwapGasEstimate", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_amountIn", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_amountOut", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_fromToken", + "type": "address" + }, + { + "internalType": "address", + "name": "_toToken", + "type": "address" + }, + { + "internalType": "address", + "name": "_to", + "type": "address" + } + ], + "name": "swap", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "swapGasEstimate", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "stateMutability": "payable", + "type": "receive" + } + ], + "transactionHash": "0xc6dc9f407c5a05efa9be89ea49128dd5605a6273e178c2618002e306fc8a6c30", + "receipt": { + "to": "0x0000000000000000000000000000000000008006", + "from": "0x1A267D3f9f5116dF6ae00A4aD698CdcF27b71920", + "contractAddress": "0x187eC2Ba52D825d9a02162716c28D7896D0197c5", + "transactionIndex": 2, + "gasUsed": "126371644", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0xdd16a47873d2f6a6abaebdcf28a89e6685bbcc0b4b24aa6643089a165c283812", + "transactionHash": "0xc6dc9f407c5a05efa9be89ea49128dd5605a6273e178c2618002e306fc8a6c30", + "logs": [ + { + "transactionIndex": 2, + "blockNumber": 2161293, + "transactionHash": "0xc6dc9f407c5a05efa9be89ea49128dd5605a6273e178c2618002e306fc8a6c30", + "address": "0x000000000000000000000000000000000000800A", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000001a267d3f9f5116df6ae00a4ad698cdcf27b71920", + "0x0000000000000000000000000000000000000000000000000000000000008001" + ], + "data": "0x00000000000000000000000000000000000000000000000000ab61d5fee6f780", + "logIndex": 14, + "blockHash": "0xdd16a47873d2f6a6abaebdcf28a89e6685bbcc0b4b24aa6643089a165c283812" + }, + { + "transactionIndex": 2, + "blockNumber": 2161293, + "transactionHash": "0xc6dc9f407c5a05efa9be89ea49128dd5605a6273e178c2618002e306fc8a6c30", + "address": "0x0000000000000000000000000000000000008008", + "topics": [ + "0x3a36e47291f4201faf137fab081d92295bce2d53be2c6ca68ba82c7faa9ce241", + "0x000000000000000000000000000000000000000000000000000000000000800e", + "0x71a569bae4473e114b71f8564029dcfdcee471be3831e10115d7fcc35e91afb0" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000005b42057b0000000000000000000005930100004100000001022001900000000001024019000005930320009c0000000000320435000000000101043b000000c001100210164516400000040f000016470001043000000000020004140000801002000039000005bb011001c7000000000110004c0000004001100210000000000010043500000000010280190000059302000041000000400100043d0000000000210435000005930310009c00000000010000190000024f0000c13d0000000003000019000000200000043f000000000001042d0000000000200435000000200010043f000000000101041a0000059901000041000000040010043f0000059801000041000000200300003900000044021000390000000002000019000016460001042e000000000606043b0000000402100039000005c2020000410000002402100039000000400200043d000000000651034f000000ff011001900000000001000416000000400010043f00000000004504351645163b0000040f000005960220019700000000001204350000000001030019000000010200003100000060011002100000059502000041000000000112019f000000000221004b000005c3011001c700000de90000613d000000030440021000000001030000310000000103300039000005930410009c00000000030280190000000003000414000000000121019f000000010120019000030000000103550000800d02000039000000c002300210000005930430009c0000000001026019000005950110009c000000000410004c00000595011001970000004101000039000000000232016f0000039c0000613d0000004002200210000010450000613d000000200430008c000005940310009c00000001020040390000000000650435000005b501000041000000000021041b000000000220004c0000000005000019000000000100003100000000030100190000000302000029000000000100041400000000040000190000000006000019000000000200a0190000006003300270000000000141019f00000000013101cf000000000131022f0000010003300089000000000121034f000000000434022f00000000043401cf00000000040204330000000502200210000005950220009c0000059502200197000000000221016f00000100044000890000000505500210000000000640004c000000000756004b00000001066000390000000000780435000000000707043b000000050760021000000005055002720000001f0450018f0000800202000039000005cb011001c70000000000100439000005bc011001c7000100000001001d00000deb0000213d164504910000040f00000000020704330000000303400210000000000340004c000000000523004b000000050530021000000005023002720000001f0430018f00000000019200190000001f01300039000100000003001f000000000474019f00000000044601cf000000000646022f000000000747022f00000000074701cf00000000070504330000000005590019000000000771034f0000000008790019000000000503401900000020050000390000059303300197000005930390009c00000004029000390000000000190435000000400900043d000005c6011001c70000000403000039000001000300008a000000000201041a000000000200041100000de90000c13d000005ca010000410000000402000029000006b00000613d000000000404043b00000064021000390000000205000029000100000002001d000015630000613d000014670000613d00000deb0000c13d000200000001001d000300000002001d000008cc0000613d000200000002001d000007be0000613d0000000002040019000000000103c019000000000100a019000000000420004c00000000030140190000059501000041000000240290003900000001011000390000000102000029000005930340009c00000000030240190000000001100031000000040100008a0000000201000029000000010100002900000000030500190000000002070019000000200320008c0000000002094019000000040010044300000000020080190000000003022019000000040110008a0000000000000435ffffffffffffffff000000000131019f000005c2010000410000000000130435000000000424004b00000032010000390000000002010433000000030600002900030000000000020000000003020433000005bf011001c700000000020440190000000001410049164504a20000040f000005b6011001c700000002011003670000000401000039000000000320004c0000000000430435000000400040043f00000000010104330000000d0200002900000a0c0000613d0000099a0000613d000005d6040000410000000401200039164504ba0000040f000000200120008a00000000023100490000001102100039000005d5020000410000003702400039000005d4030000410000002002400039000000400400043d16450f160000040f164516270000040f0000000101004039000000100130008c000000010420008c000000010220008a0000000405300270000000000446019f000000f804400210000005d00660019700000000060504330000000005120019000000000445022f000005d305000041000000f80440015f0000000f0430018f00000000040704330000002902000039000005d2033001c7000005d0033001970000002102700039000000020220008c000005d1022001c7000005d002200197000000020430008c000000000442034f000000000541001900000005043002100000000202200367000000000200003100000000011204360000002a010000390000006001200039000005cf0110009c000000000701001900000002070000290000000001090433000000040240008c000000030300002900000005030000290000000000020435000000000430004c000005bd0400004100000001022001bf0000000104000029000000000310004c000000010100003900000001055001900000000105004039000000040100002900000004030000290000000003310436000005940640009c000105930010019d0000006001100270000400000004001d000000000403401900000008060000290000000b05000029000000400330021000000000010480190000059304000041000005ce011001c7000005cd01000041000006b00000c13d000006b20000c13d000006b20000213d0000004402900039000005cc010000410000000605000029000000000202043b0000002803000039000005c503000041000005c40300004100000002030000390000002002000039000000200200008a0000000802000029000000200310008c0000000506600210000000000867004b00000001077000390000000000890435000000000808043b000000000983001900000005087002100000000007000019000000400300043d164504280000040f0004000000000002020000000000000000000001020000390000139d0000613d000012c40000613d000000200400008a000011140000613d00000003040000290000000301000029000300000007001d0000002a03000039000005de03000041000005dd03000041000005e3030000410000000d030000290000000000230435000000010200c039000000000210004c0000000002036019000000000300a019000000000520004c000000200420008c00000595030000410000000012010434000000000464019f00000000045401cf000000000454022f0000010005500089000000000656022f00000000065601cf000000000603043300000003055002100000000003630019000000000464034f000000000750004c000000000884034f00000005066002720000001f0560018f00000001060000310000000304000367000000000514004b0000000004410019000000000441016f0000003f0130003900000060010000390000059303100197000000010220015f00000000020904330000000b07000029000000000204c019000005950330009c000000000530004c00000595033001970000000004024019000400000001001d00000000030940190000000003040019000000040320008c0000000204000029000300000004001d000300000001001d0000059603200197000000000140004c0000048f0000213d000000000303043b0000003f0310008c0000001403000039000000000534004b0000002004400039000100000004001d000005b5050000410000000007060019000400000002001d164503e30000040f0000024f0000213d000000ae0000213d496e7375666669635361666545524332416363657373436f00000044000000000200000200000000496e76616c6964200000002000000000000000240000000000000000ffffffff0000000405000029000013870000613d00000002090000290000001e03000039000005e903000041000005e804000041000012c40000c13d000012960000613d000011d40000c13d000011ba0000613d000000c00330021000000000030440190000000003058019000005930630009c0000000001058019000005930610009c0000059305000041000000040520008c000000000400041400000044020000390000000202000029000011d40000613d00020000000000020000000206000029000005e60300004100000000040104330000000000240435000000000524004b00000cd60000613d000005930230009c000005930510009c000005930520009c000000400030043f00000080031000390000000000310435000000200210003900000000005204350000000a03000029000000000062043500000009030000290000000a0100002900000de90000213d0000000c0300002900000599011001c70000000c02000029000005da01000041000000000232004b0000002f03000039000005d903000041000005d803000041000000030700002900000001060000290000000003000411000200000007001d0000000609000029000600000009001d000000060400002900000004005004430000000109000029000100000009001d0000000400400443000006b00000213d000005960140009c00000000040904330000000409000029000400000009001d0000000002050019000000040250008c000500000003001d000000010300003900000596011001970000000000200439000005ca020000410000800502000039000005c9011001c700000024000004430000000001000412000005c801000041000300000005001d000006af0000613d0000001f022000390000000001120019000000200300008a00000000060604330000000004030433000005960430009c0000046e0000213d000005960320009c00000024022003700000040f0000213d000005960310009c000000040120037000000002020003670000001f0310008c000005c10300004100000022010000390000000005000410000005c004000041000000000120004c0000000602000029000000000423004b00000000030040190000000003020019000000050220027000000007060000290000000406000029000800000002001d000500000002001d000000800010043f000000010110018f000000000001043500000000020100190000000003030433000005960420009c0000000002020433000000000504043300000000080000190000000000260435000000000505043b000000000706043300000003022002100000000205000367000000400020043f000000ae0000c13d0000001f024000390000000004000031000000020100036700000593043001970001000000000002b74adaf81e1a596af3f4492b88ea658f06445aa2c7378dfec6d4a390b47ed4e4206661696c65642e5472616e7366657265636f7665720000696e6720746f207265723a204e6f746859616b41646170741967210b09bfaa28b9d77dc85c8a6eb55044f80c202f97728c1256b8896378cd095ea7b3000000006666696369656e7467746820696e737520686578206c656e537472696e67733affffffffffffff806e74206f75740000656e7420616d6f756c206661696c65646576656c2063616c303a206c6f772d6c756e742d6f75740069656e7420616d6f903f23200fb744fa05f7c6811838bce8972ac943c485a6cce2bdbc6b7225eb0a022c0d9f00000000ffffffffffffffdf6f6e20646964206e206f706572617469303a20455243323065640000000000006f74207375636365ffffffffffffff7fa9059cbb0000000070a082310000000072656e6f756e6365616e206f6e6c79206e74726f6c3a20636f722073656c660020726f6c657320660000000100000000eb21e047a839171bb53935d1edc7fd642a47ea670b442974f6391f5c32d9c69d2000000000000000696e6720726f6c65206973206d69737363636f756e7420006e74726f6c3a2061383961626364656630313233343536377800000000000000300000000000000000ffffffffffffffffffffffffffffa0f140a35a000000006801cc3000000000023a8d90e8508b8302500962caba6a1568e884a7374b41e01806aa1896bbf265ab882de59d99a32eff553aecb10793d015d089f94afb7896310ab089e4439a4c6e616d6500000000616461707465722000000084000000006e6f742061206d616c6c65722069732061626c653a2043614d61696e7461696e696e7461696e6572000000640000000008c379a0000000006d617465000000006761732d6573746959edf7d770e8d38ae778aa913b8c8cf4e6843a21bd7b48bcf43f23b7a28e6f8c0000000000000001304540a733656f0d7c78024a5027094082e926ec794901d12f8788117e7eff1d000000400000000000000020000000807965db0b0000000001ffc9a700000000ffffffff00000000b8aa80fe2126ab95cb0504652c81d4a12ace64958e37e18c339759585899103d0000000006fdde030000000001ffc9a70000000036568abe000000002f2ff15d00000000248a9ca300000000248a9ca20000000069cff80d000000004ebb79160000000084a33e63000000007ae26773000000006b453c1f000000006b453c1e000000004ebb7915000000008bb9c5bf000000008980f11f00000000d547741f00000000a217fddf0000000091d148540000000091d1485300000000eab90da600000000d8baf7cf00000000f874225400000000f2fde38b00000000ef99893a00000000ef99893900000000d8baf7ce000000008980f11e4e487b7100000000000000800000010000000002000000008000000000000000000016450000043200001643002104230000163e002104210000162a0000613d00000000010500190000161f0000c13d0000161f0000213d00000000015200190000005f01200039000016030000413d000000000463004b0000002003200039000000000401041a0000000003720019000000000203001900000001070000290000160e0000613d0000000305000029000000000360004c000016250000613d000200000006001d0000160e0000013d00000040020000390000000000140435000000000121016f000001000200008a000015ed0000c13d000000000330004c0000000004650436000000400500043d000016190000c13d000000000443004b000000010440018f00000001040020390000001f0460008c000000000605601900000000060400190000007f0540018f00000001041002700000000103100190000000000102041a0000000202000039000015960000213d000015890000a13d0000158f0000813d000015890000613d000015770000413d0000156f0000413d000015620000613d000015650000613d0000149a0000213d0000148d0000a13d000014930000813d0000148d0000613d0000147b0000413d000014730000413d000014660000c13d000014690000613d0000001003000039000005ea030000410000000000910435000013c60000613d000000000353019f00000000034301cf000000000343022f000000000545022f00000000054501cf00000000050104330000000001510019000000000353034f000013700000413d000000000773034f0000000008710019000013780000613d000000010500003100000003030003670000000001130436000013d70000c13d000013d70000213d0000000004430019000000000443016f0000003f031000390000059301100197000000010220018f000000000309001900008009020000390000004002300210000005930530009c0000135a0000013d0000000101000031000013460000c13d000013b40000613d000000000190004c0000139f0000613d000013040000613d000012af0000613d000012f30000c13d0000127f0000413d000012870000613d000012c60000c13d000012c60000213d000012680000013d000012540000c13d0000008004100039000012c60000813d000005e50410009c0000000000420435000005db020000410000002003100039000012e10000613d000000000130004c000012cc0000613d0000000001034019000000040130003900000028020000390000002401300039000005c5020000410000004401300039000005c4020000410000006401300039000012010000613d000011d30000613d000011f00000c13d000011a30000413d000011ab0000613d000011d60000c13d000011d60000213d000000000113019f00000060033002100000118c0000013d000011780000c13d0000008002300039000011d60000813d000005e50230009c00000044023000390000002404300039000005e7020000410000002001300039000011dc0000613d0000112b0000613d000011160000613d000010d70000613d000010c70000613d000010780000213d0000106b0000a13d000010710000813d0000106b0000613d000010590000413d000010510000413d000010440000613d00000ff30000c13d000010470000613d00000f5b0000813d000000100250008c00000f390000213d000000010640008c000000010440008a0000000402500270000000000227019f000000f802200210000005d0077001970000000006340019000000000226022f000005d306000041000000f80220015f0000000f0250018f00000f4f0000a13d000000000242004b000000000502001900000041040000390000000000540435000005d2055001c7000005d005500197000000210410003900000f4f0000413d000000020440008c000005d1044001c7000005d00440019700000f4f0000613d000000000440004c00000f210000413d000000030650008c00000001055000390000000000670435000000000664034f000000000763001900000005065002100000000204400367000000420300003900000f550000813d000005e50310009c00000f100000613d00000efb0000413d00000f020000613d00000ef10000613d00000edc0000413d00000ee30000613d00000ed20000613d00000ebd0000413d00000ec40000613d000000030330021000000eb30000613d00000e9e0000413d0000000104400039000000050540021000000ea50000613d00000005024002720000001f0340018f00000e940000613d00000e7f0000413d00000e860000613d00000e750000613d00000e600000413d00000e670000613d00000e560000613d00000e410000413d00000e480000613d0000001703000039000005e20300004100000011010000390000001602000039000005e4030000410000000705000029000005e1040000410000000303000039000000090200002900000e170000413d0000000603000029000000000242004900000e110000413d000000000342004b00000eb90000613d00000dae0000613d00000d970000413d00000d9f0000613d0000000c09000029000c00000009001d00000db20000013d00000d800000c13d0000000c010000290000000001820019000000000231016f0000001f0140003900000e9a0000613d000105930030019d0000000b08000029000b00000008001d0000000001038019000000000242019f00000060022002100000000002038019000000a402200039000000400440021000000000040840190000000004030019000005930480009c000005930300004100000d4c0000013d000000010400003100000d2f0000c13d000000040370008c0000000000030435000000000332001900000d2a0000a13d00000d1f0000413d00000000069400190000000005340019000000a40380003900000d2a0000613d00000084038000390000000809000029000000040280003900000024028000390000004402800039000000800300003900000064028000390000000000180435000005e001000041000000400800043d0000000400a004430000002001200039000005df0120009c00000e280000613d00000cef0000613d00000e000000c13d00000cbf0000413d00000cc70000613d0000000d040000290000000b0a0000290000000002060019000000c0022002100000000002034019000000000204801900000ca80000013d00000c920000c13d000b0000000a001d000000040460008c000005dc0310009c0000004403000039000a00000003001d000000000446004b0000000c040000290000000000a40435000005db05000041000000090500002900000df10000413d0000002404100039000000000223004b0000000003042019000000000a032019000000000a070019000000000324004b000000040400002900000ef70000613d00000c4d0000613d00000c360000413d00000c3e0000613d00000c530000013d00000c1f0000c13d000000040270008c000b00000007001d000000040070044300000c6c0000613d000000000270004c000005960270009c000000000709043300000e7b0000613d00000bdc0000613d00000bc50000413d00000bcd0000613d0000000b09000029000b00000009001d00000be10000013d00000bae0000c13d0000000b0400002900000ed80000613d00000b6e0000613d00000b570000413d00000b5f0000613d00000b730000013d00000b400000c13d0000000a02000029000000080300002900000b8c0000613d000005960110009c000a00000001001d00000e5c0000613d00000afa0000613d00000ae30000413d00000aeb0000613d0000000a09000029000a00000009001d00000aff0000013d00000acc0000c13d000800000003001d0000000702000029000b00000001001d000d00000002001d00000e3d0000613d00000a770000613d00000a600000413d00000a680000613d0000000d09000029000d00000009001d00000a7b0000013d00000a490000c13d00000596031001970000000d01000029000c00000001001d0000059601400197000900000001001d000600000002001d000700000003001d000d00000005001d000d00000000000200000a0b0000613d00000a0e0000c13d000009990000613d0000099c0000813d000005d70230009c000100000003001d0000059602300197000008ff0000213d000008f20000a13d000008f80000813d000008f20000613d000008e00000413d000008d80000413d000008cb0000613d000008ce0000613d000008410000613d000007f10000213d000007e40000a13d000007ea0000813d000007e40000613d000007d20000413d000007ca0000413d000007bd0000c13d000007c00000613d0000072e0000613d000007190000413d000007200000613d0000070f0000613d000006fa0000413d000007010000613d000006f00000613d000006db0000413d000006e20000613d000006d10000613d000006bc0000413d000006c30000613d0000000001032019000000000213004b0000000103000029000007150000613d0000068f0000613d000006780000413d000006800000613d000006930000013d000006610000c13d000600000004001d000006ac0000613d000006d70000613d0000061f0000613d000006080000413d000006100000613d000006230000013d000005f10000c13d0000000203000029000006f60000613d000005b10000613d0000059a0000413d000005a20000613d000005b60000013d000005830000c13d000005cf0000613d000006b80000613d0000053e0000613d000005270000413d0000052f0000613d000005430000013d000005100000c13d0000000502000029000200000003001d000600000001001d000400000003001d000000000450004c0000059601100198000000000123013f00000000050100190006000000000002000004c70000c13d000004c70000213d0000001f023000390000000002130019000004b50000a13d000000000234004b000004aa0000413d00000000062400190000000005140019000004b50000613d000000400110003900000000003404350000000004310436000004a10000a13d000000000245004b000004970000413d000000000645004b00000000007604350000000007070433000000000735001900000020055000390000000006250019000004a10000613d0000000001240019000005960650009c0000008405500370000005960640009c000000640450037000000044035003700000000401500370000000000201043b00000024015003700000048f0000613d0000009f0310008c00000044033003700000002402300370000000040130037000000002030003670000046e0000613d0000005f0310008c000004530000c13d000005b702100197000004530000613d00000004011003700000043d0000213d00000024021003700000043d0000613d000004260000213d000004260000613d0000040f0000613d000003f60000213d000005960210009c000003f60000613d000005c7030000410000000501000029000003d10000613d000003bc0000613d000000000017041b0000000101800210000000000212016f0000000002050433000000000121013f000000000112022f000000010200008a0000000301800210000003600000013d00000001028002100000000002620019000000000343013f000000000334022f000000010400008a000000f80330018f0000000303800210000003560000813d000000000383004b000003430000413d0000002002200039000000000051041b000000000505043300000000056200190000034b0000613d0000000003280170000003590000a13d0000001f0280008c000003370000413d000000000003041b0000033b0000813d00000000033100190000000002210019000000200380008c0000001f028000390000033b0000413d000000200240008c000000030800002900000004070000290000000000700435000400000007001d000300000008001d000200000005001d0000032a0000413d000000200110008c000000000184019f000003b60000c13d000000000112004b00000001010020390000001f0140008c000000000403601900000000040100190000007f0310018f00000001011002700000000102100190000000000107041a0000000207000039000003b00000813d000005be0180009c0000039e0000613d000000000180004c0000000058060434000002fe0000c13d000002aa0000c13d000700000001001d000600000003001d0008000000000002164508430000040f164513190000040f164512160000040f164504110000040f000005ba010000410000000101006039000005b90110009c0000000102006039000005b80210009c000005b7011001971645043f0000040f16450f6c0000040f164504cd0000040f164504550000040f1645113d0000040f164503f80000040f164507340000040f000000010100c039164510b80000040f164510c90000040f164513dd0000040f164508310000040f16450a230000040f164504700000040f000005a10110009c000002430000613d000005a00210009c000005ae0110009c000002280000613d000005ad0210009c1645093f0000040f000005a70110009c0000021c0000613d000005a60210009c164515d60000040f000005b40110009c0000020b0000613d000005b30210009c000005b5020000410000059f0110009c000001ff0000613d0000059e0210009c000001f10000613d0000059d0210009c000001720000a13d0000059c0210009c164510d90000040f000005ac0110009c000001e50000613d000005ab0210009c000001d90000613d000005aa0210009c000001530000a13d000005a90210009c164514da0000040f000005a50110009c000001c00000613d000005a40210009c000001ab0000613d000005a30210009c000001340000a13d000005a20210009c000000ed0000213d0000059b0210009c000005970100004100000120001004430000010000100443000000200100003900000160001004430000014000000443000000800100043d164502510000040f0000004003300039000000000004043500000000041700190000009b0000a13d000000000456004b000000900000413d000000000856004b000000000098043500000000090904330000000009460019000000000816001900000020066000390000009b0000613d000000000650004c000000000668004b000000000847001900000020075000390000000000510435000000400070043f0000000108800190000005940970009c0000000108004039000000000817004b0000000007710019000000000717016f0000003f07500039000005940750009c000000000550004c00000000050760190000000005080019000005950550009c000000000595013f0000000007008019000000000a95004b000005950960019700000595055001970000000008078019000000000865004b00000595070000410000001f0540003900000000043500190000000006430019000005940650009c0000000025030434000000000205c019000005950660009c000000000760004c00000595064001970000000005024019000000600540008c000000000272019f00000000022501cf000000000525022f0000010002200089000000000727022f00000000072701cf0000000006630019000000000565034f0000005a0000613d000000000720004c000000430000413d000000000885034f0000004b0000613d00000005064002720000001f0240018f000005940620009c000000000552004b0000000002350019000000000512016f000000200100008a000000a001000039164509b10000040f000005b20110009c0000019f0000613d000005b10210009c000001820000613d000005b00210009c0000010f0000a13d000005af0210009c000000ca0000213d000005a80210009c000000b40000213d0000059a0210009c000000e001100270000000aa0000413d000000040210008c00000080010000390000002b0000c13d000100000000001f000005930030019d00020000000103550003000000410355013e02130057005d0212057a057905780577004005760575002c00560574057302110006057205710570056f056e056d056c056b056a0569056805670016002b000d00160056013d05660001002800040003000e00230565002c002b000d00160210020f05640563013c0562056100550115056001890114020e020d055f020c055e055d013b013a0139055c0138013701360135055b055a0559013405580557020b020a05560555020905540553055205510208003405500055054f054e054d005c054c054b00540016054a054901880548054705460545054402070543054205410540053f053e053d053c053b053a00160206053901890538053700120536053502070534053301890532020e05310530052f052e052d0188052c052b005b052a0529052805270526052505240523052205210520020502040188051f0203051e051d051c051b051a05190113051805170023000d001600150023001f000f0049001e001d00090516051505140513051205110510050f050e0016002b000d00160056013d050d0001002800040003000e0023050c050b050a05090508050705060016002b000d001600b600b500340133001700b400480047005c004600310045000d001600d200d1000605050001002800040003000e00230504050305020501050004ff04fe0016002b000d001600b600b500340112001700b400480047005c004600310045000d0016001204fd0013001100140010000e00d0002304fc04fb04fa0016002b000d001600b600b500340112001700b400480047005c004600310045000d001604f902020012007800cf011100ce00110014001000b300cd004c0033003f002304f804f704f60016002b000d001600b600b500340133001700b400480047005c004600310045000d001600d200d1000604f50001002800040003000e002304f404f304f20016002b000d001600b600b500340112001700b400480047005c004600310045000d00160113001c00280030000100040003000e00d0002304f104f004ef0016002b000d0016005604ee04ed0001002800040003000e0023002b000d001600b600b500340133001700b400480047005c004600310045000d001600d200d1000604ec00280030000100040003000e00d00023002b000d00160056013d04eb0001002800040003000e0023002b000d00160056013d00a104ea00b204e9001c002a001504e800280030000100040003000e00d00023002b000d001600b600b500340112001700b400480047005c004600310045000d001600120201001100140010000e00d00023002b000d00160056018704e70001002800040003000e0023002b000d0016005604e604e50001002800040003000e0023002b000d0016005604e404e300280030000100040003000e00d00023002b000d00160056018704e20001002800040003000e0023002b000d0016005604e104e004df002204de04dd001504dc003f020001ff04db0023002b000d0016005604da04d90001002800040003000e0023002b000d001600b600b500340133001700b400480047005c004600310045000d001600d200d1000604d80001002800040003000e0023002b000d00160056018704d70001002800040003000e00230015000904d604d501fe04d400c100180001000a000400030007000c000b00080002004b000600990186002f01fd001a001b0001000a000400030007000c000b00080002004b0006001c002a04d300c100180001000a000400030007000c000b00080002004b00060132001a001b0001000a000400030007000c000b00080002004b000600980097004a0110005300120011003e0044003d003c0010000e00430035007700420096010f005501fc0185002e0040004b0052000f00180001000a000400030007000c000b00080002004b00060132001a001b0001000a000400030007000c000b00080002004b0006001c002a04d20052000f00180001000a000400030007000c000b00080002004b00060132001a001b0001000a000400030007000c000b00080002004b000600980097004a0110005300120011003e0044003d003c0010000e00430035007700420096010f018401fc0185002e0040004b01fb04d104d004cf04ce04cd04cc04cb04ca04c904c804c704c604c5001504c4020004c304c204c104c0001504bf018304be04bd04bc04bb0001000a00040003000700cc000b00080002004b000601fb04ba04b900a0011104b804b704b601fa04b501f901f8020f01fa04b404b301f704b204b1003b01f704b004af04ae013104ad013004ac0130005a04ab04aa04a904a800b10182018104a704a604a504a404a304a204a104a0049f0205004a00530113049e049d049c049b049a0499049804970496003504950052000f00180001000a000400030007000c000b00080002004b00060132001a001b0001000a000400030007000c000b00080002004b0006001c002a049401f601f5049301130053001200130011003e0044003d003c0010000e0043003500cc0042012f01f401f3002e0040004b049201ff001900150009001200210491000500270180000500260013002500200005001100140010000e00370009001f000f0049001e001d0009001f000f01f2001e001d00090012009f012e00050021012d00050027012c000500260013002500200005001100140010000e009500090012002101f1000500270180000500260013002500200005001100140010000e0037000900c0003401f0001700bf0048004700be004600310045000d049000d200d10006048f048e00190015000900c00034017f001700bf0048004700be004600310045000d048d01ef01ee000601ed01ec01eb012b01ea01ec00190015000900c00034017f001700bf0048004700be004600310045000d048c01ef01ee000601ed048b01eb012b00190015000900c00034017f001700bf0048004700be004600310045000d048a02110489012b01ea04880487000600190015000900c0003401f0001700bf0048004700be004600310045000d048600d200d1000604850036048400190015000900c000340483001700bf0048004700be004600310045000d0482048104800006047f012b020401e9047e017e01e801e900190015000900c00034047d001700bf0048004700be004600310045000d047c020c047b047a047900060478017e01e8017d0477009e0476017d047502090474017d001900150009005701e7017c04730472005504710470046f046e046d046c046b046a0469020100190020046800cb04670466010e0465005a04640182046301e600510181046204610460045f010d045e01e5004a01e4001901e301e5004a01e4003600220050004f045d0002045c002c0019001f000f0049001e001d0009045b045a04590458001501e2045701e2045601fe01e101e0007601df00bd01de0001000a00040003000701dd01dc00080002009d000601db01da01d9045500bd0001000a000400030007007500740008012a0002009d0006000d009d0094012900930128005901d80005009c017b00b0045400050453017b009201d7000501d60452003a0451001100140010009100bc004c0007003f003701d501d4000801d30057005d0090004e008f008e007300720450005b0071008d008c0070006f006e006d044f006c044e006b0029008b0039008a008900880024006a008700860085002d008400410002012a044d00830131018600690082003600220050004f012700020126002c00af003200bb001700ae006800ad00ac006700ab000d012501d201d101d0017c0015044c009b007601cf0001000a00040003000700750074018300080111012a0002009d0006000d009d00940124009300b00059010c00050092010b0005010a044b003a044a001100140010009100bc004c0007003f012300aa01ce000801cd0057005d0090004e008f008e007300720449005b0071008d008c0070006f006e006d0448006c0447006b0029008b0039008a008900880024006a008700860085002d008400410002012a04460083009c00690082003600220050004f012700020126002c00af003200bb001700ae006800ad00ac006700ab000d012501090078009b007601cc0001000a00040003000700750074000801cb0002009d0006000d009d00940129009300b00059044500050092010c00050128010d010a0444003a0443001100140010009100bc004c0007003f003700aa01ca000801c90057005d0090004e008f008e007300720442005b0071008d008c0070006f006e006d0441006c0440006b0029008b0039008a008900880024006a008700860085002d008400410002043f0083009c00690082003600220050004f012700020126002c00af003200bb001700ae006800ad00ac006700ab000d012501d201d101d0017c0015043e009b007601cf0001000a00040003000700750074043d000801cb0002009d0006000d009d00940124009300b00059010c00050092010b0005010a043c003a043b001100140010009100bc004c0007003f012300aa01ca000801c90057005d0090004e008f008e00730072043a005b0071008d008c0070006f006e006d0439006c0438006b0029008b0039008a008900880024006a008700860085002d00840041000204370083009c00690082003600220050004f012700020126002c00af003200bb001700ae006800ad00ac006700ab000d01250109043604350434001900150009001f000f0049001e001d00090081008004330017007f002900240051003b007e0432007d0431007c00660065006400630062000600610060005f005e00300001003200040003003300090081008004300017007f002900240051003b007e042f007d042e007c00660065006400630062000600610060005f005e003000010032000400030033000900810080042d0017007f002900240051003b007e042c007d042b007c00660065006400630062000600610060005f005e003000010032000400030033000900810080042a0017007f002900240051003b007e0429007d0428007c00660065006400630062000600610060005f005e003000010032000400030033000900ca017a0052000f00180001000a000400030007000c000b0008000200a9000600b1001c0078000f00180001000a000400030007000c000b0008000200a90006009900a8002f001a001b0001000a000400030007000c000b0008000200a90006001c002a04270052000f00180001000a000400030007000c000b0008000200a900060058002f00a1001a001b0001000a000400030007000c000b0008000200a90006001c002a04260052000f00180001000a000400030007000c000b0008000200a9000600b2001a001b0001000a000400030007000c000b0008000200a9000600980097004a0110005300120011003e0044003d003c0010000e00430035007700420096010f018400c90108002e004000a90019001500090012010701060425001f000f0049001e001d000900ba0105002c01040103010201010017010000ff00fe009e002d003b00fd0424007b0054042300c800fc00fb0013007b00fa0422001f000f00c7001e001d000900f900cb00f800f7000500f600a000b900f500c6042100f4003900f300f200f100f000ef00ee00ed00ec002d00eb00ea00e9042000e8001500e701c800e600b800e500e4017900e300e20005007800e100b7007a00e0001300df00b8007a010b00de00dd00c5003100dc00c4002800a8003000db005800cf017800ce00110014001000b300cd004c0033003f0009000f00180001000a000400030007000c000b00080002041f000600b1001c00190015000900ca017a0052000f00180001000a000400030007000c000b0008000200a7000600b1001c0078000f00180001000a000400030007000c000b0008000200a70006009900a8002f001a001b0001000a000400030007000c000b0008000200a70006001c002a041e0052000f00180001000a000400030007000c000b0008000200a700060058002f00a1001a001b0001000a000400030007000c000b0008000200a70006001c002a041d0052000f00180001000a000400030007000c000b0008000200a7000600b2001a001b0001000a000400030007000c000b0008000200a7000600980097004a005300120011003e0044003d003c0010000e0043003500770042009600da018400c90108002e004000a7001900150009001201070106041c001f000f0049001e001d000900ba0105002c01040103010201010017010000ff00fe009e002d003b00fd041b007b0054041a00c800fc00fb0013007b00fa0419001f000f00c7001e001d000900f900cb00f800f7000500f600a000b900f500c6041800f4003900f300f200f100f000ef00ee00ed00ec002d00eb00ea00e9041700e8001500e701c800e600b800e500e4017900e300e20005007800e100b7007a00e0001300df00b8007a010b00de00dd00c5003100dc00c4002800a8003000db005800cf017800ce00110014001000b300cd004c0033003f000900ca01c7041600a604150414041300a5000f00180001000a000400030007000c000b0008000200d900060058001a001b0001000a000400030007000c000b0008000200d90006001c002a041200b7000f00180001000a000400030007000c000b0008000200d900060058001a001b0001000a000400030007000c000b0008000200d9000600980097004a005300120011003e0044003d003c0010000e0043003500770042009600da00a001c601c5002e004000d90019001500090012009f01c40005002101c30005002701c2000500260013002500200005001100140010000e0095000900ca00a1002f01c700a601c1041100a5000f00180001000a000400030007000c000b0008000200d800060058001a001b0001000a000400030007000c000b0008000200d80006001c002a041000b7000f00180001000a000400030007000c000b0008000200d800060058001a001b0001000a000400030007000c000b0008000200d8000600980097004a005300120011003e0044003d003c0010000e0043003500770042009600da00a001c601c5002e004000d80019001500090012009f01c40005002101c30005002701c2000500260013002500200005001100140010000e00950009040f040e040d040c040b009b00760179040a040900bd0001000a000400030007007500740008000200380006000d0038009401c00093040804070092005901d7000501bf01770406003a04050122001401210091017601750120000700c301be0404000804030057005d0090004e008f008e007300720402005b0071008d008c0070006f006e006d0401006c0400006b0029008b0039008a008900880024006a008700860085002d00840041000203ff0083013103fe00690082003600220050004f0079000200a4002c00af003200bb001700ae006800ad00ac006700ab000d009a010900a501e0007601df00bd01de0001000a00040003000701dd01dc000800020038000601db01da01d903fd00bd0001000a000400030007007500740008011f000200380006000d00380094012900930128005901d8000500b001bd000503fc017b03fb0092000501d603fa003a03f9001100140010009100bc004c0007003f003701d503f8000803f70057005d0090004e008f008e0073007203f6005b0071008d008c0070006f006e006d03f5006c03f4006b0029008b0039008a008900880024006a008700860085002d008400410002011f03f3008300d700690082003600220050004f0079000200a4002c00af003200bb001700ae006800ad00ac006700ab000d009a010903f203f101bc01bb000d001503f0009b007601bb00bd0001000a000400030007007500740008011f000203ef00380006000d003800940124009300b000590005009201ba000503ee017703ed003a03ec0122001401210091017601750120000700c3012301d4000801d30057005d0090004e008f008e0073007203eb005b0071008d008c0070006f006e006d03ea006c03e9006b0029008b0039008a008900880024006a008700860085002d008400410002011f03e8008300d700690082003600220050004f0079000200a4002c00af003200bb001700ae006800ad00ac006700ab000d009a01090174009b007601cc0001000a00040003000700750074000803e70002011e00380006000d003800940129009300b0005901bd0005009201b90128010d010a03e6003a03e5001100140010009100bc004c0007003f003700aa03e4000803e30057005d0090004e008f008e0073007203e2005b0071008d008c0070006f006e006d03e1006c03e0006b0029008b0039008a008900880024006a008700860085002d008400410002011e03df008300d700690082003600220050004f0079000200a4002c0034003a004e005a017301720171005c0170016f0054009a03de03dd01bc03dc002203db009b007603da0001000a0004000300070075007403d90008016e011e000200380006000d003800940124009300b0005901b9009201ba000503d803d7003a03d6001100140010009100bc004c0007003f012300ba01ce000801cd0057005d0090004e008f008e0073007203d5005b0071008d008c0070006f006e006d03d4006c03d3006b0029008b0039008a008900880024006a008700860085002d008400410002011e016e03d2008300d700690082003600220050004f0079000200a4002c0034003a004e005a017301720171005c0170016f0054009a016d03d103d001b803cf03ce01f903cd01f603cc002103cb03ca03c901b701b603c801b703c703c603c5005a011d011c01f803c403c301b503c2007901b401b3003e03c103c003bf003a002203be012201b203bd004c00d601b101210033003f01b000aa03bc03bb003f03ba002e03b9016c0041011b011a016b016a010e01af016903b801680012016701660055011501190079011400a400d50118016501640163016203b7013b013a01390161013801370136013503b6016001af0134015f015e015d015c015b015a009e015901580157015600d4000203b5015500d303b401540153005a011d006801520151006700aa01500054009a00d6014f0022014e0036009a000d03b3002803b2007903b1002c01fd010d009b007603b00001000a000400030007007500740008016e000200380006000d003803af03ae03ad03ac005903ab000503aa010c000503a90117000503a801b8000503a7016d03a6014d00d303a503a4005a03a3018203a201e6005101ae03a100c603a0039f039e039d039c039b014c039a01e3014c004a03990398039703960395039401b2039303920391003c03900007003500ba038f002e038e0057005d038d0212014c00410002038c038b038a0389003600220050004f0079000200a4002c00af003200d3001700ae006800ad00ac006700ab000d009a009b0076038800bd0001000a000400030007007500740008000200380006000d0038009401c0009300920059010c000501bf01770387003a03860122001401210091017601750120000700c301be0385000803840057005d0090004e008f008e007300720383005b0071008d008c0070006f006e006d0382006c0381006b0029008b0039008a008900880024006a008700860085002d0084004100020380008300d700690082003600220050004f0079000200a4002c0034003a004e005a017301720171005c0170016f0054009a016d0178037f037e037d037c01c1037b01b60005037a00130011003e0044003d003c0010000e00430035000c004203790378037700c9002e00400038001900150009001f000f0049001e001d000903760005037501ad00260013002500200005001100140010000e0037000900120021014b00050026001300270020000500250005001100140010000e00370009001f000f0374001e001d000900210373000500270372000500260013002500200005001100140010000e003700090012009f014a000500210149000500270148000500260013002500200005001100140010000e009500090081008003710017007f002900240051003b007e0370007d036f007c00660065006400630062000600610060005f005e003000010032000400030033000900810080036e0017007f002900240051003b007e036d007d036c007c00660065006400630062000600610060005f005e003000010032000400030033000900810080036b0017007f002900240051003b007e036a007d0369007c00660065006400630062000600610060005f005e0030000100320004000300330009036803670366005a0365002900240051036401ae0363010e0362036100660065006400630062000600610060005f005e00300001003200040003003300090081008003600017007f002900240051003b007e035f007d035e007c00660065006400630062000600610060005f005e003000010032000400030033000900810080035d0017007f002900240051003b007e035c007d035b007c00660065006400630062000600610060005f005e003000010032000400030033000900810080035a0017007f002900240051003b007e0359007d0358007c00660065006400630062000600610060005f005e0030000100320004000300330009020200120357035601b401b30355011802100354005503530352035100240350034f034e034d01ac034c034b01e7034a034900d401ac03480347034602060345034403430342034100c80340033f033e020b033d033c033b033a020a03390338033702080336033503340333033203310019001f000f00c7001e001d0009001f000f0049001e001d00090012002101ab00050026001300270020000500250005001100140010000e00370009013e017a00c100180001000a000400030007000c000b00080002004d000600b1001c0078000f00180001000a000400030007000c000b00080002004d0006009900a8002f0186001a001b0001000a000400030007000c000b00080002004d0006001c002a033000c100180001000a000400030007000c000b00080002004d00060058002f00a1001a001b0001000a000400030007000c000b00080002004d0006001c002a032f00c100180001000a000400030007000c000b00080002004d000600b2001a001b0001000a000400030007000c000b00080002004d000600980097004a0110005300120011003e0044003d003c0010000e00430035007700420096010f005500c90108002e0040004d00c100180001000a000400030007000c000b00080002004d0006009c001a001b0001000a000400030007000c000b00080002004d0006001c002a032e00c100180001000a000400030007000c000b00080002004d0006009c001a001b0001000a000400030007000c000b00080002004d000600980097004a005300120011003e0044003d003c0010000e0043003500770042009600da005501aa0185002e0040004d001900150009001201070106032d001f000f0049001e001d000900ba0105002c01040103010201010017010000ff00fe009e002d003b00fd032c007b0054032b00c800fc00fb0013007b00fa032a001f000f00c7001e001d000900f900cb00f800f7000500f600a000b900f500c6032900f4003900f300f200f100f000ef00ee00ed00ec002d00eb00ea00e9032800e8001500e7014700e600b800e500e4011c00e300e2000500a500e10146007a00e0001300df00b7007a011700de00dd00c5003100dc00c4002800a6003000db009c00cf014500ce00110014001000b300cd004c0033003f0009002f001a001b0001000a000400030007000c000b0008000203270006001900150009000f00180001000a000400030007000c000b0008000203260006001900150009021300780052000f00180001000a000400030007000c000b00080002014400060099002f001a001b0001000a000400030007000c000b0008000201440006001c002a032500b201f5032401130053001200130011003e0044003d003c0010000e0043003500cc0042012f01f401f3002e004001440019001500090012009f012e00050021012d00050027012c000500260013002500200005001100140010000e009500090012002101f1000500270180000500260013002500200005001100140010000e0037000901a900a800780052000f00180001000a000400030007000c000b0008000201a800060099002f001a001b0001000a000400030007000c000b0008000201a8013c0006001c002a032303220321001301a7002f032001ad01a6014d031f010d031e031d031c020d01a500b2002f01a4031b003a0022031a01a301a201a1000e020301a0019f0319031800b300b9019e019d00c3002e016c0041011b011a016b016a010e019c01690143016800120167016600550115011903170114031600d5011801650164016301620315013b013a01390161013801370136013503140160019c0134015f015e015d015c015b015a009e015901580157015600d400020313015500d3031201540153005a011d006801520151006700aa01500054019b00d6014f0022014e0036019b000d0311001900150009001f000f0049001e001d00090310030f0013030e030d0013030c030b001300c400c5030a01300013000101b00309000e0095000900120021014b00050026001300270020000500250005001100140010000e003700090012009f014a000500210149000500270148000500260013002500200005001100140010000e0095000900ca00a600a50052000f00180001000a000400030007000c000b00080002014200060099002f00a1001a001b0001000a000400030007000c000b0008000201420006001c002a0308010b0307030600120021000503050304014d00270111030301a6001301a7002f03020301030000d501a501a402ff003a002202fe01a301a0019f012000d601a201a1003300c300b300b9019e019d00c3002e016c0041011b011a016b016a010e019a01690143016800120167016600550115011902fd011402fc00d50118016501640163016202fb013b013a01390161013801370136013502fa0160019a0134015f015e015d015c015b015a009e015901580157015600d4000202f9015500d302f801540153005a011d006801520151006700aa01500054019900d6014f0022014e00360199000d02f70012005800130011003e0044003d003c0010000e0043003500cc0042012f019800a0002e00400142001900150009001f000f0049001e001d00090012009f012e00050021012d00050027012c000500260013002500200005001100140010000e00950009001200210197000500270196000500260013002500200005001100140010000e0037000900120021014b00050026001300270020000500250005001100140010000e003700090012009f014a000500210149000500270148000500260013002500200005001100140010000e0095000901a900a50052000f00180001000a000400030007000c000b0008000201410006009900a1002f001a001b0001000a000400030007000c000b0008000201410006001c002a02f6019502f5011102f40059010a02f3014002f202f10011013c02f0003d01b10010000702ef0035007702ee02ed0055002e019502ec0041011b011a02eb0112019402ea014302e9013c02e8018100550115011902e7011402e600d502e502e402e30073007202e2005b007102e102e00070006f006e006d02df006c0194006b02de02dd003902dc02db02da017e006a02d902d802d701b50012005402d602d50011003e0044003d003c0010000e0043003500cc0042012f01980055002e004001410019001500090012009f012e00050021012d00050027012c000500260013002500200005001100140010000e00950009001200210197000500270196000500260013002500200005001100140010000e00370009002102d40005002702d3000500260013002500200005001100140010000e00370009001f000f0049001e001d0009013e00a60174000f00180001000a000400030007000c000b0008000200a3000600b1001c0078000f00180001000a000400030007000c000b0008000200a30006009900a8002f001a001b0001000a000400030007000c000b0008000200a30006001c002a02d20116000f00180001000a000400030007000c000b0008000200a300060058002f00a1001a001b0001000a000400030007000c000b0008000200a30006001c002a02d10116000f00180001000a000400030007000c000b0008000200a3000600b2001a001b0001000a000400030007000c000b0008000200a3000600980097004a0110005300120011003e0044003d003c0010000e00430035007700420096010f019300c90108002e004000a300190015000900120107010602d0001f000f0049001e001d000900ba0105002c01040103010201010017010000ff00fe009e002d003b00fd02cf007b005402ce00c800fc00fb0013007b00fa02cd001f000f00c7001e001d000900f900cb00f800f7000500f600a000b900f500c602cc00f4003900f300f200f100f000ef00ee00ed00ec002d00eb00ea00e902cb00e8001500e7014700e600b800e500e4011c00e300e2000500a500e10146007a00e0001300df00b7007a011700de00dd00c5003100dc00c4002800a6003000db009c00cf014500ce00110014001000b300cd004c0033003f0009013e00a60174000f00180001000a000400030007000c000b0008000200a2000600b1001c0078000f00180001000a000400030007000c000b0008000200a20006009900a8002f001a001b0001000a000400030007000c000b0008000200a20006001c002a02ca0116000f00180001000a000400030007000c000b0008000200a200060058002f00a1001a001b0001000a000400030007000c000b0008000200a20006001c002a02c90116000f00180001000a000400030007000c000b0008000200a2000600b2001a001b0001000a000400030007000c000b0008000200a2000600980097004a005300120011003e0044003d003c0010000e0043003500770042009600da019300c90108002e004000a200190015000900120107010602c8001f000f0049001e001d000900ba0105002c01040103010201010017010000ff00fe009e002d003b00fd02c7007b005402c600c800fc00fb0013007b00fa02c5001f000f00c7001e001d000900f900cb00f800f7000500f600a000b900f500c602c400f4003900f300f200f100f000ef00ee00ed00ec002d00eb00ea00e902c300e8001500e7014700e600b800e500e4011c00e300e2000500a500e10146007a00e0001300df00b7007a011700de00dd00c5003100dc00c4002800a6003000db009c00cf014500ce00110014001000b300cd004c0033003f000900ca02c202c102c002bf02be02bd02bc02bb005a02ba02b902b802b702b602b502b402b302b202b102b002af02ae018302ad01e1001a0001000a00040003000700cc000b0008000202ac013001aa02ab02aa02a90006001702a802a702a602a500d400b102a402a302a202a10131006902a0003600220050004f029f0002029e002c029d0019001f000f01f2001e001d0009001f000f0049001e001d000900150009000d029c00190012002101ab00050026001300270020000500250005001100140010000e00370009029b0140001900220019029a01400019002200190299002300090000000000000000000000000000019200000000000000c202980000000000000000019200c200c202970000029600000295000000000000000000000191000000000000000002940000000000000293000000000000029200000000000002910000000000000290000000000000028f000000000000028e000000000000028d000000000000028c000000000000028b000000000000028a0000000000000289000000000000028800000000000002870000000000000286000000000000028500000000000002840000000000000283000000000000028200000000000002810000000000000280000000000000027f000000000000027e000000000000027d000000000000027c000000000000027b000000000000027a027902780277027600000000019000000275000000000000027400000000000002730000000000000000000002720000013f000002710000013f0000000000000270026f026e026d00000000026c0000013f000001900000026b026a02690268018f026702660000026500000000000000000000026400000263000000000000026202610260025f00000000025e0000018f025d025c0000025b025a02590258018e0000018d00000257025602550254018e0000019100000253000000000000025200000000000000000000018d00000000000000000251025000c200c200c2024f000000000000024e000000000000024d024c00000000018c024b024a00000249024802470000024602450244024300000242000000000241024000000000018c023f023e023d023c000000000000023b000000000000000000000000023a0239023800000000018b02370236023500000000000002340233000000000000023202310230022f018a022e022d0000018b022c022b022a018a02290228000000000000000002270226022502240223022200000000000002210220021f021e021d021c021b021a021902180000000000000000000000000217021602150214000000000000000000000000000000000000000000000000000000000000", + "logIndex": 15, + "blockHash": "0xdd16a47873d2f6a6abaebdcf28a89e6685bbcc0b4b24aa6643089a165c283812" + }, + { + "transactionIndex": 2, + "blockNumber": 2161293, + "transactionHash": "0xc6dc9f407c5a05efa9be89ea49128dd5605a6273e178c2618002e306fc8a6c30", + "address": "0x0000000000000000000000000000000000008004", + "topics": [ + "0xc94722ff13eacf53547c4741dab5228353a05938ffcdd5d4a2d533ae0e618287", + "0x010005edcc64d829a4aa1136a5de6730b0cad492ee05c52f67fc698c88eeb26a", + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "data": "0x", + "logIndex": 16, + "blockHash": "0xdd16a47873d2f6a6abaebdcf28a89e6685bbcc0b4b24aa6643089a165c283812" + }, + { + "transactionIndex": 2, + "blockNumber": 2161293, + "transactionHash": "0xc6dc9f407c5a05efa9be89ea49128dd5605a6273e178c2618002e306fc8a6c30", + "address": "0x187eC2Ba52D825d9a02162716c28D7896D0197c5", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000001a267d3f9f5116df6ae00a4ad698cdcf27b71920", + "0x0000000000000000000000001a267d3f9f5116df6ae00a4ad698cdcf27b71920" + ], + "data": "0x", + "logIndex": 17, + "blockHash": "0xdd16a47873d2f6a6abaebdcf28a89e6685bbcc0b4b24aa6643089a165c283812" + }, + { + "transactionIndex": 2, + "blockNumber": 2161293, + "transactionHash": "0xc6dc9f407c5a05efa9be89ea49128dd5605a6273e178c2618002e306fc8a6c30", + "address": "0x187eC2Ba52D825d9a02162716c28D7896D0197c5", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0x339759585899103d2ace64958e37e18ccb0504652c81d4a1b8aa80fe2126ab95", + "0x0000000000000000000000001a267d3f9f5116df6ae00a4ad698cdcf27b71920", + "0x0000000000000000000000001a267d3f9f5116df6ae00a4ad698cdcf27b71920" + ], + "data": "0x", + "logIndex": 18, + "blockHash": "0xdd16a47873d2f6a6abaebdcf28a89e6685bbcc0b4b24aa6643089a165c283812" + }, + { + "transactionIndex": 2, + "blockNumber": 2161293, + "transactionHash": "0xc6dc9f407c5a05efa9be89ea49128dd5605a6273e178c2618002e306fc8a6c30", + "address": "0x187eC2Ba52D825d9a02162716c28D7896D0197c5", + "topics": [ + "0xf43f23b7a28e6f8ce6843a21bd7b48bce778aa913b8c8cf459edf7d770e8d38a", + "0x000000000000000000000000187ec2ba52d825d9a02162716c28d7896d0197c5" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000445c0", + "logIndex": 19, + "blockHash": "0xdd16a47873d2f6a6abaebdcf28a89e6685bbcc0b4b24aa6643089a165c283812" + }, + { + "transactionIndex": 2, + "blockNumber": 2161293, + "transactionHash": "0xc6dc9f407c5a05efa9be89ea49128dd5605a6273e178c2618002e306fc8a6c30", + "address": "0x0000000000000000000000000000000000008006", + "topics": [ + "0x290afdae231a3fc0bbae8b1af63698b0a1d79b21ad17df0342dfb952fe74f8e5", + "0x0000000000000000000000001a267d3f9f5116df6ae00a4ad698cdcf27b71920", + "0x010005edcc64d829a4aa1136a5de6730b0cad492ee05c52f67fc698c88eeb26a", + "0x000000000000000000000000187ec2ba52d825d9a02162716c28d7896d0197c5" + ], + "data": "0x", + "logIndex": 20, + "blockHash": "0xdd16a47873d2f6a6abaebdcf28a89e6685bbcc0b4b24aa6643089a165c283812" + }, + { + "transactionIndex": 2, + "blockNumber": 2161293, + "transactionHash": "0xc6dc9f407c5a05efa9be89ea49128dd5605a6273e178c2618002e306fc8a6c30", + "address": "0x000000000000000000000000000000000000800A", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000008001", + "0x0000000000000000000000001a267d3f9f5116df6ae00a4ad698cdcf27b71920" + ], + "data": "0x000000000000000000000000000000000000000000000000003b24403153a180", + "logIndex": 21, + "blockHash": "0xdd16a47873d2f6a6abaebdcf28a89e6685bbcc0b4b24aa6643089a165c283812" + } + ], + "blockNumber": 2161293, + "cumulativeGasUsed": "0", + "status": 1, + "byzantium": true + }, + "args": [ + "VelocoreAdapter", + "0xE140EaC2bB748c8F456719a457F26636617Bb0E9", + 280000 + ], + "numDeployments": 1, + "solcInputHash": "ba937bbd09cce40de1141f1bc2a91d0b", + "metadata": { + "optimizer_settings": "M3B3", + "solc_metadata": "{\"compiler\":{\"version\":\"0.8.4+commit.c7e474f2\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"_factory\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_swapGasEstimate\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Recovered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_adapter\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_newEstimate\",\"type\":\"uint256\"}],\"name\":\"UpdatedGasEstimate\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_tokenFrom\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_tokenTo\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amountIn\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amountOut\",\"type\":\"uint256\"}],\"name\":\"YakAdapterSwap\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MAINTAINER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"addedMaintainer\",\"type\":\"address\"}],\"name\":\"addMaintainer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amountIn\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_tokenIn\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_tokenOut\",\"type\":\"address\"}],\"name\":\"query\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"recoverAVAX\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_tokenAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenAmount\",\"type\":\"uint256\"}],\"name\":\"recoverERC20\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"removedMaintainer\",\"type\":\"address\"}],\"name\":\"removeMaintainer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_spender\",\"type\":\"address\"}],\"name\":\"revokeAllowance\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_estimate\",\"type\":\"uint256\"}],\"name\":\"setSwapGasEstimate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amountIn\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_amountOut\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_fromToken\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_toToken\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"}],\"name\":\"swap\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"swapGasEstimate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event.\"},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event.\"},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/contracts/adapters/VelocoreAdapter.sol\":\"VelocoreAdapter\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[],\"viaIR\":true},\"sources\":{\"@openzeppelin/contracts/access/AccessControl.sol\":{\"keccak256\":\"0x5b35d8e68aeaccc685239bd9dd79b9ba01a0357930f8a3307ab85511733d9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba8eb2d22f9321bd4660f6617c181d9611ff30a9b089408b8c6e2216d6d5cdc5\",\"dweb:/ipfs/QmTSJvhjHfnUV1j4hsqDv8PmLvGBLRs9gHLjTUXrUJ5Y9q\"]},\"@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a\",\"dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0xaf159a8b1923ad2a26d516089bceca9bdeaeacd04be50983ea00ba63070f08a3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f2cf1c531122bc7ca96b8c8db6a60deae60441e5223065e792553d4849b5638\",\"dweb:/ipfs/QmPBdJmBBABMDCfyDjCbdxgiqRavgiSL88SYPGibgbPas9\"]},\"@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"src/contracts/YakAdapter.sol\":{\"keccak256\":\"0x377c666774047a318fa2f7c6f82eccbe64343e18d26df56abfa991e5ea88361a\",\"license\":\"GPL-3.0-only\",\"urls\":[\"bzz-raw://97ff18d18e5a0a7b1fd2a6d484abd2831911bd68889c9b7506d18800e3ac7ba1\",\"dweb:/ipfs/QmdbTGqS9f6ugkrXKDGhKXvTiGvi1QhjFmrWo9TcDtrvL7\"]},\"src/contracts/adapters/VelocoreAdapter.sol\":{\"keccak256\":\"0x5967f32f616e9889e12267d4ff6f15ccd1ca273dbc6bf8e2638cc53fa46086c4\",\"license\":\"GPL-3.0-only\",\"urls\":[\"bzz-raw://a7c1737c6de514bd5d9e0070927dc768d727f7028b9e48a311419a9a836dfd4c\",\"dweb:/ipfs/Qmdhvn4HMfdx4b2oaJAaecdnvLHgtmyhtcm13X4PAQXY13\"]},\"src/contracts/interface/IERC20.sol\":{\"keccak256\":\"0x7b2d64b5cf6350bd5590f96eaea048fcf0182b50fc22f1075adeed1a98325932\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a46d7b05a39141be8f75a706b5525bd1d42f18c3acb20f71abe68bcc5b9513c\",\"dweb:/ipfs/QmYHYnVyVYoNp69BDmDwn4USKn5jFExzSRhXfEeQonz6C5\"]},\"src/contracts/lib/Maintainable.sol\":{\"keccak256\":\"0xcf17b3f89386f661ee6230c9774bc88a119f2385111279497bbb443209ad6bb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e0018ced83e9f5a9d7e51eff74e5bb4cb4ab56ef8cfe008a1d1b4c5623478baf\",\"dweb:/ipfs/QmUeaoPLux58rffKpD3jWkp7fZB1YFV4sDYm2985tB8pAZ\"]},\"src/contracts/lib/SafeERC20.sol\":{\"keccak256\":\"0x2d77601f615804eb7471002f23f9a4593f86ac295e7353c2e7545f51d4f81728\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://587682afca9226a1b032c66bcc536d191dc7d1cc91fee950278bad70d46b4fa1\",\"dweb:/ipfs/QmPC5y2N2gLAkpJgHmgwHdDH6d3oNPLFVqWCqUhiKNZJip\"]}},\"version\":1}", + "zk_version": "1.3.8" + }, + "bytecode": "0x0004000000000002000100000000000200000000030100190000006003300270000005930430019700030000004103550002000000010355000005930030019d000100000000001f00000001012001900000002b0000c13d0000008001000039000000400010043f0000000001000031000000040210008c000000aa0000413d0000000201000367000000000101043b000000e0011002700000059a0210009c000000b40000213d000005a80210009c000000ca0000213d000005af0210009c0000010f0000a13d000005b00210009c000001820000613d000005b10210009c0000019f0000613d000005b20110009c0000024f0000c13d0000000001000416000000000110004c0000024f0000c13d0000000001000031164504280000040f164509b10000040f0000059301000041000000400200043d000005930320009c00000000010240190000004001100210000016460001042e000000a001000039000000400010043f0000000001000416000000000110004c0000024f0000c13d00000000040000310000001f02400039000000200100008a000000000512016f000000400300043d0000000002350019000000000552004b00000000050000190000000105004039000005940620009c000000ae0000213d0000000105500190000000ae0000c13d000000400020043f0000001f0240018f000000020500036700000005064002720000004b0000613d000000000700001900000005087002100000000009830019000000000885034f000000000808043b00000000008904350000000107700039000000000867004b000000430000413d000000000720004c0000005a0000613d0000000506600210000000000565034f00000000066300190000000302200210000000000706043300000000072701cf000000000727022f000000000505043b0000010002200089000000000525022f00000000022501cf000000000272019f00000000002604350000059502000041000000600540008c000000000500001900000000050240190000059506400197000000000760004c000000000200a019000005950660009c000000000205c019000000000220004c0000024f0000c13d0000000025030434000005940650009c0000024f0000213d000000000643001900000000043500190000001f054000390000059507000041000000000865004b0000000008000019000000000807801900000595055001970000059509600197000000000a95004b0000000007008019000000000595013f000005950550009c00000000050800190000000005076019000000000550004c0000024f0000c13d0000000005040433000005940750009c000000ae0000213d0000003f07500039000000000717016f000000400100043d0000000007710019000000000817004b00000000080000190000000108004039000005940970009c000000ae0000213d0000000108800190000000ae0000c13d000000400070043f000000000051043500000020075000390000000008470019000000000668004b0000024f0000213d000000000650004c0000009b0000613d000000000600001900000020066000390000000008160019000000000946001900000000090904330000000000980435000000000856004b000000900000413d000000000456004b0000009b0000a13d000000000417001900000000000404350000000002020433000005960420009c0000024f0000213d00000040033000390000000003030433164502510000040f000000800100043d0000014000000443000001600010044300000020010000390000010000100443000000010100003900000120001004430000059701000041000016460001042e000000000110004c0000024f0000c13d0000000001000019000016460001042e000005980100004100000000001004350000004101000039000000040010043f000005990100004100001647000104300000059b0210009c000000ed0000213d000005a20210009c000001340000a13d000005a30210009c000001ab0000613d000005a40210009c000001c00000613d000005a50110009c0000024f0000c13d0000000001000416000000000110004c0000024f0000c13d0000000001000031164504280000040f164514da0000040f0000059301000041000000400200043d000005930320009c00000000010240190000004001100210000016460001042e000005a90210009c000001530000a13d000005aa0210009c000001d90000613d000005ab0210009c000001e50000613d000005ac0110009c0000024f0000c13d0000000001000416000000000110004c0000024f0000c13d000000040100008a00000000011000310000059502000041000000200310008c000000000300001900000000030240190000059501100197000000000410004c000000000200a019000005950110009c00000000010300190000000001026019000000000110004c0000024f0000c13d00000004010000390000000201100367000000000101043b164510d90000040f0000059301000041000000400200043d000005930320009c00000000010240190000004001100210000016460001042e0000059c0210009c000001720000a13d0000059d0210009c000001f10000613d0000059e0210009c000001ff0000613d0000059f0110009c0000024f0000c13d0000000001000416000000000110004c0000024f0000c13d000000040100008a00000000011000310000059502000041000000000310004c000000000300001900000000030240190000059501100197000000000410004c000000000200a019000005950110009c00000000010300190000000001026019000000000110004c0000024f0000c13d000000400100043d000005b50200004100000000002104350000059302000041000005930310009c00000000010280190000004001100210000005b6011001c7000016460001042e000005b30210009c0000020b0000613d000005b40110009c0000024f0000c13d0000000001000416000000000110004c0000024f0000c13d000000040100008a00000000011000310000059502000041000000000310004c000000000300001900000000030240190000059501100197000000000410004c000000000200a019000005950110009c00000000010300190000000001026019000000000110004c0000024f0000c13d164515d60000040f0000000002010019000000400100043d000100000001001d164504a20000040f000000010400002900000000014100490000059302000041000005930310009c0000000001028019000005930340009c000000000204401900000040022002100000006001100210000000000121019f000016460001042e000005a60210009c0000021c0000613d000005a70110009c0000024f0000c13d0000000001000416000000000110004c0000024f0000c13d000000040100008a00000000011000310000059502000041000000200310008c000000000300001900000000030240190000059501100197000000000410004c000000000200a019000005950110009c00000000010300190000000001026019000000000110004c0000024f0000c13d00000004010000390000000201100367000000000101043b1645093f0000040f0000059301000041000000400200043d000005930320009c00000000010240190000004001100210000016460001042e000005ad0210009c000002280000613d000005ae0110009c0000024f0000c13d0000000001000416000000000110004c0000024f0000c13d000000040100008a00000000011000310000059502000041000000000310004c000000000300001900000000030240190000059501100197000000000410004c000000000200a019000005950110009c00000000010300190000000001026019000000000110004c0000024f0000c13d0000000101000039000000000101041a000000400200043d00000000001204350000059301000041000005930320009c00000000010240190000004001100210000005b6011001c7000016460001042e000005a00210009c000002430000613d000005a10110009c0000024f0000c13d0000000001000416000000000110004c0000024f0000c13d0000000001000031164504700000040f16450a230000040f0000059301000041000000400200043d000005930320009c00000000010240190000004001100210000016460001042e0000000001000416000000000110004c0000024f0000c13d000000040100008a00000000011000310000059502000041000000200310008c000000000300001900000000030240190000059501100197000000000410004c000000000200a019000005950110009c00000000010300190000000001026019000000000110004c0000024f0000c13d00000004010000390000000201100367000000000101043b164508310000040f000000400200043d00000000001204350000059301000041000005930320009c00000000010240190000004001100210000005b6011001c7000016460001042e0000000001000416000000000110004c0000024f0000c13d0000000001000031164504280000040f164513dd0000040f0000059301000041000000400200043d000005930320009c00000000010240190000004001100210000016460001042e0000000001000416000000000110004c0000024f0000c13d0000000001000031164504280000040f000100000002001d164510c90000040f0000000102000029164510b80000040f000000000101041a000000ff011001900000000001000019000000010100c039000000400200043d00000000001204350000059301000041000005930320009c00000000010240190000004001100210000005b6011001c7000016460001042e0000000001000416000000000110004c0000024f0000c13d000000040100008a00000000011000310000059502000041000000000310004c000000000300001900000000030240190000059501100197000000000410004c000000000200a019000005950110009c00000000010300190000000001026019000000000110004c0000024f0000c13d000000400100043d00000000000104350000059302000041000005930310009c00000000010280190000004001100210000005b6011001c7000016460001042e0000000001000416000000000110004c0000024f0000c13d0000000001000031164503e30000040f164507340000040f0000059301000041000000400200043d000005930320009c00000000010240190000004001100210000016460001042e0000000001000416000000000110004c0000024f0000c13d0000000001000031164503f80000040f1645113d0000040f0000059301000041000000400200043d000005930320009c00000000010240190000004001100210000016460001042e0000000001000416000000000110004c0000024f0000c13d0000000001000031164504550000040f164504cd0000040f000000400200043d00000000001204350000059301000041000005930320009c00000000010240190000004001100210000005b6011001c7000016460001042e0000000001000416000000000110004c0000024f0000c13d0000000001000031164503e30000040f16450f6c0000040f0000059301000041000000400200043d000005930320009c00000000010240190000004001100210000016460001042e0000000001000416000000000110004c0000024f0000c13d00000000010000311645043f0000040f000005b701100197000005b80210009c00000000020000190000000102006039000005b90110009c00000000010000190000000101006039000000000121019f000000010110018f000000800010043f000005ba01000041000016460001042e0000000001000416000000000110004c0000024f0000c13d0000000001000031164504110000040f164512160000040f0000059301000041000000400200043d000005930320009c00000000010240190000004001100210000016460001042e0000000001000416000000000110004c0000024f0000c13d000000040100008a00000000011000310000059502000041000000200310008c000000000300001900000000030240190000059501100197000000000410004c000000000200a019000005950110009c00000000010300190000000001026019000000000110004c0000024f0000c13d00000004010000390000000201100367000000000101043b164513190000040f0000059301000041000000400200043d000005930320009c00000000010240190000004001100210000016460001042e0000000001000416000000000110004c0000024f0000c13d0000000001000031164503e30000040f164508430000040f0000059301000041000000400200043d000005930320009c00000000010240190000004001100210000016460001042e000000000100001900001647000104300008000000000002000600000003001d000500000002001d000700000001001d0000000000000435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f00000001022001900000039c0000613d000000000101043b0000000002000411000400000002001d0000059602200197000800000002001d0000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f00000001022001900000039c0000613d000000000101043b000000000101041a000000ff01100190000002aa0000c13d0000000000000435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f00000001022001900000039c0000613d000000000101043b00000008020000290000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f00000001022001900000039c0000613d000000000101043b000000000201041a000001000300008a000000000232016f00000001022001bf000000000021041b000000400100043d00000593020000410000000003000414000005930430009c0000000003028019000005930410009c00000000010280190000004001100210000000c002300210000000000112019f000005bc011001c70000800d020000390000000403000039000005bd040000410000000005000019000000040600002900000000070600191645163b0000040f00000001012001900000039c0000613d000005b5010000410000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f00000001022001900000039c0000613d000000000101043b00000008020000290000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f00000001022001900000039c0000613d000000000101043b000000000101041a000000ff01100190000002fe0000c13d000005b5010000410000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f00000001022001900000039c0000613d000000000101043b00000008020000290000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f00000001022001900000039c0000613d000000000101043b000000000201041a000001000300008a000000000232016f00000001022001bf000000000021041b000000400100043d00000593020000410000000003000414000005930430009c0000000003028019000005930410009c00000000010280190000004001100210000000c002300210000000000112019f000005bc011001c70000800d020000390000000403000039000005bd04000041000005b505000041000000040600002900000000070600191645163b0000040f00000001012001900000039c0000613d00000007060000290000000058060434000000000180004c0000039e0000613d000005be0180009c000003b00000813d0000000207000039000000000107041a000000010210019000000001011002700000007f0310018f000000000401001900000000040360190000001f0140008c00000000010000190000000101002039000000010110018f000000000112004b000003b60000c13d000000000184019f000000200110008c00000000010000190000032a0000413d000100000004001d000200000005001d000300000008001d000400000007001d000000000070043500000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bf011001c70000801002000039164516400000040f00000001022001900000039c0000613d000000000101043b00000007060000290000000407000029000000030800002900000002050000290000000104000029000000200240008c0000033b0000413d0000001f028000390000000502200270000000200380008c000000000302001900000000030040190000001f02400039000000050220027000000000022100190000000003310019000000000423004b0000033b0000813d000000000003041b0000000103300039000000000423004b000003370000413d0000001f0280008c000003590000a13d000000200200008a000000000328017000000020020000390000034b0000613d0000002002000039000000000400001900000000056200190000000005050433000000000051041b000000200220003900000001011000390000002004400039000000000534004b000003430000413d000000000383004b000003560000813d0000000303800210000000f80330018f000000010400008a000000000334022f000000000343013f00000000026200190000000002020433000000000232016f000000000021041b00000001010000390000000102800210000003600000013d0000000301800210000000010200008a000000000112022f000000000121013f0000000002050433000000000212016f0000000101800210000000000112019f000000000017041b000005b5010000410000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f00000001022001900000039c0000613d000000000101043b00000008020000290000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f00000001022001900000039c0000613d000000000101043b000000000101041a000000ff01100190000003bc0000613d0000000602000029000000000120004c000003d10000613d0000000101000039000000000021041b000000400100043d000000000021043500000593020000410000000003000414000005930430009c0000000003028019000005930410009c00000000010280190000004001100210000000c002300210000000000112019f000005bf011001c70000800d020000390000000203000039000005c00400004100000000050004101645163b0000040f00000001012001900000039c0000613d0000000501000029000000800010043f000000000001042d00000000010000190000164700010430000000400100043d0000004402100039000005c7030000410000000000320435000000240210003900000014030000390000000000320435000005c20200004100000000002104350000000402100039000000200300003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c3011001c70000164700010430000005980100004100000000001004350000004101000039000000040010043f00000599010000410000164700010430000005980100004100000000001004350000002201000039000000040010043f00000599010000410000164700010430000000400100043d0000006402100039000005c40300004100000000003204350000004402100039000005c5030000410000000000320435000000240210003900000028030000390000000000320435000005c20200004100000000002104350000000402100039000000200300003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c6011001c70000164700010430000000400100043d0000004402100039000005c1030000410000000000320435000000240210003900000014030000390000000000320435000005c20200004100000000002104350000000402100039000000200300003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c3011001c70000164700010430000000040110008a00000595020000410000001f0310008c000000000300001900000000030220190000059501100197000000000410004c0000000002008019000005950110009c00000000010300190000000001026019000000000110004c000003f60000613d00000004010000390000000201100367000000000101043b000005960210009c000003f60000213d000000000001042d00000000010000190000164700010430000000040110008a00000595020000410000003f0310008c000000000300001900000000030220190000059501100197000000000410004c0000000002008019000005950110009c00000000010300190000000001026019000000000110004c0000040f0000613d00000002020003670000000401200370000000000101043b000005960310009c0000040f0000213d0000002402200370000000000202043b000005960320009c0000040f0000213d000000000001042d00000000010000190000164700010430000000040110008a00000595020000410000003f0310008c000000000300001900000000030220190000059501100197000000000410004c0000000002008019000005950110009c00000000010300190000000001026019000000000110004c000004260000613d00000002020003670000000401200370000000000101043b000005960310009c000004260000213d0000002402200370000000000202043b000000000001042d00000000010000190000164700010430000000040110008a00000595020000410000003f0310008c000000000300001900000000030220190000059501100197000000000410004c0000000002008019000005950110009c00000000010300190000000001026019000000000110004c0000043d0000613d00000002010003670000002402100370000000000202043b000005960320009c0000043d0000213d0000000401100370000000000101043b000000000001042d00000000010000190000164700010430000000040110008a00000595020000410000001f0310008c000000000300001900000000030220190000059501100197000000000410004c0000000002008019000005950110009c00000000010300190000000001026019000000000110004c000004530000613d00000004010000390000000201100367000000000101043b000005b702100197000000000221004b000004530000c13d000000000001042d00000000010000190000164700010430000000040110008a00000595020000410000005f0310008c000000000300001900000000030220190000059501100197000000000410004c0000000002008019000005950110009c00000000010300190000000001026019000000000110004c0000046e0000613d00000002030003670000000401300370000000000101043b0000002402300370000000000202043b000005960420009c0000046e0000213d0000004403300370000000000303043b000005960430009c0000046e0000213d000000000001042d00000000010000190000164700010430000000040110008a00000595020000410000009f0310008c000000000300001900000000030220190000059501100197000000000410004c0000000002008019000005950110009c00000000010300190000000001026019000000000110004c0000048f0000613d00000002050003670000002401500370000000000201043b0000000401500370000000000101043b0000004403500370000000000303043b000005960430009c0000048f0000213d0000006404500370000000000404043b000005960640009c0000048f0000213d0000008405500370000000000505043b000005960650009c0000048f0000213d000000000001042d0000000001000019000016470001043000000000030100190000000004030433000000000140004c0000000001240019000004a10000613d000000000500001900000000062500190000002005500039000000000735001900000000070704330000000000760435000000000645004b000004970000413d000000000245004b000004a10000a13d0000000000010435000000000001042d00000020030000390000000004310436000000000302043300000000003404350000004001100039000000000430004c000004b50000613d000000000400001900000000051400190000002004400039000000000624001900000000060604330000000000650435000000000534004b000004aa0000413d000000000234004b000004b50000a13d000000000213001900000000000204350000001f02300039000000200300008a000000000232016f0000000001120019000000000001042d0000001f02200039000000200300008a000000000232016f0000000001120019000000000221004b00000000020000190000000102004039000005940310009c000004c70000213d0000000102200190000004c70000c13d000000400010043f000000000001042d000005980100004100000000001004350000004101000039000000040010043f0000059901000041000016470001043000060000000000020000000005010019000000000123013f00000596011001980000000001000019000006af0000613d000000000450004c000006af0000613d000400000003001d000500000002001d000300000005001d000005c801000041000000000010043900000000010004120000000400100443000000240000044300000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005c9011001c70000800502000039164516400000040f0000000102200190000006b00000613d000000000101043b000005ca0200004100000000002004390000059601100197000600000001001d000000040010044300000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005cb011001c70000800202000039164516400000040f00000006050000290000000102200190000006b00000613d000000000101043b000000000110004c000006b00000613d000000400900043d000005cc0100004100000000001904350000004402900039000000000100041400000001030000390000000000320435000000040200002900000596032001970000002402900039000200000003001d0000000000320435000000050200002900000596032001970000000402900039000500000003001d0000000000320435000000040250008c000005100000c13d0000000103000031000005430000013d0000059302000041000005930310009c0000000001028019000005930390009c00000000020940190000004002200210000000c001100210000000000121019f000005c3011001c70000000002050019000400000009001d164516400000040f0000000409000029000000000301001900000060033002700000059303300197000000200430008c000000200500003900000000050340190000001f0450018f00000005055002720000052f0000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b000005270000413d000000000640004c0000053e0000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f000300000001035500000001022001900000000605000029000006b80000613d0000001f01300039000000200200008a000400000002001d000000000221016f0000000001920019000000000221004b00000000020000190000000102004039000005940310009c000006b20000213d0000000102200190000006b20000c13d000000400010043f00000595010000410000000102000031000000200320008c000000000300001900000000030140190000059502200197000000000420004c000000000100a019000005950220009c000000000103c019000000000110004c000006b00000c13d0000000004090433000005960140009c000006b00000213d000000000140004c0000000001000019000005cf0000613d000005ca010000410000000000100439000000040040044300000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005cb011001c70000800202000039000100000004001d164516400000040f000000010400002900000006050000290000000102200190000006b00000613d000000000101043b000000000110004c000006b00000613d000000400900043d000005cd0100004100000000001904350000002402900039000000000100041400000005030000290000000000320435000000040290003900000003030000290000000000320435000000040240008c000005830000c13d0000000103000031000005b60000013d0000059302000041000005930310009c0000000001028019000005930390009c00000000020940190000004002200210000000c001100210000000000121019f000005ce011001c70000000002040019000100000009001d164516400000040f0000000109000029000000000301001900000060033002700000059303300197000000200430008c000000200500003900000000050340190000001f0450018f0000000505500272000005a20000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b0000059a0000413d000000000640004c000005b10000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f000300000001035500000001022001900000000605000029000006f60000613d0000001f013000390000000402000029000000000221016f0000000001920019000000000221004b00000000020000190000000102004039000005940310009c000006b20000213d0000000102200190000006b20000c13d000000400010043f00000595010000410000000102000031000000200320008c000000000300001900000000030140190000059502200197000000000420004c000000000100a019000005950220009c000000000103c019000000000110004c000006b00000c13d0000000001090433000100000001001d000005ca010000410000000000100439000000040050044300000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005cb011001c70000800202000039164516400000040f00000006040000290000000102200190000006b00000613d000000000101043b000000000110004c000006b00000613d000000400900043d000005cc010000410000000000190435000000240290003900000000010004140000000203000029000000000032043500000004029000390000000503000029000000000032043500000044029000390000000000020435000000040240008c000005f10000c13d0000000103000031000006230000013d0000059302000041000005930310009c0000000001028019000005930390009c00000000020940190000004002200210000000c001100210000000000121019f000005c3011001c70000000002040019000600000009001d164516400000040f0000000609000029000000000301001900000060033002700000059303300197000000200430008c000000200500003900000000050340190000001f0450018f0000000505500272000006100000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b000006080000413d000000000640004c0000061f0000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f00030000000103550000000102200190000006d70000613d0000001f013000390000000402000029000000000221016f0000000001920019000000000221004b00000000020000190000000102004039000005940310009c000006b20000213d0000000102200190000006b20000c13d000000400010043f00000595010000410000000102000031000000200320008c000000000300001900000000030140190000059502200197000000000420004c000000000100a019000005950220009c000000000103c019000000000110004c000006b00000c13d0000000004090433000005960140009c000006b00000213d000000000140004c0000000001000019000006ac0000613d000005ca010000410000000000100439000000040040044300000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005cb011001c70000800202000039000600000004001d164516400000040f00000006040000290000000102200190000006b00000613d000000000101043b000000000110004c000006b00000613d000000400900043d000005cd0100004100000000001904350000002402900039000000000100041400000005030000290000000000320435000000040290003900000003030000290000000000320435000000040240008c000006610000c13d0000000103000031000006930000013d0000059302000041000005930310009c0000000001028019000005930390009c00000000020940190000004002200210000000c001100210000000000121019f000005ce011001c70000000002040019000600000009001d164516400000040f0000000609000029000000000301001900000060033002700000059303300197000000200430008c000000200500003900000000050340190000001f0450018f0000000505500272000006800000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b000006780000413d000000000640004c0000068f0000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f00030000000103550000000102200190000007150000613d0000001f013000390000000402000029000000000221016f0000000001920019000000000221004b00000000020000190000000102004039000005940310009c000006b20000213d0000000102200190000006b20000c13d000000400010043f00000595010000410000000102000031000000200320008c000000000300001900000000030140190000059502200197000000000420004c000000000100a019000005950220009c000000000103c019000000000110004c000006b00000c13d00000000010904330000000103000029000000000213004b0000000001032019000000000001042d00000000010000190000164700010430000005980100004100000000001004350000004101000039000000040010043f000005990100004100001647000104300000001f0430018f0000000502300272000006c30000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b000006bc0000413d000000000340004c000006d10000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000593010000410000000102000031000005930320009c0000000001024019000000600110021000001647000104300000001f0430018f0000000502300272000006e20000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b000006db0000413d000000000340004c000006f00000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000593010000410000000102000031000005930320009c0000000001024019000000600110021000001647000104300000001f0430018f0000000502300272000007010000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b000006fa0000413d000000000340004c0000070f0000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000593010000410000000102000031000005930320009c0000000001024019000000600110021000001647000104300000001f0430018f0000000502300272000007200000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b000007190000413d000000000340004c0000072e0000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000593010000410000000102000031000005930320009c0000000001024019000000600110021000001647000104300003000000000002000300000001001d000005b5010000410000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000007be0000613d000000000101043b0000000101100039000000000101041a000100000001001d0000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000007be0000613d000000000101043b0000000002000411000200000002001d00000596022001970000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000007be0000613d000000000101043b000000000101041a000000ff01100190000007c00000613d000005b5010000410000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000007be0000613d000000000101043b00000003020000290000059602200197000100000002001d0000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000007be0000613d000000000101043b000000000101041a000000ff01100190000007bd0000c13d000005b5010000410000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000007be0000613d000000000101043b00000001020000290000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000007be0000613d000000000101043b000000000201041a000001000300008a000000000232016f00000001022001bf000000000021041b000000400100043d00000593020000410000000003000414000005930430009c0000000003028019000005930410009c00000000010280190000004001100210000000c002300210000000000112019f000005bc011001c70000800d020000390000000403000039000005bd04000041000005b505000041000000030600002900000002070000291645163b0000040f0000000101200190000007be0000613d000000000001042d00000000010000190000164700010430000000400100043d0000000007010019000005cf0110009c000007ca0000413d000005980100004100000000001004350000004101000039000000040010043f0000059901000041000016470001043000000000020700190000006001200039000000400010043f0000002a01000039000000000112043600000000020000310000000202200367000000000300001900000005043002100000000005410019000000000442034f000000000404043b00000000004504350000000103300039000000020430008c000007d20000413d0000000002070433000000000220004c000007e40000613d0000000002010433000005d002200197000005d1022001c700000000002104350000000002070433000000020220008c000007ea0000813d000005980100004100000000001004350000003201000039000000040010043f0000059901000041000016470001043000000021027000390000000003020433000005d003300197000005d2033001c700000000003204350000002902000039000000020500002900000000030500190000000004070433000000000424004b000007e40000a13d0000000f0430018f0000000304400210000000f80440015f000005d305000041000000000445022f00000000051200190000000006050433000005d006600197000000f804400210000000000446019f00000000004504350000000405300270000000010220008a000000010420008c000007f10000213d000000100130008c00000000010000190000000101004039000200000007001d164516270000040f000000010100002916450f160000040f000000400400043d000300000004001d0000002002400039000005d4030000410000000000320435000100000001001d00000037024000390000000201000029164504910000040f000005d502000041000000000021043500000011021000390000000101000029164504910000040f00000003030000290000000002310049000000200120008a00000000001304350000000001030019164504ba0000040f000005c201000041000000400200043d000200000002001d000000000012043500000004012000390000000302000029164504a20000040f000000020400002900000000014100490000059302000041000005930310009c0000000001028019000005930340009c000000000204401900000040022002100000006001100210000000000121019f00001647000104300000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000008410000613d000000000101043b0000000101100039000000000101041a000000000001042d000000000100001900001647000104300003000000000002000300000001001d000005b5010000410000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000008cc0000613d000000000101043b0000000101100039000000000101041a000100000001001d0000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000008cc0000613d000000000101043b0000000002000411000200000002001d00000596022001970000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000008cc0000613d000000000101043b000000000101041a000000ff01100190000008ce0000613d000005b5010000410000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000008cc0000613d000000000101043b00000003020000290000059602200197000100000002001d0000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000008cc0000613d000000000101043b000000000101041a000000ff01100190000008cb0000613d000005b5010000410000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000008cc0000613d000000000101043b00000001020000290000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000008cc0000613d000000000101043b000000000201041a000001000300008a000000000232016f000000000021041b000000400100043d00000593020000410000000003000414000005930430009c0000000003028019000005930410009c00000000010280190000004001100210000000c002300210000000000112019f000005bc011001c70000800d020000390000000403000039000005d604000041000005b505000041000000030600002900000002070000291645163b0000040f0000000101200190000008cc0000613d000000000001042d00000000010000190000164700010430000000400100043d0000000007010019000005cf0110009c000008d80000413d000005980100004100000000001004350000004101000039000000040010043f0000059901000041000016470001043000000000020700190000006001200039000000400010043f0000002a01000039000000000112043600000000020000310000000202200367000000000300001900000005043002100000000005410019000000000442034f000000000404043b00000000004504350000000103300039000000020430008c000008e00000413d0000000002070433000000000220004c000008f20000613d0000000002010433000005d002200197000005d1022001c700000000002104350000000002070433000000020220008c000008f80000813d000005980100004100000000001004350000003201000039000000040010043f0000059901000041000016470001043000000021027000390000000003020433000005d003300197000005d2033001c700000000003204350000002902000039000000020500002900000000030500190000000004070433000000000424004b000008f20000a13d0000000f0430018f0000000304400210000000f80440015f000005d305000041000000000445022f00000000051200190000000006050433000005d006600197000000f804400210000000000446019f00000000004504350000000405300270000000010220008a000000010420008c000008ff0000213d000000100130008c00000000010000190000000101004039000200000007001d164516270000040f000000010100002916450f160000040f000000400400043d000300000004001d0000002002400039000005d4030000410000000000320435000100000001001d00000037024000390000000201000029164504910000040f000005d502000041000000000021043500000011021000390000000101000029164504910000040f00000003030000290000000002310049000000200120008a00000000001304350000000001030019164504ba0000040f000005c201000041000000400200043d000200000002001d000000000012043500000004012000390000000302000029164504a20000040f000000020400002900000000014100490000059302000041000005930310009c0000000001028019000005930340009c000000000204401900000040022002100000006001100210000000000121019f0000164700010430000300000000000200000000030004110000059602300197000300000002001d000100000003001d000005d70230009c0000099c0000813d000200000001001d0000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f00000001022001900000099a0000613d000000000101043b00000003020000290000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f00000001022001900000099a0000613d000000000101043b000000000101041a000000ff01100190000009990000613d00000002010000290000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f00000001022001900000099a0000613d000000000101043b00000003020000290000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f00000001022001900000099a0000613d000000000101043b000000000201041a000001000300008a000000000232016f000000000021041b000000400100043d00000593020000410000000003000414000005930430009c0000000003028019000005930410009c00000000010280190000004001100210000000c002300210000000000112019f000005bc011001c70000800d020000390000000403000039000005d6040000410000000205000029000000010600002900000003070000291645163b0000040f00000001012001900000099a0000613d000000000001042d00000000010000190000164700010430000000400100043d0000006402100039000005d80300004100000000003204350000004402100039000005d903000041000000000032043500000024021000390000002f030000390000000000320435000005c20200004100000000002104350000000402100039000000200300003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c6011001c700001647000104300003000000000002000100000002001d00000596022001970000000003000411000300000002001d000000000232004b00000a0e0000c13d000200000001001d0000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f000000010220019000000a0c0000613d000000000101043b00000003020000290000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f000000010220019000000a0c0000613d000000000101043b000000000101041a000000ff0110019000000a0b0000613d00000002010000290000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f000000010220019000000a0c0000613d000000000101043b00000003020000290000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f000000010220019000000a0c0000613d000000000101043b000000000201041a000001000300008a000000000232016f000000000021041b000000400100043d00000593020000410000000003000414000005930430009c0000000003028019000005930410009c00000000010280190000004001100210000000c002300210000000000112019f000005bc011001c70000800d020000390000000403000039000005d6040000410000000205000029000000010600002900000003070000291645163b0000040f000000010120019000000a0c0000613d000000000001042d00000000010000190000164700010430000000400100043d0000006402100039000005d80300004100000000003204350000004402100039000005d903000041000000000032043500000024021000390000002f030000390000000000320435000005c20200004100000000002104350000000402100039000000200300003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c6011001c70000164700010430000d000000000002000d00000005001d000700000003001d000600000002001d000900000001001d000005ca010000410000000000100439000300000004001d0000059601400197000c00000001001d000000040010044300000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005cb011001c70000800202000039164516400000040f000000010220019000000de90000613d000000000101043b000000000110004c00000de90000613d000000400900043d000005da0100004100000000001904350000000d01000029000005960310019700000004029000390000000001000414000500000003001d00000000003204350000000c02000029000000040320008c00000a490000c13d000000010300003100000a7b0000013d0000059304000041000005930310009c0000000001048019000005930390009c000000000304001900000000030940190000004003300210000000c001100210000000000131019f00000599011001c7000d00000009001d164516400000040f0000000d09000029000000000301001900000060033002700000059303300197000000200430008c000000200500003900000000050340190000001f0450018f000000050550027200000a680000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b00000a600000413d000000000640004c00000a770000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f0003000000010355000000010220019000000e3d0000613d0000001f01300039000000200200008a000d00000002001d000000000221016f0000000001920019000000000221004b00000000020000190000000102004039000005940310009c00000deb0000213d000000010220019000000deb0000c13d000000400010043f00000595010000410000000102000031000000200320008c000000000300001900000000030140190000059502200197000000000420004c000000000100a019000005950220009c000000000103c019000000000110004c00000de90000c13d0000000001090433000200000001001d000005c801000041000000000010043900000000010004120000000400100443000000240000044300000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005c9011001c70000800502000039164516400000040f000000010220019000000de90000613d000000000101043b000005ca0200004100000000002004390000059601100197000b00000001001d000000040010044300000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005cb011001c70000800202000039164516400000040f0000000b05000029000000010220019000000de90000613d000000000101043b000000000110004c00000de90000613d000000400900043d000005cc010000410000000000190435000000440290003900000000010004140000000103000039000000000032043500000024029000390000000c03000029000000000032043500000007020000290000059603200197000800000003001d00000004029000390000000000320435000000040250008c00000acc0000c13d000000010300003100000aff0000013d0000059302000041000005930310009c0000000001028019000005930390009c00000000020940190000004002200210000000c001100210000000000121019f000005c3011001c70000000002050019000a00000009001d164516400000040f0000000a09000029000000000301001900000060033002700000059303300197000000200430008c000000200500003900000000050340190000001f0450018f000000050550027200000aeb0000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b00000ae30000413d000000000640004c00000afa0000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f000300000001035500000001022001900000000b0500002900000e5c0000613d0000001f013000390000000d02000029000000000221016f0000000001920019000000000221004b00000000020000190000000102004039000005940310009c00000deb0000213d000000010220019000000deb0000c13d000000400010043f00000595010000410000000102000031000000200320008c000000000300001900000000030140190000059502200197000000000420004c000000000100a019000005950220009c000000000103c019000000000110004c00000de90000c13d0000000001090433000a00000001001d000005960110009c00000de90000213d0000000a01000029000000000110004c000000000100001900000b8c0000613d000005ca0100004100000000001004390000000a01000029000000040010044300000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005cb011001c70000800202000039164516400000040f0000000b050000290000000102200190000000080300002900000de90000613d000000000101043b000000000110004c00000de90000613d000000400900043d000005cd0100004100000000001904350000002402900039000000000100041400000000003204350000000402900039000000090300002900000000003204350000000a02000029000000040320008c00000b400000c13d000000010300003100000b730000013d0000059304000041000005930310009c0000000001048019000005930390009c000000000304001900000000030940190000004003300210000000c001100210000000000131019f000005ce011001c7000400000009001d164516400000040f0000000409000029000000000301001900000060033002700000059303300197000000200430008c000000200500003900000000050340190000001f0450018f000000050550027200000b5f0000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b00000b570000413d000000000640004c00000b6e0000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f000300000001035500000001022001900000000b0500002900000ed80000613d0000001f013000390000000d02000029000000000221016f0000000001920019000000000221004b00000000020000190000000102004039000005940310009c00000deb0000213d000000010220019000000deb0000c13d000000400010043f00000595010000410000000102000031000000200320008c000000000300001900000000030140190000059502200197000000000420004c000000000100a019000005950220009c000000000103c019000000000110004c00000de90000c13d0000000001090433000400000001001d000005ca010000410000000000100439000000040050044300000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005cb011001c70000800202000039164516400000040f0000000b040000290000000102200190000000080600002900000de90000613d000000000101043b000000000110004c00000de90000613d000000400900043d000005cc010000410000000000190435000000240290003900000000010004140000000c0300002900000000003204350000000402900039000000000062043500000044029000390000000000020435000000040240008c00000bae0000c13d000000010300003100000be10000013d0000059302000041000005930310009c0000000001028019000005930390009c00000000020940190000004002200210000000c001100210000000000121019f000005c3011001c70000000002040019000b00000009001d164516400000040f0000000b09000029000000000301001900000060033002700000059303300197000000200430008c000000200500003900000000050340190000001f0450018f000000050550027200000bcd0000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b00000bc50000413d000000000640004c00000bdc0000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f00030000000103550000000102200190000000080600002900000e7b0000613d0000001f013000390000000d02000029000000000221016f0000000001920019000000000221004b00000000020000190000000102004039000005940310009c00000deb0000213d000000010220019000000deb0000c13d000000400010043f00000595020000410000000103000031000000200430008c000000000400001900000000040240190000059503300197000000000530004c000000000200a019000005950330009c000000000204c019000000000220004c00000de90000c13d0000000007090433000005960270009c00000de90000213d000000000270004c000000000200001900000c6c0000613d000005ca010000410000000000100439000000040070044300000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005cb011001c70000800202000039000b00000007001d164516400000040f0000000b070000290000000806000029000000010220019000000de90000613d000000000101043b000000000110004c00000de90000613d000000400900043d000005cd010000410000000000190435000000240290003900000000010004140000000000620435000000040290003900000009030000290000000000320435000000040270008c00000c1f0000c13d000000010300003100000c530000013d0000059302000041000005930310009c0000000001028019000005930390009c00000000020940190000004002200210000000c001100210000000000121019f000005ce011001c70000000002070019000100000009001d164516400000040f0000000109000029000000000301001900000060033002700000059303300197000000200430008c000000200500003900000000050340190000001f0450018f000000050550027200000c3e0000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b00000c360000413d000000000640004c00000c4d0000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f0003000000010355000000010220019000000008060000290000000b0700002900000ef70000613d0000001f013000390000000d02000029000000000221016f0000000001920019000000000221004b00000000020000190000000102004039000005940310009c00000deb0000213d000000010220019000000deb0000c13d000000400010043f00000595020000410000000103000031000000200430008c000000000400001900000000040240190000059503300197000000000530004c000000000200a019000005950330009c000000000204c019000000000220004c00000de90000c13d00000000020904330000000404000029000000000324004b0000000a03000029000000000a070019000000000a032019000000000302001900000000030420190000000602000029000000000223004b0000004402100039000000240410003900000df10000413d000000090500002900000000005204350000002002100039000005db0500004100000000005204350000000000a404350000000c04000029000000000446004b00000000040000190000000004034019000400000004001d0000000003004019000a00000003001d00000044030000390000000000310435000005dc0310009c00000deb0000213d0000008003100039000000400030043f0000000003000414000000040460008c000b0000000a001d00000c920000c13d0000000103000031000000000200001900000ca80000013d0000059304000041000005930520009c000000000204801900000040022002100000000001010433000005930510009c00000000010480190000006001100210000000000121019f000005930230009c00000000020400190000000002034019000000c002200210000000000121019f00000000020600191645163b0000040f0000000b0a000029000000010220015f00030000000103550000006001100270000105930010019d00000593031001970000006001000039000000000430004c00000cd60000613d0000003f013000390000000d04000029000000000441016f000000400100043d0000000004410019000000000514004b00000000050000190000000105004039000005940640009c00000deb0000213d000000010550019000000deb0000c13d000000400040043f0000000003310436000000030400036700000001060000310000001f0560018f000000050660027200000cc70000613d000000000700001900000005087002100000000009830019000000000884034f000000000808043b00000000008904350000000107700039000000000867004b00000cbf0000413d000000000750004c00000cd60000613d0000000506600210000000000464034f00000000036300190000000305500210000000000603043300000000065601cf000000000656022f000000000404043b0000010005500089000000000454022f00000000045401cf000000000464019f0000000000430435000000010220019000000e000000c13d0000000012010434000000000320004c00000cef0000613d0000059503000041000000200420008c000000000400001900000000040340190000059502200197000000000520004c000000000300a019000005950220009c00000000020400190000000002036019000000000220004c00000de90000c13d0000000001010433000000000210004c0000000002000019000000010200c039000000000221004b00000de90000c13d000000000110004c00000e280000613d000000400200043d000005df0120009c00000deb0000213d0000002001200039000000400010043f000800000002001d0000000000020435000005ca0100004100000000001004390000000400a0044300000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005cb011001c70000800202000039164516400000040f0000000b07000029000000010220019000000de90000613d000000000101043b000000000110004c00000de90000613d000000400800043d000005e0010000410000000000180435000000640280003900000000010004140000008003000039000000000032043500000044028000390000000503000029000000000032043500000024028000390000000403000029000000000032043500000004028000390000000a0300002900000000003204350000000809000029000000000209043300000084038000390000000000230435000000000320004c00000d2a0000613d000000a403800039000000000400001900000000053400190000002004400039000000000694001900000000060604330000000000650435000000000524004b00000d1f0000413d000000000424004b00000d2a0000a13d00000000033200190000000000030435000000040370008c00000d2f0000c13d00000001040000310000000d0300002900000d4c0000013d0000001f022000390000000d03000029000000000232016f0000059303000041000005930480009c000000000403001900000000040840190000004004400210000000a402200039000005930520009c00000000020380190000006002200210000000000242019f000005930410009c0000000001038019000000c001100210000000000112019f0000000002070019000b00000008001d1645163b0000040f0000000b0800002900000000030100190000006003300270000105930030019d00000593043001970000000d030000290003000000010355000000010220019000000e9a0000613d0000001f01400039000000000231016f0000000001820019000000000221004b00000000020000190000000102004039000005940310009c00000deb0000213d000000010220019000000deb0000c13d000000400010043f00000595010000410000000102000031000000000320004c000000000300001900000000030140190000059502200197000000000420004c000000000100a019000005950220009c000000000103c019000000000110004c00000de90000c13d000005ca0100004100000000001004390000000c01000029000000040010044300000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005cb011001c70000800202000039164516400000040f000000010220019000000de90000613d000000000101043b000000000110004c00000de90000613d000000400900043d000005da01000041000000000019043500000004029000390000000001000414000000050300002900000000003204350000000c02000029000000040320008c00000d800000c13d000000010300003100000db20000013d0000059304000041000005930310009c0000000001048019000005930390009c000000000304001900000000030940190000004003300210000000c001100210000000000131019f00000599011001c7000c00000009001d164516400000040f0000000c09000029000000000301001900000060033002700000059303300197000000200430008c000000200500003900000000050340190000001f0450018f000000050550027200000d9f0000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b00000d970000413d000000000640004c00000dae0000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f0003000000010355000000010220019000000eb90000613d0000001f013000390000000d02000029000000000221016f0000000001920019000000000221004b00000000020000190000000102004039000005940310009c00000deb0000213d000000010220019000000deb0000c13d000000400010043f00000595020000410000000103000031000000200430008c000000000400001900000000040240190000059503300197000000000530004c000000000200a019000005950330009c000000000204c019000000000220004c00000de90000c13d00000000020904330000000204000029000000000342004b00000e110000413d00000000024200490000000603000029000000000232004b00000e170000413d000000200210003900000000003204350000000902000029000000000021043500000593020000410000000003000414000005930430009c0000000003028019000005930410009c00000000010280190000004001100210000000c002300210000000000112019f000005bb011001c70000800d020000390000000303000039000005e104000041000000070500002900000003060000291645163b0000040f000000010120019000000de90000613d000000000001042d00000000010000190000164700010430000005980100004100000000001004350000004101000039000000040010043f00000599010000410000164700010430000005e403000041000000000032043500000016020000390000000000240435000005c20200004100000000002104350000000402100039000000200300003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c3011001c70000164700010430000000400100043d0000004402100039000005e3030000410000000000320435000005c2020000410000000000210435000000240210003900000020030000390000000000320435000000040210003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c3011001c70000164700010430000005980100004100000000001004350000001101000039000000040010043f000005990100004100001647000104300000004402100039000005e2030000410000000000320435000000240210003900000017030000390000000000320435000005c20200004100000000002104350000000402100039000000200300003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c3011001c70000164700010430000000400100043d0000006402100039000005dd0300004100000000003204350000004402100039000005de03000041000000000032043500000024021000390000002a030000390000000000320435000005c20200004100000000002104350000000402100039000000200300003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c6011001c700001647000104300000001f0430018f000000050230027200000e480000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b00000e410000413d000000000340004c00000e560000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000593010000410000000102000031000005930320009c0000000001024019000000600110021000001647000104300000001f0430018f000000050230027200000e670000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b00000e600000413d000000000340004c00000e750000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000593010000410000000102000031000005930320009c0000000001024019000000600110021000001647000104300000001f0430018f000000050230027200000e860000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b00000e7f0000413d000000000340004c00000e940000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000593010000410000000102000031000005930320009c0000000001024019000000600110021000001647000104300000001f0340018f000000050240027200000ea50000613d00000000040000190000000505400210000000000651034f000000000606043b00000000006504350000000104400039000000000524004b00000e9e0000413d000000000430004c00000eb30000613d00000003033002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000593010000410000000102000031000005930320009c0000000001024019000000600110021000001647000104300000001f0430018f000000050230027200000ec40000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b00000ebd0000413d000000000340004c00000ed20000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000593010000410000000102000031000005930320009c0000000001024019000000600110021000001647000104300000001f0430018f000000050230027200000ee30000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b00000edc0000413d000000000340004c00000ef10000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000593010000410000000102000031000005930320009c0000000001024019000000600110021000001647000104300000001f0430018f000000050230027200000f020000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b00000efb0000413d000000000340004c00000f100000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000593010000410000000102000031000005930320009c0000000001024019000000600110021000001647000104300000000002010019000000400100043d000005e50310009c00000f550000813d0000008003100039000000400030043f0000004203000039000000000331043600000000040000310000000204400367000000000500001900000005065002100000000007630019000000000664034f000000000606043b00000000006704350000000105500039000000030650008c00000f210000413d0000000004010433000000000440004c00000f4f0000613d0000000004030433000005d004400197000005d1044001c700000000004304350000000004010433000000020440008c00000f4f0000413d00000021041000390000000005040433000005d005500197000005d2055001c70000000000540435000000410400003900000000050200190000000002010433000000000242004b00000f4f0000a13d0000000f0250018f0000000302200210000000f80220015f000005d306000041000000000226022f00000000063400190000000007060433000005d007700197000000f802200210000000000227019f00000000002604350000000402500270000000010440008a000000010640008c00000f390000213d000000100250008c00000f5b0000813d000000000001042d000005980100004100000000001004350000003201000039000000040010043f00000599010000410000164700010430000005980100004100000000001004350000004101000039000000040010043f00000599010000410000164700010430000000400100043d0000004402100039000005e6030000410000000000320435000005c2020000410000000000210435000000240210003900000020030000390000000000320435000000040210003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c3011001c700001647000104300004000000000002000300000001001d0000000000000435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000010450000613d000000000101043b0000000101100039000000000101041a000100000001001d0000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000010450000613d000000000101043b0000000002000411000200000002001d0000059602200197000400000002001d0000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000010450000613d000000000101043b000000000101041a000000ff01100190000010470000613d0000000000000435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000010450000613d000000000101043b00000003020000290000059602200197000100000002001d0000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000010450000613d000000000101043b000000000101041a000000ff0110019000000ff30000c13d0000000000000435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000010450000613d000000000101043b00000001020000290000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000010450000613d000000000101043b000000000201041a000001000300008a000000000232016f00000001022001bf000000000021041b000000400100043d00000593020000410000000003000414000005930430009c0000000003028019000005930410009c00000000010280190000004001100210000000c002300210000000000112019f000005bc011001c70000800d020000390000000403000039000005bd040000410000000005000019000000030600002900000002070000291645163b0000040f0000000101200190000010450000613d0000000000000435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000010450000613d000000000101043b00000004020000290000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000010450000613d000000000101043b000000000101041a000000ff01100190000010440000613d0000000000000435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000010450000613d000000000101043b00000004020000290000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000010450000613d000000000101043b000000000201041a000001000300008a000000000232016f000000000021041b000000400100043d00000593020000410000000003000414000005930430009c0000000003028019000005930410009c00000000010280190000004001100210000000c002300210000000000112019f000005bc011001c70000800d020000390000000403000039000005d6040000410000000005000019000000020600002900000000070600191645163b0000040f0000000101200190000010450000613d000000000001042d00000000010000190000164700010430000000400100043d0000000007010019000005cf0110009c000010510000413d000005980100004100000000001004350000004101000039000000040010043f0000059901000041000016470001043000000000020700190000006001200039000000400010043f0000002a01000039000000000112043600000000020000310000000202200367000000000300001900000005043002100000000005410019000000000442034f000000000404043b00000000004504350000000103300039000000020430008c000010590000413d0000000002070433000000000220004c0000106b0000613d0000000002010433000005d002200197000005d1022001c700000000002104350000000002070433000000020220008c000010710000813d000005980100004100000000001004350000003201000039000000040010043f0000059901000041000016470001043000000021027000390000000003020433000005d003300197000005d2033001c700000000003204350000002902000039000000020500002900000000030500190000000004070433000000000424004b0000106b0000a13d0000000f0430018f0000000304400210000000f80440015f000005d305000041000000000445022f00000000051200190000000006050433000005d006600197000000f804400210000000000446019f00000000004504350000000405300270000000010220008a000000010420008c000010780000213d000000100130008c00000000010000190000000101004039000300000007001d164516270000040f000000010100002916450f160000040f000000400400043d000400000004001d0000002002400039000005d4030000410000000000320435000200000001001d00000037024000390000000301000029164504910000040f000005d502000041000000000021043500000011021000390000000201000029164504910000040f00000004030000290000000002310049000000200120008a00000000001304350000000001030019164504ba0000040f000005c201000041000000400200043d000300000002001d000000000012043500000004012000390000000402000029164504a20000040f000000030400002900000000014100490000059302000041000005930310009c0000000001028019000005930340009c000000000204401900000040022002100000006001100210000000000121019f000016470001043000000596022001970000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000010c70000613d000000000101043b000000000001042d000000000100001900001647000104300000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000010d70000613d000000000101043b000000000001042d000000000100001900001647000104300001000000000002000100000001001d000005b5010000410000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000011140000613d000000000101043b000000000200041100000596022001970000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000011140000613d000000000101043b000000000101041a000000ff01100190000011160000613d0000000102000029000000000120004c0000112b0000613d0000000101000039000000000021041b000000400100043d000000000021043500000593020000410000000003000414000005930430009c0000000003028019000005930410009c00000000010280190000004001100210000000c002300210000000000112019f000005bf011001c70000800d020000390000000203000039000005c00400004100000000050004101645163b0000040f0000000101200190000011140000613d000000000001042d00000000010000190000164700010430000000400100043d0000006402100039000005c40300004100000000003204350000004402100039000005c5030000410000000000320435000000240210003900000028030000390000000000320435000005c20200004100000000002104350000000402100039000000200300003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c6011001c70000164700010430000000400100043d0000004402100039000005c1030000410000000000320435000000240210003900000014030000390000000000320435000005c20200004100000000002104350000000402100039000000200300003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c3011001c700001647000104300002000000000002000200000002001d000100000001001d000005b5010000410000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000011d40000613d000000000101043b000000000200041100000596022001970000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000011d40000613d000000400300043d000000000101043b000000000101041a000000ff01100190000011dc0000613d0000002001300039000005e702000041000000000021043500000002020000290000059602200197000000240430003900000000002404350000004402000039000000000023043500000044023000390000000000020435000005e50230009c000011d60000813d0000008002300039000000400020043f000000000400041400000001020000290000059602200197000000040520008c000011780000c13d000000010300003100000000020000190000118c0000013d0000059305000041000005930610009c000000000105801900000040011002100000000003030433000005930630009c00000000030580190000006003300210000000000113019f000005930340009c00000000030500190000000003044019000000c003300210000000000131019f1645163b0000040f000000010220015f00030000000103550000006001100270000105930010019d00000593031001970000006001000039000000000430004c000011ba0000613d0000003f01300039000000200400008a000000000441016f000000400100043d0000000004410019000000000514004b00000000050000190000000105004039000005940640009c000011d60000213d0000000105500190000011d60000c13d000000400040043f0000000003310436000000030400036700000001060000310000001f0560018f0000000506600272000011ab0000613d000000000700001900000005087002100000000009830019000000000884034f000000000808043b00000000008904350000000107700039000000000867004b000011a30000413d000000000750004c000011ba0000613d0000000506600210000000000464034f00000000036300190000000305500210000000000603043300000000065601cf000000000656022f000000000404043b0000010005500089000000000454022f00000000045401cf000000000464019f00000000004304350000000102200190000011f00000c13d0000000012010434000000000320004c000011d30000613d0000059503000041000000200420008c000000000400001900000000040340190000059502200197000000000520004c000000000300a019000005950220009c00000000020400190000000002036019000000000220004c000011d40000c13d0000000001010433000000000210004c0000000002000019000000010200c039000000000221004b000011d40000c13d000000000110004c000012010000613d000000000001042d00000000010000190000164700010430000005980100004100000000001004350000004101000039000000040010043f000005990100004100001647000104300000006401300039000005c40200004100000000002104350000004401300039000005c5020000410000000000210435000000240130003900000028020000390000000000210435000005c20100004100000000001304350000000401300039000000200200003900000000002104350000059301000041000005930230009c00000000010340190000004001100210000005c6011001c70000164700010430000000400100043d0000004402100039000005e3030000410000000000320435000005c2020000410000000000210435000000240210003900000020030000390000000000320435000000040210003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c3011001c70000164700010430000000400100043d0000006402100039000005dd0300004100000000003204350000004402100039000005de03000041000000000032043500000024021000390000002a030000390000000000320435000005c20200004100000000002104350000000402100039000000200300003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c6011001c700001647000104300003000000000002000300000002001d000200000001001d000005b5010000410000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000012c40000613d000000000101043b00000000020004110000059602200197000100000002001d0000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000012c40000613d000000000101043b000000000101041a000000ff01100190000012cc0000613d0000000303000029000000000130004c000012e10000613d000000400100043d000000440210003900000000003204350000002003100039000005db0200004100000000002304350000002402100039000000010400002900000000004204350000004402000039000000000021043500000002020000290000059602200197000005e50410009c000012c60000813d0000008004100039000000400040043f0000000004000414000000040520008c000012540000c13d00000001030000310000000002000019000012680000013d0000059305000041000005930630009c000000000305801900000040033002100000000001010433000005930610009c00000000010580190000006001100210000000000131019f000005930340009c00000000030500190000000003044019000000c003300210000000000131019f1645163b0000040f000000010220015f00030000000103550000006001100270000105930010019d00000593031001970000006001000039000000000430004c000012960000613d0000003f01300039000000200400008a000000000441016f000000400100043d0000000004410019000000000514004b00000000050000190000000105004039000005940640009c000012c60000213d0000000105500190000012c60000c13d000000400040043f0000000003310436000000030400036700000001060000310000001f0560018f0000000506600272000012870000613d000000000700001900000005087002100000000009830019000000000884034f000000000808043b00000000008904350000000107700039000000000867004b0000127f0000413d000000000750004c000012960000613d0000000506600210000000000464034f00000000036300190000000305500210000000000603043300000000065601cf000000000656022f000000000404043b0000010005500089000000000454022f00000000045401cf000000000464019f00000000004304350000000102200190000012f30000c13d0000000012010434000000000320004c000012af0000613d0000059503000041000000200420008c000000000400001900000000040340190000059502200197000000000520004c000000000300a019000005950220009c00000000020400190000000002036019000000000220004c000012c40000c13d0000000001010433000000000210004c0000000002000019000000010200c039000000000221004b000012c40000c13d000000000110004c000013040000613d000000400100043d0000000302000029000000000021043500000593020000410000000003000414000005930430009c0000000003028019000005930410009c00000000010280190000004001100210000000c002300210000000000112019f000005bf011001c70000800d020000390000000203000039000005e80400004100000002050000291645163b0000040f0000000101200190000012c40000613d000000000001042d00000000010000190000164700010430000005980100004100000000001004350000004101000039000000040010043f00000599010000410000164700010430000000400100043d0000006402100039000005c40300004100000000003204350000004402100039000005c5030000410000000000320435000000240210003900000028030000390000000000320435000005c20200004100000000002104350000000402100039000000200300003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c6011001c70000164700010430000000400100043d0000004402100039000005e903000041000000000032043500000024021000390000001e030000390000000000320435000005c20200004100000000002104350000000402100039000000200300003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c3011001c70000164700010430000000400100043d0000004402100039000005e3030000410000000000320435000005c2020000410000000000210435000000240210003900000020030000390000000000320435000000040210003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c3011001c70000164700010430000000400100043d0000006402100039000005dd0300004100000000003204350000004402100039000005de03000041000000000032043500000024021000390000002a030000390000000000320435000005c20200004100000000002104350000000402100039000000200300003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c6011001c700001647000104300002000000000002000200000001001d000005b5010000410000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f00000001022001900000139d0000613d000000000101043b0000000002000411000100000002001d00000596022001970000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f00000001022001900000139d0000613d000000000101043b000000000101041a000000ff011001900000139f0000613d0000000209000029000000000190004c0000000104000029000013b40000613d0000000001000414000000040240008c000013460000c13d000000010200003900000001010000310000135a0000013d0000059302000041000000400300043d000005930530009c0000000003028019000005930510009c0000000001028019000000c0011002100000004002300210000000000112019f000005bc011001c70000800902000039000000000309001900000000050000191645163b0000040f0000000209000029000000010220018f00030000000103550000006001100270000105930010019d0000059301100197000000000310004c000013870000613d0000003f03100039000000200400008a000000000443016f000000400300043d0000000004430019000000000534004b00000000050000190000000105004039000005940640009c000013d70000213d0000000105500190000013d70000c13d000000400040043f0000000001130436000000030300036700000001050000310000001f0450018f0000000505500272000013780000613d000000000600001900000005076002100000000008710019000000000773034f000000000707043b00000000007804350000000106600039000000000756004b000013700000413d000000000640004c000013870000613d0000000505500210000000000353034f00000000015100190000000304400210000000000501043300000000054501cf000000000545022f000000000303043b0000010004400089000000000343022f00000000034301cf000000000353019f0000000000310435000000400100043d000000000220004c000013c60000613d000000000091043500000593020000410000000003000414000005930430009c0000000003028019000005930410009c00000000010280190000004001100210000000c002300210000000000112019f000005bf011001c70000800d020000390000000203000039000005e80400004100000000050000191645163b0000040f00000001012001900000139d0000613d000000000001042d00000000010000190000164700010430000000400100043d0000006402100039000005c40300004100000000003204350000004402100039000005c5030000410000000000320435000000240210003900000028030000390000000000320435000005c20200004100000000002104350000000402100039000000200300003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c6011001c70000164700010430000000400100043d0000004402100039000005e903000041000000000032043500000024021000390000001e030000390000000000320435000005c20200004100000000002104350000000402100039000000200300003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c3011001c700001647000104300000004402100039000005ea030000410000000000320435000000240210003900000010030000390000000000320435000005c20200004100000000002104350000000402100039000000200300003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c3011001c70000164700010430000005980100004100000000001004350000004101000039000000040010043f000005990100004100001647000104300004000000000002000300000002001d000400000001001d0000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000014670000613d000000000101043b0000000101100039000000000101041a000100000001001d0000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000014670000613d000000000101043b0000000002000411000200000002001d00000596022001970000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000014670000613d000000000101043b000000000101041a000000ff01100190000014690000613d00000004010000290000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000014670000613d000000000101043b00000003020000290000059602200197000100000002001d0000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000014670000613d000000000101043b000000000101041a000000ff01100190000014660000c13d00000004010000290000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000014670000613d000000000101043b00000001020000290000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000014670000613d000000000101043b000000000201041a000001000300008a000000000232016f00000001022001bf000000000021041b000000400100043d00000593020000410000000003000414000005930430009c0000000003028019000005930410009c00000000010280190000004001100210000000c002300210000000000112019f000005bc011001c70000800d020000390000000403000039000005bd040000410000000405000029000000030600002900000002070000291645163b0000040f0000000101200190000014670000613d000000000001042d00000000010000190000164700010430000000400100043d0000000007010019000005cf0110009c000014730000413d000005980100004100000000001004350000004101000039000000040010043f0000059901000041000016470001043000000000020700190000006001200039000000400010043f0000002a01000039000000000112043600000000020000310000000202200367000000000300001900000005043002100000000005410019000000000442034f000000000404043b00000000004504350000000103300039000000020430008c0000147b0000413d0000000002070433000000000220004c0000148d0000613d0000000002010433000005d002200197000005d1022001c700000000002104350000000002070433000000020220008c000014930000813d000005980100004100000000001004350000003201000039000000040010043f0000059901000041000016470001043000000021027000390000000003020433000005d003300197000005d2033001c700000000003204350000002902000039000000020500002900000000030500190000000004070433000000000424004b0000148d0000a13d0000000f0430018f0000000304400210000000f80440015f000005d305000041000000000445022f00000000051200190000000006050433000005d006600197000000f804400210000000000446019f00000000004504350000000405300270000000010220008a000000010420008c0000149a0000213d000000100130008c00000000010000190000000101004039000300000007001d164516270000040f000000010100002916450f160000040f000000400400043d000400000004001d0000002002400039000005d4030000410000000000320435000200000001001d00000037024000390000000301000029164504910000040f000005d502000041000000000021043500000011021000390000000201000029164504910000040f00000004030000290000000002310049000000200120008a00000000001304350000000001030019164504ba0000040f000005c201000041000000400200043d000300000002001d000000000012043500000004012000390000000402000029164504a20000040f000000030400002900000000014100490000059302000041000005930310009c0000000001028019000005930340009c000000000204401900000040022002100000006001100210000000000121019f00001647000104300004000000000002000300000002001d000400000001001d0000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000015630000613d000000000101043b0000000101100039000000000101041a000100000001001d0000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000015630000613d000000000101043b0000000002000411000200000002001d00000596022001970000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000015630000613d000000000101043b000000000101041a000000ff01100190000015650000613d00000004010000290000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000015630000613d000000000101043b00000003020000290000059602200197000100000002001d0000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000015630000613d000000000101043b000000000101041a000000ff01100190000015620000613d00000004010000290000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000015630000613d000000000101043b00000001020000290000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000015630000613d000000000101043b000000000201041a000001000300008a000000000232016f000000000021041b000000400100043d00000593020000410000000003000414000005930430009c0000000003028019000005930410009c00000000010280190000004001100210000000c002300210000000000112019f000005bc011001c70000800d020000390000000403000039000005d6040000410000000405000029000000030600002900000002070000291645163b0000040f0000000101200190000015630000613d000000000001042d00000000010000190000164700010430000000400100043d0000000007010019000005cf0110009c0000156f0000413d000005980100004100000000001004350000004101000039000000040010043f0000059901000041000016470001043000000000020700190000006001200039000000400010043f0000002a01000039000000000112043600000000020000310000000202200367000000000300001900000005043002100000000005410019000000000442034f000000000404043b00000000004504350000000103300039000000020430008c000015770000413d0000000002070433000000000220004c000015890000613d0000000002010433000005d002200197000005d1022001c700000000002104350000000002070433000000020220008c0000158f0000813d000005980100004100000000001004350000003201000039000000040010043f0000059901000041000016470001043000000021027000390000000003020433000005d003300197000005d2033001c700000000003204350000002902000039000000020500002900000000030500190000000004070433000000000424004b000015890000a13d0000000f0430018f0000000304400210000000f80440015f000005d305000041000000000445022f00000000051200190000000006050433000005d006600197000000f804400210000000000446019f00000000004504350000000405300270000000010220008a000000010420008c000015960000213d000000100130008c00000000010000190000000101004039000300000007001d164516270000040f000000010100002916450f160000040f000000400400043d000400000004001d0000002002400039000005d4030000410000000000320435000200000001001d00000037024000390000000301000029164504910000040f000005d502000041000000000021043500000011021000390000000201000029164504910000040f00000004030000290000000002310049000000200120008a00000000001304350000000001030019164504ba0000040f000005c201000041000000400200043d000300000002001d000000000012043500000004012000390000000402000029164504a20000040f000000030400002900000000014100490000059302000041000005930310009c0000000001028019000005930340009c000000000204401900000040022002100000006001100210000000000121019f000016470001043000030000000000020000000202000039000000000102041a000000010310019000000001041002700000007f0540018f000000000604001900000000060560190000001f0460008c00000000040000190000000104002039000000010440018f000000000443004b000016190000c13d000000400500043d0000000004650436000000000330004c000015ed0000c13d000001000200008a000000000121016f000000000014043500000040020000390000160e0000013d000100000004001d000200000006001d000300000005001d000000000020043500000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bf011001c70000801002000039164516400000040f0000000102200190000016250000613d00000020020000390000000206000029000000000360004c00000003050000290000160e0000613d000000000101043b0000000003000019000000010700002900000000020300190000000003720019000000000401041a000000000043043500000001011000390000002003200039000000000463004b000016030000413d0000005f01200039000000200200008a000000000221016f0000000001520019000000000221004b00000000020000190000000102004039000005940310009c0000161f0000213d00000001022001900000161f0000c13d000000400010043f0000000001050019000000000001042d000005980100004100000000001004350000002201000039000000040010043f00000599010000410000164700010430000005980100004100000000001004350000004101000039000000040010043f0000059901000041000016470001043000000000010000190000164700010430000000000110004c0000162a0000613d000000000001042d000000400100043d0000004402100039000005e6030000410000000000320435000005c2020000410000000000210435000000240210003900000020030000390000000000320435000000040210003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c3011001c700001647000104300000163e002104210000000102000039000000000001042d0000000002000019000000000001042d00001643002104230000000102000039000000000001042d0000000002000019000000000001042d0000164500000432000016460001042e0000164700010430000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff000000000000000000000000000000000000000000000000ffffffffffffffff8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffffffffffff00000002000000000000000000000000000000800000010000000000000000004e487b71000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024000000000000000000000000000000000000000000000000000000000000000000000000000000008980f11e00000000000000000000000000000000000000000000000000000000d8baf7ce00000000000000000000000000000000000000000000000000000000ef99893900000000000000000000000000000000000000000000000000000000ef99893a00000000000000000000000000000000000000000000000000000000f2fde38b00000000000000000000000000000000000000000000000000000000f874225400000000000000000000000000000000000000000000000000000000d8baf7cf00000000000000000000000000000000000000000000000000000000eab90da60000000000000000000000000000000000000000000000000000000091d148530000000000000000000000000000000000000000000000000000000091d1485400000000000000000000000000000000000000000000000000000000a217fddf00000000000000000000000000000000000000000000000000000000d547741f000000000000000000000000000000000000000000000000000000008980f11f000000000000000000000000000000000000000000000000000000008bb9c5bf000000000000000000000000000000000000000000000000000000004ebb7915000000000000000000000000000000000000000000000000000000006b453c1e000000000000000000000000000000000000000000000000000000006b453c1f000000000000000000000000000000000000000000000000000000007ae267730000000000000000000000000000000000000000000000000000000084a33e63000000000000000000000000000000000000000000000000000000004ebb79160000000000000000000000000000000000000000000000000000000069cff80d00000000000000000000000000000000000000000000000000000000248a9ca200000000000000000000000000000000000000000000000000000000248a9ca3000000000000000000000000000000000000000000000000000000002f2ff15d0000000000000000000000000000000000000000000000000000000036568abe0000000000000000000000000000000000000000000000000000000001ffc9a70000000000000000000000000000000000000000000000000000000006fdde03339759585899103d2ace64958e37e18ccb0504652c81d4a1b8aa80fe2126ab950000000000000000000000000000000000000020000000000000000000000000ffffffff0000000000000000000000000000000000000000000000000000000001ffc9a7000000000000000000000000000000000000000000000000000000007965db0b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000800000000000000000020000000000000000000000000000000000004000000000000000000000000002000000000000000000000000000000000000000000000000000000000000002f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d00000000000000000000000000000000000000000000000100000000000000000200000000000000000000000000000000000020000000000000000000000000f43f23b7a28e6f8ce6843a21bd7b48bce778aa913b8c8cf459edf7d770e8d38a496e76616c6964206761732d657374696d61746500000000000000000000000008c379a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000064000000000000000000000000696e7461696e65720000000000000000000000000000000000000000000000004d61696e7461696e61626c653a2043616c6c6572206973206e6f742061206d610000000000000000000000000000000000000084000000000000000000000000496e76616c69642061646170746572206e616d65000000000000000000000000310ab089e4439a4c15d089f94afb7896ff553aecb10793d0ab882de59d99a32e02000002000000000000000000000000000000440000000000000000000000001806aa1896bbf26568e884a7374b41e002500962caba6a15023a8d90e8508b8302000002000000000000000000000000000000240000000000000000000000006801cc3000000000000000000000000000000000000000000000000000000000f140a35a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffa000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff300000000000000000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000000000000000003031323334353637383961626364656600000000000000000000000000000000416363657373436f6e74726f6c3a206163636f756e7420000000000000000000206973206d697373696e6720726f6c6520000000000000000000000000000000f6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b000000000000000000000001000000000000000000000000000000000000000020726f6c657320666f722073656c660000000000000000000000000000000000416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636570a0823100000000000000000000000000000000000000000000000000000000a9059cbb00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffff7f6f742073756363656564000000000000000000000000000000000000000000005361666545524332303a204552433230206f7065726174696f6e20646964206e000000000000000000000000000000000000000000000000ffffffffffffffdf022c0d9f00000000000000000000000000000000000000000000000000000000e2bdbc6b7225eb0a972ac943c485a6cc05f7c6811838bce8903f23200fb744fa496e73756666696369656e7420616d6f756e742d6f75740000000000000000005361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564496e737566666963656e7420616d6f756e74206f757400000000000000000000000000000000000000000000000000000000000000000000ffffffffffffff80537472696e67733a20686578206c656e67746820696e73756666696369656e74095ea7b3000000000000000000000000000000000000000000000000000000008c1256b8896378cd5044f80c202f9772b9d77dc85c8a6eb51967210b09bfaa2859616b416461707465723a204e6f7468696e6720746f207265636f76657200005472616e73666572206661696c65642e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c6d4a390b47ed4e406445aa2c7378dfef3f4492b88ea658fb74adaf81e1a596a", + "deployedBytecode": "0x0004000000000002000100000000000200000000030100190000006003300270000005930430019700030000004103550002000000010355000005930030019d000100000000001f00000001012001900000002b0000c13d0000008001000039000000400010043f0000000001000031000000040210008c000000aa0000413d0000000201000367000000000101043b000000e0011002700000059a0210009c000000b40000213d000005a80210009c000000ca0000213d000005af0210009c0000010f0000a13d000005b00210009c000001820000613d000005b10210009c0000019f0000613d000005b20110009c0000024f0000c13d0000000001000416000000000110004c0000024f0000c13d0000000001000031164504280000040f164509b10000040f0000059301000041000000400200043d000005930320009c00000000010240190000004001100210000016460001042e000000a001000039000000400010043f0000000001000416000000000110004c0000024f0000c13d00000000040000310000001f02400039000000200100008a000000000512016f000000400300043d0000000002350019000000000552004b00000000050000190000000105004039000005940620009c000000ae0000213d0000000105500190000000ae0000c13d000000400020043f0000001f0240018f000000020500036700000005064002720000004b0000613d000000000700001900000005087002100000000009830019000000000885034f000000000808043b00000000008904350000000107700039000000000867004b000000430000413d000000000720004c0000005a0000613d0000000506600210000000000565034f00000000066300190000000302200210000000000706043300000000072701cf000000000727022f000000000505043b0000010002200089000000000525022f00000000022501cf000000000272019f00000000002604350000059502000041000000600540008c000000000500001900000000050240190000059506400197000000000760004c000000000200a019000005950660009c000000000205c019000000000220004c0000024f0000c13d0000000025030434000005940650009c0000024f0000213d000000000643001900000000043500190000001f054000390000059507000041000000000865004b0000000008000019000000000807801900000595055001970000059509600197000000000a95004b0000000007008019000000000595013f000005950550009c00000000050800190000000005076019000000000550004c0000024f0000c13d0000000005040433000005940750009c000000ae0000213d0000003f07500039000000000717016f000000400100043d0000000007710019000000000817004b00000000080000190000000108004039000005940970009c000000ae0000213d0000000108800190000000ae0000c13d000000400070043f000000000051043500000020075000390000000008470019000000000668004b0000024f0000213d000000000650004c0000009b0000613d000000000600001900000020066000390000000008160019000000000946001900000000090904330000000000980435000000000856004b000000900000413d000000000456004b0000009b0000a13d000000000417001900000000000404350000000002020433000005960420009c0000024f0000213d00000040033000390000000003030433164502510000040f000000800100043d0000014000000443000001600010044300000020010000390000010000100443000000010100003900000120001004430000059701000041000016460001042e000000000110004c0000024f0000c13d0000000001000019000016460001042e000005980100004100000000001004350000004101000039000000040010043f000005990100004100001647000104300000059b0210009c000000ed0000213d000005a20210009c000001340000a13d000005a30210009c000001ab0000613d000005a40210009c000001c00000613d000005a50110009c0000024f0000c13d0000000001000416000000000110004c0000024f0000c13d0000000001000031164504280000040f164514da0000040f0000059301000041000000400200043d000005930320009c00000000010240190000004001100210000016460001042e000005a90210009c000001530000a13d000005aa0210009c000001d90000613d000005ab0210009c000001e50000613d000005ac0110009c0000024f0000c13d0000000001000416000000000110004c0000024f0000c13d000000040100008a00000000011000310000059502000041000000200310008c000000000300001900000000030240190000059501100197000000000410004c000000000200a019000005950110009c00000000010300190000000001026019000000000110004c0000024f0000c13d00000004010000390000000201100367000000000101043b164510d90000040f0000059301000041000000400200043d000005930320009c00000000010240190000004001100210000016460001042e0000059c0210009c000001720000a13d0000059d0210009c000001f10000613d0000059e0210009c000001ff0000613d0000059f0110009c0000024f0000c13d0000000001000416000000000110004c0000024f0000c13d000000040100008a00000000011000310000059502000041000000000310004c000000000300001900000000030240190000059501100197000000000410004c000000000200a019000005950110009c00000000010300190000000001026019000000000110004c0000024f0000c13d000000400100043d000005b50200004100000000002104350000059302000041000005930310009c00000000010280190000004001100210000005b6011001c7000016460001042e000005b30210009c0000020b0000613d000005b40110009c0000024f0000c13d0000000001000416000000000110004c0000024f0000c13d000000040100008a00000000011000310000059502000041000000000310004c000000000300001900000000030240190000059501100197000000000410004c000000000200a019000005950110009c00000000010300190000000001026019000000000110004c0000024f0000c13d164515d60000040f0000000002010019000000400100043d000100000001001d164504a20000040f000000010400002900000000014100490000059302000041000005930310009c0000000001028019000005930340009c000000000204401900000040022002100000006001100210000000000121019f000016460001042e000005a60210009c0000021c0000613d000005a70110009c0000024f0000c13d0000000001000416000000000110004c0000024f0000c13d000000040100008a00000000011000310000059502000041000000200310008c000000000300001900000000030240190000059501100197000000000410004c000000000200a019000005950110009c00000000010300190000000001026019000000000110004c0000024f0000c13d00000004010000390000000201100367000000000101043b1645093f0000040f0000059301000041000000400200043d000005930320009c00000000010240190000004001100210000016460001042e000005ad0210009c000002280000613d000005ae0110009c0000024f0000c13d0000000001000416000000000110004c0000024f0000c13d000000040100008a00000000011000310000059502000041000000000310004c000000000300001900000000030240190000059501100197000000000410004c000000000200a019000005950110009c00000000010300190000000001026019000000000110004c0000024f0000c13d0000000101000039000000000101041a000000400200043d00000000001204350000059301000041000005930320009c00000000010240190000004001100210000005b6011001c7000016460001042e000005a00210009c000002430000613d000005a10110009c0000024f0000c13d0000000001000416000000000110004c0000024f0000c13d0000000001000031164504700000040f16450a230000040f0000059301000041000000400200043d000005930320009c00000000010240190000004001100210000016460001042e0000000001000416000000000110004c0000024f0000c13d000000040100008a00000000011000310000059502000041000000200310008c000000000300001900000000030240190000059501100197000000000410004c000000000200a019000005950110009c00000000010300190000000001026019000000000110004c0000024f0000c13d00000004010000390000000201100367000000000101043b164508310000040f000000400200043d00000000001204350000059301000041000005930320009c00000000010240190000004001100210000005b6011001c7000016460001042e0000000001000416000000000110004c0000024f0000c13d0000000001000031164504280000040f164513dd0000040f0000059301000041000000400200043d000005930320009c00000000010240190000004001100210000016460001042e0000000001000416000000000110004c0000024f0000c13d0000000001000031164504280000040f000100000002001d164510c90000040f0000000102000029164510b80000040f000000000101041a000000ff011001900000000001000019000000010100c039000000400200043d00000000001204350000059301000041000005930320009c00000000010240190000004001100210000005b6011001c7000016460001042e0000000001000416000000000110004c0000024f0000c13d000000040100008a00000000011000310000059502000041000000000310004c000000000300001900000000030240190000059501100197000000000410004c000000000200a019000005950110009c00000000010300190000000001026019000000000110004c0000024f0000c13d000000400100043d00000000000104350000059302000041000005930310009c00000000010280190000004001100210000005b6011001c7000016460001042e0000000001000416000000000110004c0000024f0000c13d0000000001000031164503e30000040f164507340000040f0000059301000041000000400200043d000005930320009c00000000010240190000004001100210000016460001042e0000000001000416000000000110004c0000024f0000c13d0000000001000031164503f80000040f1645113d0000040f0000059301000041000000400200043d000005930320009c00000000010240190000004001100210000016460001042e0000000001000416000000000110004c0000024f0000c13d0000000001000031164504550000040f164504cd0000040f000000400200043d00000000001204350000059301000041000005930320009c00000000010240190000004001100210000005b6011001c7000016460001042e0000000001000416000000000110004c0000024f0000c13d0000000001000031164503e30000040f16450f6c0000040f0000059301000041000000400200043d000005930320009c00000000010240190000004001100210000016460001042e0000000001000416000000000110004c0000024f0000c13d00000000010000311645043f0000040f000005b701100197000005b80210009c00000000020000190000000102006039000005b90110009c00000000010000190000000101006039000000000121019f000000010110018f000000800010043f000005ba01000041000016460001042e0000000001000416000000000110004c0000024f0000c13d0000000001000031164504110000040f164512160000040f0000059301000041000000400200043d000005930320009c00000000010240190000004001100210000016460001042e0000000001000416000000000110004c0000024f0000c13d000000040100008a00000000011000310000059502000041000000200310008c000000000300001900000000030240190000059501100197000000000410004c000000000200a019000005950110009c00000000010300190000000001026019000000000110004c0000024f0000c13d00000004010000390000000201100367000000000101043b164513190000040f0000059301000041000000400200043d000005930320009c00000000010240190000004001100210000016460001042e0000000001000416000000000110004c0000024f0000c13d0000000001000031164503e30000040f164508430000040f0000059301000041000000400200043d000005930320009c00000000010240190000004001100210000016460001042e000000000100001900001647000104300008000000000002000600000003001d000500000002001d000700000001001d0000000000000435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f00000001022001900000039c0000613d000000000101043b0000000002000411000400000002001d0000059602200197000800000002001d0000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f00000001022001900000039c0000613d000000000101043b000000000101041a000000ff01100190000002aa0000c13d0000000000000435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f00000001022001900000039c0000613d000000000101043b00000008020000290000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f00000001022001900000039c0000613d000000000101043b000000000201041a000001000300008a000000000232016f00000001022001bf000000000021041b000000400100043d00000593020000410000000003000414000005930430009c0000000003028019000005930410009c00000000010280190000004001100210000000c002300210000000000112019f000005bc011001c70000800d020000390000000403000039000005bd040000410000000005000019000000040600002900000000070600191645163b0000040f00000001012001900000039c0000613d000005b5010000410000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f00000001022001900000039c0000613d000000000101043b00000008020000290000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f00000001022001900000039c0000613d000000000101043b000000000101041a000000ff01100190000002fe0000c13d000005b5010000410000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f00000001022001900000039c0000613d000000000101043b00000008020000290000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f00000001022001900000039c0000613d000000000101043b000000000201041a000001000300008a000000000232016f00000001022001bf000000000021041b000000400100043d00000593020000410000000003000414000005930430009c0000000003028019000005930410009c00000000010280190000004001100210000000c002300210000000000112019f000005bc011001c70000800d020000390000000403000039000005bd04000041000005b505000041000000040600002900000000070600191645163b0000040f00000001012001900000039c0000613d00000007060000290000000058060434000000000180004c0000039e0000613d000005be0180009c000003b00000813d0000000207000039000000000107041a000000010210019000000001011002700000007f0310018f000000000401001900000000040360190000001f0140008c00000000010000190000000101002039000000010110018f000000000112004b000003b60000c13d000000000184019f000000200110008c00000000010000190000032a0000413d000100000004001d000200000005001d000300000008001d000400000007001d000000000070043500000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bf011001c70000801002000039164516400000040f00000001022001900000039c0000613d000000000101043b00000007060000290000000407000029000000030800002900000002050000290000000104000029000000200240008c0000033b0000413d0000001f028000390000000502200270000000200380008c000000000302001900000000030040190000001f02400039000000050220027000000000022100190000000003310019000000000423004b0000033b0000813d000000000003041b0000000103300039000000000423004b000003370000413d0000001f0280008c000003590000a13d000000200200008a000000000328017000000020020000390000034b0000613d0000002002000039000000000400001900000000056200190000000005050433000000000051041b000000200220003900000001011000390000002004400039000000000534004b000003430000413d000000000383004b000003560000813d0000000303800210000000f80330018f000000010400008a000000000334022f000000000343013f00000000026200190000000002020433000000000232016f000000000021041b00000001010000390000000102800210000003600000013d0000000301800210000000010200008a000000000112022f000000000121013f0000000002050433000000000212016f0000000101800210000000000112019f000000000017041b000005b5010000410000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f00000001022001900000039c0000613d000000000101043b00000008020000290000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f00000001022001900000039c0000613d000000000101043b000000000101041a000000ff01100190000003bc0000613d0000000602000029000000000120004c000003d10000613d0000000101000039000000000021041b000000400100043d000000000021043500000593020000410000000003000414000005930430009c0000000003028019000005930410009c00000000010280190000004001100210000000c002300210000000000112019f000005bf011001c70000800d020000390000000203000039000005c00400004100000000050004101645163b0000040f00000001012001900000039c0000613d0000000501000029000000800010043f000000000001042d00000000010000190000164700010430000000400100043d0000004402100039000005c7030000410000000000320435000000240210003900000014030000390000000000320435000005c20200004100000000002104350000000402100039000000200300003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c3011001c70000164700010430000005980100004100000000001004350000004101000039000000040010043f00000599010000410000164700010430000005980100004100000000001004350000002201000039000000040010043f00000599010000410000164700010430000000400100043d0000006402100039000005c40300004100000000003204350000004402100039000005c5030000410000000000320435000000240210003900000028030000390000000000320435000005c20200004100000000002104350000000402100039000000200300003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c6011001c70000164700010430000000400100043d0000004402100039000005c1030000410000000000320435000000240210003900000014030000390000000000320435000005c20200004100000000002104350000000402100039000000200300003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c3011001c70000164700010430000000040110008a00000595020000410000001f0310008c000000000300001900000000030220190000059501100197000000000410004c0000000002008019000005950110009c00000000010300190000000001026019000000000110004c000003f60000613d00000004010000390000000201100367000000000101043b000005960210009c000003f60000213d000000000001042d00000000010000190000164700010430000000040110008a00000595020000410000003f0310008c000000000300001900000000030220190000059501100197000000000410004c0000000002008019000005950110009c00000000010300190000000001026019000000000110004c0000040f0000613d00000002020003670000000401200370000000000101043b000005960310009c0000040f0000213d0000002402200370000000000202043b000005960320009c0000040f0000213d000000000001042d00000000010000190000164700010430000000040110008a00000595020000410000003f0310008c000000000300001900000000030220190000059501100197000000000410004c0000000002008019000005950110009c00000000010300190000000001026019000000000110004c000004260000613d00000002020003670000000401200370000000000101043b000005960310009c000004260000213d0000002402200370000000000202043b000000000001042d00000000010000190000164700010430000000040110008a00000595020000410000003f0310008c000000000300001900000000030220190000059501100197000000000410004c0000000002008019000005950110009c00000000010300190000000001026019000000000110004c0000043d0000613d00000002010003670000002402100370000000000202043b000005960320009c0000043d0000213d0000000401100370000000000101043b000000000001042d00000000010000190000164700010430000000040110008a00000595020000410000001f0310008c000000000300001900000000030220190000059501100197000000000410004c0000000002008019000005950110009c00000000010300190000000001026019000000000110004c000004530000613d00000004010000390000000201100367000000000101043b000005b702100197000000000221004b000004530000c13d000000000001042d00000000010000190000164700010430000000040110008a00000595020000410000005f0310008c000000000300001900000000030220190000059501100197000000000410004c0000000002008019000005950110009c00000000010300190000000001026019000000000110004c0000046e0000613d00000002030003670000000401300370000000000101043b0000002402300370000000000202043b000005960420009c0000046e0000213d0000004403300370000000000303043b000005960430009c0000046e0000213d000000000001042d00000000010000190000164700010430000000040110008a00000595020000410000009f0310008c000000000300001900000000030220190000059501100197000000000410004c0000000002008019000005950110009c00000000010300190000000001026019000000000110004c0000048f0000613d00000002050003670000002401500370000000000201043b0000000401500370000000000101043b0000004403500370000000000303043b000005960430009c0000048f0000213d0000006404500370000000000404043b000005960640009c0000048f0000213d0000008405500370000000000505043b000005960650009c0000048f0000213d000000000001042d0000000001000019000016470001043000000000030100190000000004030433000000000140004c0000000001240019000004a10000613d000000000500001900000000062500190000002005500039000000000735001900000000070704330000000000760435000000000645004b000004970000413d000000000245004b000004a10000a13d0000000000010435000000000001042d00000020030000390000000004310436000000000302043300000000003404350000004001100039000000000430004c000004b50000613d000000000400001900000000051400190000002004400039000000000624001900000000060604330000000000650435000000000534004b000004aa0000413d000000000234004b000004b50000a13d000000000213001900000000000204350000001f02300039000000200300008a000000000232016f0000000001120019000000000001042d0000001f02200039000000200300008a000000000232016f0000000001120019000000000221004b00000000020000190000000102004039000005940310009c000004c70000213d0000000102200190000004c70000c13d000000400010043f000000000001042d000005980100004100000000001004350000004101000039000000040010043f0000059901000041000016470001043000060000000000020000000005010019000000000123013f00000596011001980000000001000019000006af0000613d000000000450004c000006af0000613d000400000003001d000500000002001d000300000005001d000005c801000041000000000010043900000000010004120000000400100443000000240000044300000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005c9011001c70000800502000039164516400000040f0000000102200190000006b00000613d000000000101043b000005ca0200004100000000002004390000059601100197000600000001001d000000040010044300000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005cb011001c70000800202000039164516400000040f00000006050000290000000102200190000006b00000613d000000000101043b000000000110004c000006b00000613d000000400900043d000005cc0100004100000000001904350000004402900039000000000100041400000001030000390000000000320435000000040200002900000596032001970000002402900039000200000003001d0000000000320435000000050200002900000596032001970000000402900039000500000003001d0000000000320435000000040250008c000005100000c13d0000000103000031000005430000013d0000059302000041000005930310009c0000000001028019000005930390009c00000000020940190000004002200210000000c001100210000000000121019f000005c3011001c70000000002050019000400000009001d164516400000040f0000000409000029000000000301001900000060033002700000059303300197000000200430008c000000200500003900000000050340190000001f0450018f00000005055002720000052f0000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b000005270000413d000000000640004c0000053e0000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f000300000001035500000001022001900000000605000029000006b80000613d0000001f01300039000000200200008a000400000002001d000000000221016f0000000001920019000000000221004b00000000020000190000000102004039000005940310009c000006b20000213d0000000102200190000006b20000c13d000000400010043f00000595010000410000000102000031000000200320008c000000000300001900000000030140190000059502200197000000000420004c000000000100a019000005950220009c000000000103c019000000000110004c000006b00000c13d0000000004090433000005960140009c000006b00000213d000000000140004c0000000001000019000005cf0000613d000005ca010000410000000000100439000000040040044300000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005cb011001c70000800202000039000100000004001d164516400000040f000000010400002900000006050000290000000102200190000006b00000613d000000000101043b000000000110004c000006b00000613d000000400900043d000005cd0100004100000000001904350000002402900039000000000100041400000005030000290000000000320435000000040290003900000003030000290000000000320435000000040240008c000005830000c13d0000000103000031000005b60000013d0000059302000041000005930310009c0000000001028019000005930390009c00000000020940190000004002200210000000c001100210000000000121019f000005ce011001c70000000002040019000100000009001d164516400000040f0000000109000029000000000301001900000060033002700000059303300197000000200430008c000000200500003900000000050340190000001f0450018f0000000505500272000005a20000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b0000059a0000413d000000000640004c000005b10000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f000300000001035500000001022001900000000605000029000006f60000613d0000001f013000390000000402000029000000000221016f0000000001920019000000000221004b00000000020000190000000102004039000005940310009c000006b20000213d0000000102200190000006b20000c13d000000400010043f00000595010000410000000102000031000000200320008c000000000300001900000000030140190000059502200197000000000420004c000000000100a019000005950220009c000000000103c019000000000110004c000006b00000c13d0000000001090433000100000001001d000005ca010000410000000000100439000000040050044300000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005cb011001c70000800202000039164516400000040f00000006040000290000000102200190000006b00000613d000000000101043b000000000110004c000006b00000613d000000400900043d000005cc010000410000000000190435000000240290003900000000010004140000000203000029000000000032043500000004029000390000000503000029000000000032043500000044029000390000000000020435000000040240008c000005f10000c13d0000000103000031000006230000013d0000059302000041000005930310009c0000000001028019000005930390009c00000000020940190000004002200210000000c001100210000000000121019f000005c3011001c70000000002040019000600000009001d164516400000040f0000000609000029000000000301001900000060033002700000059303300197000000200430008c000000200500003900000000050340190000001f0450018f0000000505500272000006100000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b000006080000413d000000000640004c0000061f0000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f00030000000103550000000102200190000006d70000613d0000001f013000390000000402000029000000000221016f0000000001920019000000000221004b00000000020000190000000102004039000005940310009c000006b20000213d0000000102200190000006b20000c13d000000400010043f00000595010000410000000102000031000000200320008c000000000300001900000000030140190000059502200197000000000420004c000000000100a019000005950220009c000000000103c019000000000110004c000006b00000c13d0000000004090433000005960140009c000006b00000213d000000000140004c0000000001000019000006ac0000613d000005ca010000410000000000100439000000040040044300000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005cb011001c70000800202000039000600000004001d164516400000040f00000006040000290000000102200190000006b00000613d000000000101043b000000000110004c000006b00000613d000000400900043d000005cd0100004100000000001904350000002402900039000000000100041400000005030000290000000000320435000000040290003900000003030000290000000000320435000000040240008c000006610000c13d0000000103000031000006930000013d0000059302000041000005930310009c0000000001028019000005930390009c00000000020940190000004002200210000000c001100210000000000121019f000005ce011001c70000000002040019000600000009001d164516400000040f0000000609000029000000000301001900000060033002700000059303300197000000200430008c000000200500003900000000050340190000001f0450018f0000000505500272000006800000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b000006780000413d000000000640004c0000068f0000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f00030000000103550000000102200190000007150000613d0000001f013000390000000402000029000000000221016f0000000001920019000000000221004b00000000020000190000000102004039000005940310009c000006b20000213d0000000102200190000006b20000c13d000000400010043f00000595010000410000000102000031000000200320008c000000000300001900000000030140190000059502200197000000000420004c000000000100a019000005950220009c000000000103c019000000000110004c000006b00000c13d00000000010904330000000103000029000000000213004b0000000001032019000000000001042d00000000010000190000164700010430000005980100004100000000001004350000004101000039000000040010043f000005990100004100001647000104300000001f0430018f0000000502300272000006c30000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b000006bc0000413d000000000340004c000006d10000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000593010000410000000102000031000005930320009c0000000001024019000000600110021000001647000104300000001f0430018f0000000502300272000006e20000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b000006db0000413d000000000340004c000006f00000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000593010000410000000102000031000005930320009c0000000001024019000000600110021000001647000104300000001f0430018f0000000502300272000007010000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b000006fa0000413d000000000340004c0000070f0000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000593010000410000000102000031000005930320009c0000000001024019000000600110021000001647000104300000001f0430018f0000000502300272000007200000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b000007190000413d000000000340004c0000072e0000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000593010000410000000102000031000005930320009c0000000001024019000000600110021000001647000104300003000000000002000300000001001d000005b5010000410000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000007be0000613d000000000101043b0000000101100039000000000101041a000100000001001d0000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000007be0000613d000000000101043b0000000002000411000200000002001d00000596022001970000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000007be0000613d000000000101043b000000000101041a000000ff01100190000007c00000613d000005b5010000410000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000007be0000613d000000000101043b00000003020000290000059602200197000100000002001d0000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000007be0000613d000000000101043b000000000101041a000000ff01100190000007bd0000c13d000005b5010000410000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000007be0000613d000000000101043b00000001020000290000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000007be0000613d000000000101043b000000000201041a000001000300008a000000000232016f00000001022001bf000000000021041b000000400100043d00000593020000410000000003000414000005930430009c0000000003028019000005930410009c00000000010280190000004001100210000000c002300210000000000112019f000005bc011001c70000800d020000390000000403000039000005bd04000041000005b505000041000000030600002900000002070000291645163b0000040f0000000101200190000007be0000613d000000000001042d00000000010000190000164700010430000000400100043d0000000007010019000005cf0110009c000007ca0000413d000005980100004100000000001004350000004101000039000000040010043f0000059901000041000016470001043000000000020700190000006001200039000000400010043f0000002a01000039000000000112043600000000020000310000000202200367000000000300001900000005043002100000000005410019000000000442034f000000000404043b00000000004504350000000103300039000000020430008c000007d20000413d0000000002070433000000000220004c000007e40000613d0000000002010433000005d002200197000005d1022001c700000000002104350000000002070433000000020220008c000007ea0000813d000005980100004100000000001004350000003201000039000000040010043f0000059901000041000016470001043000000021027000390000000003020433000005d003300197000005d2033001c700000000003204350000002902000039000000020500002900000000030500190000000004070433000000000424004b000007e40000a13d0000000f0430018f0000000304400210000000f80440015f000005d305000041000000000445022f00000000051200190000000006050433000005d006600197000000f804400210000000000446019f00000000004504350000000405300270000000010220008a000000010420008c000007f10000213d000000100130008c00000000010000190000000101004039000200000007001d164516270000040f000000010100002916450f160000040f000000400400043d000300000004001d0000002002400039000005d4030000410000000000320435000100000001001d00000037024000390000000201000029164504910000040f000005d502000041000000000021043500000011021000390000000101000029164504910000040f00000003030000290000000002310049000000200120008a00000000001304350000000001030019164504ba0000040f000005c201000041000000400200043d000200000002001d000000000012043500000004012000390000000302000029164504a20000040f000000020400002900000000014100490000059302000041000005930310009c0000000001028019000005930340009c000000000204401900000040022002100000006001100210000000000121019f00001647000104300000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000008410000613d000000000101043b0000000101100039000000000101041a000000000001042d000000000100001900001647000104300003000000000002000300000001001d000005b5010000410000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000008cc0000613d000000000101043b0000000101100039000000000101041a000100000001001d0000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000008cc0000613d000000000101043b0000000002000411000200000002001d00000596022001970000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000008cc0000613d000000000101043b000000000101041a000000ff01100190000008ce0000613d000005b5010000410000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000008cc0000613d000000000101043b00000003020000290000059602200197000100000002001d0000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000008cc0000613d000000000101043b000000000101041a000000ff01100190000008cb0000613d000005b5010000410000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000008cc0000613d000000000101043b00000001020000290000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000008cc0000613d000000000101043b000000000201041a000001000300008a000000000232016f000000000021041b000000400100043d00000593020000410000000003000414000005930430009c0000000003028019000005930410009c00000000010280190000004001100210000000c002300210000000000112019f000005bc011001c70000800d020000390000000403000039000005d604000041000005b505000041000000030600002900000002070000291645163b0000040f0000000101200190000008cc0000613d000000000001042d00000000010000190000164700010430000000400100043d0000000007010019000005cf0110009c000008d80000413d000005980100004100000000001004350000004101000039000000040010043f0000059901000041000016470001043000000000020700190000006001200039000000400010043f0000002a01000039000000000112043600000000020000310000000202200367000000000300001900000005043002100000000005410019000000000442034f000000000404043b00000000004504350000000103300039000000020430008c000008e00000413d0000000002070433000000000220004c000008f20000613d0000000002010433000005d002200197000005d1022001c700000000002104350000000002070433000000020220008c000008f80000813d000005980100004100000000001004350000003201000039000000040010043f0000059901000041000016470001043000000021027000390000000003020433000005d003300197000005d2033001c700000000003204350000002902000039000000020500002900000000030500190000000004070433000000000424004b000008f20000a13d0000000f0430018f0000000304400210000000f80440015f000005d305000041000000000445022f00000000051200190000000006050433000005d006600197000000f804400210000000000446019f00000000004504350000000405300270000000010220008a000000010420008c000008ff0000213d000000100130008c00000000010000190000000101004039000200000007001d164516270000040f000000010100002916450f160000040f000000400400043d000300000004001d0000002002400039000005d4030000410000000000320435000100000001001d00000037024000390000000201000029164504910000040f000005d502000041000000000021043500000011021000390000000101000029164504910000040f00000003030000290000000002310049000000200120008a00000000001304350000000001030019164504ba0000040f000005c201000041000000400200043d000200000002001d000000000012043500000004012000390000000302000029164504a20000040f000000020400002900000000014100490000059302000041000005930310009c0000000001028019000005930340009c000000000204401900000040022002100000006001100210000000000121019f0000164700010430000300000000000200000000030004110000059602300197000300000002001d000100000003001d000005d70230009c0000099c0000813d000200000001001d0000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f00000001022001900000099a0000613d000000000101043b00000003020000290000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f00000001022001900000099a0000613d000000000101043b000000000101041a000000ff01100190000009990000613d00000002010000290000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f00000001022001900000099a0000613d000000000101043b00000003020000290000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f00000001022001900000099a0000613d000000000101043b000000000201041a000001000300008a000000000232016f000000000021041b000000400100043d00000593020000410000000003000414000005930430009c0000000003028019000005930410009c00000000010280190000004001100210000000c002300210000000000112019f000005bc011001c70000800d020000390000000403000039000005d6040000410000000205000029000000010600002900000003070000291645163b0000040f00000001012001900000099a0000613d000000000001042d00000000010000190000164700010430000000400100043d0000006402100039000005d80300004100000000003204350000004402100039000005d903000041000000000032043500000024021000390000002f030000390000000000320435000005c20200004100000000002104350000000402100039000000200300003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c6011001c700001647000104300003000000000002000100000002001d00000596022001970000000003000411000300000002001d000000000232004b00000a0e0000c13d000200000001001d0000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f000000010220019000000a0c0000613d000000000101043b00000003020000290000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f000000010220019000000a0c0000613d000000000101043b000000000101041a000000ff0110019000000a0b0000613d00000002010000290000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f000000010220019000000a0c0000613d000000000101043b00000003020000290000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f000000010220019000000a0c0000613d000000000101043b000000000201041a000001000300008a000000000232016f000000000021041b000000400100043d00000593020000410000000003000414000005930430009c0000000003028019000005930410009c00000000010280190000004001100210000000c002300210000000000112019f000005bc011001c70000800d020000390000000403000039000005d6040000410000000205000029000000010600002900000003070000291645163b0000040f000000010120019000000a0c0000613d000000000001042d00000000010000190000164700010430000000400100043d0000006402100039000005d80300004100000000003204350000004402100039000005d903000041000000000032043500000024021000390000002f030000390000000000320435000005c20200004100000000002104350000000402100039000000200300003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c6011001c70000164700010430000d000000000002000d00000005001d000700000003001d000600000002001d000900000001001d000005ca010000410000000000100439000300000004001d0000059601400197000c00000001001d000000040010044300000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005cb011001c70000800202000039164516400000040f000000010220019000000de90000613d000000000101043b000000000110004c00000de90000613d000000400900043d000005da0100004100000000001904350000000d01000029000005960310019700000004029000390000000001000414000500000003001d00000000003204350000000c02000029000000040320008c00000a490000c13d000000010300003100000a7b0000013d0000059304000041000005930310009c0000000001048019000005930390009c000000000304001900000000030940190000004003300210000000c001100210000000000131019f00000599011001c7000d00000009001d164516400000040f0000000d09000029000000000301001900000060033002700000059303300197000000200430008c000000200500003900000000050340190000001f0450018f000000050550027200000a680000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b00000a600000413d000000000640004c00000a770000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f0003000000010355000000010220019000000e3d0000613d0000001f01300039000000200200008a000d00000002001d000000000221016f0000000001920019000000000221004b00000000020000190000000102004039000005940310009c00000deb0000213d000000010220019000000deb0000c13d000000400010043f00000595010000410000000102000031000000200320008c000000000300001900000000030140190000059502200197000000000420004c000000000100a019000005950220009c000000000103c019000000000110004c00000de90000c13d0000000001090433000200000001001d000005c801000041000000000010043900000000010004120000000400100443000000240000044300000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005c9011001c70000800502000039164516400000040f000000010220019000000de90000613d000000000101043b000005ca0200004100000000002004390000059601100197000b00000001001d000000040010044300000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005cb011001c70000800202000039164516400000040f0000000b05000029000000010220019000000de90000613d000000000101043b000000000110004c00000de90000613d000000400900043d000005cc010000410000000000190435000000440290003900000000010004140000000103000039000000000032043500000024029000390000000c03000029000000000032043500000007020000290000059603200197000800000003001d00000004029000390000000000320435000000040250008c00000acc0000c13d000000010300003100000aff0000013d0000059302000041000005930310009c0000000001028019000005930390009c00000000020940190000004002200210000000c001100210000000000121019f000005c3011001c70000000002050019000a00000009001d164516400000040f0000000a09000029000000000301001900000060033002700000059303300197000000200430008c000000200500003900000000050340190000001f0450018f000000050550027200000aeb0000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b00000ae30000413d000000000640004c00000afa0000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f000300000001035500000001022001900000000b0500002900000e5c0000613d0000001f013000390000000d02000029000000000221016f0000000001920019000000000221004b00000000020000190000000102004039000005940310009c00000deb0000213d000000010220019000000deb0000c13d000000400010043f00000595010000410000000102000031000000200320008c000000000300001900000000030140190000059502200197000000000420004c000000000100a019000005950220009c000000000103c019000000000110004c00000de90000c13d0000000001090433000a00000001001d000005960110009c00000de90000213d0000000a01000029000000000110004c000000000100001900000b8c0000613d000005ca0100004100000000001004390000000a01000029000000040010044300000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005cb011001c70000800202000039164516400000040f0000000b050000290000000102200190000000080300002900000de90000613d000000000101043b000000000110004c00000de90000613d000000400900043d000005cd0100004100000000001904350000002402900039000000000100041400000000003204350000000402900039000000090300002900000000003204350000000a02000029000000040320008c00000b400000c13d000000010300003100000b730000013d0000059304000041000005930310009c0000000001048019000005930390009c000000000304001900000000030940190000004003300210000000c001100210000000000131019f000005ce011001c7000400000009001d164516400000040f0000000409000029000000000301001900000060033002700000059303300197000000200430008c000000200500003900000000050340190000001f0450018f000000050550027200000b5f0000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b00000b570000413d000000000640004c00000b6e0000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f000300000001035500000001022001900000000b0500002900000ed80000613d0000001f013000390000000d02000029000000000221016f0000000001920019000000000221004b00000000020000190000000102004039000005940310009c00000deb0000213d000000010220019000000deb0000c13d000000400010043f00000595010000410000000102000031000000200320008c000000000300001900000000030140190000059502200197000000000420004c000000000100a019000005950220009c000000000103c019000000000110004c00000de90000c13d0000000001090433000400000001001d000005ca010000410000000000100439000000040050044300000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005cb011001c70000800202000039164516400000040f0000000b040000290000000102200190000000080600002900000de90000613d000000000101043b000000000110004c00000de90000613d000000400900043d000005cc010000410000000000190435000000240290003900000000010004140000000c0300002900000000003204350000000402900039000000000062043500000044029000390000000000020435000000040240008c00000bae0000c13d000000010300003100000be10000013d0000059302000041000005930310009c0000000001028019000005930390009c00000000020940190000004002200210000000c001100210000000000121019f000005c3011001c70000000002040019000b00000009001d164516400000040f0000000b09000029000000000301001900000060033002700000059303300197000000200430008c000000200500003900000000050340190000001f0450018f000000050550027200000bcd0000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b00000bc50000413d000000000640004c00000bdc0000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f00030000000103550000000102200190000000080600002900000e7b0000613d0000001f013000390000000d02000029000000000221016f0000000001920019000000000221004b00000000020000190000000102004039000005940310009c00000deb0000213d000000010220019000000deb0000c13d000000400010043f00000595020000410000000103000031000000200430008c000000000400001900000000040240190000059503300197000000000530004c000000000200a019000005950330009c000000000204c019000000000220004c00000de90000c13d0000000007090433000005960270009c00000de90000213d000000000270004c000000000200001900000c6c0000613d000005ca010000410000000000100439000000040070044300000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005cb011001c70000800202000039000b00000007001d164516400000040f0000000b070000290000000806000029000000010220019000000de90000613d000000000101043b000000000110004c00000de90000613d000000400900043d000005cd010000410000000000190435000000240290003900000000010004140000000000620435000000040290003900000009030000290000000000320435000000040270008c00000c1f0000c13d000000010300003100000c530000013d0000059302000041000005930310009c0000000001028019000005930390009c00000000020940190000004002200210000000c001100210000000000121019f000005ce011001c70000000002070019000100000009001d164516400000040f0000000109000029000000000301001900000060033002700000059303300197000000200430008c000000200500003900000000050340190000001f0450018f000000050550027200000c3e0000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b00000c360000413d000000000640004c00000c4d0000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f0003000000010355000000010220019000000008060000290000000b0700002900000ef70000613d0000001f013000390000000d02000029000000000221016f0000000001920019000000000221004b00000000020000190000000102004039000005940310009c00000deb0000213d000000010220019000000deb0000c13d000000400010043f00000595020000410000000103000031000000200430008c000000000400001900000000040240190000059503300197000000000530004c000000000200a019000005950330009c000000000204c019000000000220004c00000de90000c13d00000000020904330000000404000029000000000324004b0000000a03000029000000000a070019000000000a032019000000000302001900000000030420190000000602000029000000000223004b0000004402100039000000240410003900000df10000413d000000090500002900000000005204350000002002100039000005db0500004100000000005204350000000000a404350000000c04000029000000000446004b00000000040000190000000004034019000400000004001d0000000003004019000a00000003001d00000044030000390000000000310435000005dc0310009c00000deb0000213d0000008003100039000000400030043f0000000003000414000000040460008c000b0000000a001d00000c920000c13d0000000103000031000000000200001900000ca80000013d0000059304000041000005930520009c000000000204801900000040022002100000000001010433000005930510009c00000000010480190000006001100210000000000121019f000005930230009c00000000020400190000000002034019000000c002200210000000000121019f00000000020600191645163b0000040f0000000b0a000029000000010220015f00030000000103550000006001100270000105930010019d00000593031001970000006001000039000000000430004c00000cd60000613d0000003f013000390000000d04000029000000000441016f000000400100043d0000000004410019000000000514004b00000000050000190000000105004039000005940640009c00000deb0000213d000000010550019000000deb0000c13d000000400040043f0000000003310436000000030400036700000001060000310000001f0560018f000000050660027200000cc70000613d000000000700001900000005087002100000000009830019000000000884034f000000000808043b00000000008904350000000107700039000000000867004b00000cbf0000413d000000000750004c00000cd60000613d0000000506600210000000000464034f00000000036300190000000305500210000000000603043300000000065601cf000000000656022f000000000404043b0000010005500089000000000454022f00000000045401cf000000000464019f0000000000430435000000010220019000000e000000c13d0000000012010434000000000320004c00000cef0000613d0000059503000041000000200420008c000000000400001900000000040340190000059502200197000000000520004c000000000300a019000005950220009c00000000020400190000000002036019000000000220004c00000de90000c13d0000000001010433000000000210004c0000000002000019000000010200c039000000000221004b00000de90000c13d000000000110004c00000e280000613d000000400200043d000005df0120009c00000deb0000213d0000002001200039000000400010043f000800000002001d0000000000020435000005ca0100004100000000001004390000000400a0044300000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005cb011001c70000800202000039164516400000040f0000000b07000029000000010220019000000de90000613d000000000101043b000000000110004c00000de90000613d000000400800043d000005e0010000410000000000180435000000640280003900000000010004140000008003000039000000000032043500000044028000390000000503000029000000000032043500000024028000390000000403000029000000000032043500000004028000390000000a0300002900000000003204350000000809000029000000000209043300000084038000390000000000230435000000000320004c00000d2a0000613d000000a403800039000000000400001900000000053400190000002004400039000000000694001900000000060604330000000000650435000000000524004b00000d1f0000413d000000000424004b00000d2a0000a13d00000000033200190000000000030435000000040370008c00000d2f0000c13d00000001040000310000000d0300002900000d4c0000013d0000001f022000390000000d03000029000000000232016f0000059303000041000005930480009c000000000403001900000000040840190000004004400210000000a402200039000005930520009c00000000020380190000006002200210000000000242019f000005930410009c0000000001038019000000c001100210000000000112019f0000000002070019000b00000008001d1645163b0000040f0000000b0800002900000000030100190000006003300270000105930030019d00000593043001970000000d030000290003000000010355000000010220019000000e9a0000613d0000001f01400039000000000231016f0000000001820019000000000221004b00000000020000190000000102004039000005940310009c00000deb0000213d000000010220019000000deb0000c13d000000400010043f00000595010000410000000102000031000000000320004c000000000300001900000000030140190000059502200197000000000420004c000000000100a019000005950220009c000000000103c019000000000110004c00000de90000c13d000005ca0100004100000000001004390000000c01000029000000040010044300000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005cb011001c70000800202000039164516400000040f000000010220019000000de90000613d000000000101043b000000000110004c00000de90000613d000000400900043d000005da01000041000000000019043500000004029000390000000001000414000000050300002900000000003204350000000c02000029000000040320008c00000d800000c13d000000010300003100000db20000013d0000059304000041000005930310009c0000000001048019000005930390009c000000000304001900000000030940190000004003300210000000c001100210000000000131019f00000599011001c7000c00000009001d164516400000040f0000000c09000029000000000301001900000060033002700000059303300197000000200430008c000000200500003900000000050340190000001f0450018f000000050550027200000d9f0000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b00000d970000413d000000000640004c00000dae0000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f0003000000010355000000010220019000000eb90000613d0000001f013000390000000d02000029000000000221016f0000000001920019000000000221004b00000000020000190000000102004039000005940310009c00000deb0000213d000000010220019000000deb0000c13d000000400010043f00000595020000410000000103000031000000200430008c000000000400001900000000040240190000059503300197000000000530004c000000000200a019000005950330009c000000000204c019000000000220004c00000de90000c13d00000000020904330000000204000029000000000342004b00000e110000413d00000000024200490000000603000029000000000232004b00000e170000413d000000200210003900000000003204350000000902000029000000000021043500000593020000410000000003000414000005930430009c0000000003028019000005930410009c00000000010280190000004001100210000000c002300210000000000112019f000005bb011001c70000800d020000390000000303000039000005e104000041000000070500002900000003060000291645163b0000040f000000010120019000000de90000613d000000000001042d00000000010000190000164700010430000005980100004100000000001004350000004101000039000000040010043f00000599010000410000164700010430000005e403000041000000000032043500000016020000390000000000240435000005c20200004100000000002104350000000402100039000000200300003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c3011001c70000164700010430000000400100043d0000004402100039000005e3030000410000000000320435000005c2020000410000000000210435000000240210003900000020030000390000000000320435000000040210003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c3011001c70000164700010430000005980100004100000000001004350000001101000039000000040010043f000005990100004100001647000104300000004402100039000005e2030000410000000000320435000000240210003900000017030000390000000000320435000005c20200004100000000002104350000000402100039000000200300003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c3011001c70000164700010430000000400100043d0000006402100039000005dd0300004100000000003204350000004402100039000005de03000041000000000032043500000024021000390000002a030000390000000000320435000005c20200004100000000002104350000000402100039000000200300003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c6011001c700001647000104300000001f0430018f000000050230027200000e480000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b00000e410000413d000000000340004c00000e560000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000593010000410000000102000031000005930320009c0000000001024019000000600110021000001647000104300000001f0430018f000000050230027200000e670000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b00000e600000413d000000000340004c00000e750000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000593010000410000000102000031000005930320009c0000000001024019000000600110021000001647000104300000001f0430018f000000050230027200000e860000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b00000e7f0000413d000000000340004c00000e940000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000593010000410000000102000031000005930320009c0000000001024019000000600110021000001647000104300000001f0340018f000000050240027200000ea50000613d00000000040000190000000505400210000000000651034f000000000606043b00000000006504350000000104400039000000000524004b00000e9e0000413d000000000430004c00000eb30000613d00000003033002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000593010000410000000102000031000005930320009c0000000001024019000000600110021000001647000104300000001f0430018f000000050230027200000ec40000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b00000ebd0000413d000000000340004c00000ed20000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000593010000410000000102000031000005930320009c0000000001024019000000600110021000001647000104300000001f0430018f000000050230027200000ee30000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b00000edc0000413d000000000340004c00000ef10000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000593010000410000000102000031000005930320009c0000000001024019000000600110021000001647000104300000001f0430018f000000050230027200000f020000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b00000efb0000413d000000000340004c00000f100000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000593010000410000000102000031000005930320009c0000000001024019000000600110021000001647000104300000000002010019000000400100043d000005e50310009c00000f550000813d0000008003100039000000400030043f0000004203000039000000000331043600000000040000310000000204400367000000000500001900000005065002100000000007630019000000000664034f000000000606043b00000000006704350000000105500039000000030650008c00000f210000413d0000000004010433000000000440004c00000f4f0000613d0000000004030433000005d004400197000005d1044001c700000000004304350000000004010433000000020440008c00000f4f0000413d00000021041000390000000005040433000005d005500197000005d2055001c70000000000540435000000410400003900000000050200190000000002010433000000000242004b00000f4f0000a13d0000000f0250018f0000000302200210000000f80220015f000005d306000041000000000226022f00000000063400190000000007060433000005d007700197000000f802200210000000000227019f00000000002604350000000402500270000000010440008a000000010640008c00000f390000213d000000100250008c00000f5b0000813d000000000001042d000005980100004100000000001004350000003201000039000000040010043f00000599010000410000164700010430000005980100004100000000001004350000004101000039000000040010043f00000599010000410000164700010430000000400100043d0000004402100039000005e6030000410000000000320435000005c2020000410000000000210435000000240210003900000020030000390000000000320435000000040210003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c3011001c700001647000104300004000000000002000300000001001d0000000000000435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000010450000613d000000000101043b0000000101100039000000000101041a000100000001001d0000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000010450000613d000000000101043b0000000002000411000200000002001d0000059602200197000400000002001d0000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000010450000613d000000000101043b000000000101041a000000ff01100190000010470000613d0000000000000435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000010450000613d000000000101043b00000003020000290000059602200197000100000002001d0000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000010450000613d000000000101043b000000000101041a000000ff0110019000000ff30000c13d0000000000000435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000010450000613d000000000101043b00000001020000290000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000010450000613d000000000101043b000000000201041a000001000300008a000000000232016f00000001022001bf000000000021041b000000400100043d00000593020000410000000003000414000005930430009c0000000003028019000005930410009c00000000010280190000004001100210000000c002300210000000000112019f000005bc011001c70000800d020000390000000403000039000005bd040000410000000005000019000000030600002900000002070000291645163b0000040f0000000101200190000010450000613d0000000000000435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000010450000613d000000000101043b00000004020000290000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000010450000613d000000000101043b000000000101041a000000ff01100190000010440000613d0000000000000435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000010450000613d000000000101043b00000004020000290000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000010450000613d000000000101043b000000000201041a000001000300008a000000000232016f000000000021041b000000400100043d00000593020000410000000003000414000005930430009c0000000003028019000005930410009c00000000010280190000004001100210000000c002300210000000000112019f000005bc011001c70000800d020000390000000403000039000005d6040000410000000005000019000000020600002900000000070600191645163b0000040f0000000101200190000010450000613d000000000001042d00000000010000190000164700010430000000400100043d0000000007010019000005cf0110009c000010510000413d000005980100004100000000001004350000004101000039000000040010043f0000059901000041000016470001043000000000020700190000006001200039000000400010043f0000002a01000039000000000112043600000000020000310000000202200367000000000300001900000005043002100000000005410019000000000442034f000000000404043b00000000004504350000000103300039000000020430008c000010590000413d0000000002070433000000000220004c0000106b0000613d0000000002010433000005d002200197000005d1022001c700000000002104350000000002070433000000020220008c000010710000813d000005980100004100000000001004350000003201000039000000040010043f0000059901000041000016470001043000000021027000390000000003020433000005d003300197000005d2033001c700000000003204350000002902000039000000020500002900000000030500190000000004070433000000000424004b0000106b0000a13d0000000f0430018f0000000304400210000000f80440015f000005d305000041000000000445022f00000000051200190000000006050433000005d006600197000000f804400210000000000446019f00000000004504350000000405300270000000010220008a000000010420008c000010780000213d000000100130008c00000000010000190000000101004039000300000007001d164516270000040f000000010100002916450f160000040f000000400400043d000400000004001d0000002002400039000005d4030000410000000000320435000200000001001d00000037024000390000000301000029164504910000040f000005d502000041000000000021043500000011021000390000000201000029164504910000040f00000004030000290000000002310049000000200120008a00000000001304350000000001030019164504ba0000040f000005c201000041000000400200043d000300000002001d000000000012043500000004012000390000000402000029164504a20000040f000000030400002900000000014100490000059302000041000005930310009c0000000001028019000005930340009c000000000204401900000040022002100000006001100210000000000121019f000016470001043000000596022001970000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000010c70000613d000000000101043b000000000001042d000000000100001900001647000104300000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000010d70000613d000000000101043b000000000001042d000000000100001900001647000104300001000000000002000100000001001d000005b5010000410000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000011140000613d000000000101043b000000000200041100000596022001970000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000011140000613d000000000101043b000000000101041a000000ff01100190000011160000613d0000000102000029000000000120004c0000112b0000613d0000000101000039000000000021041b000000400100043d000000000021043500000593020000410000000003000414000005930430009c0000000003028019000005930410009c00000000010280190000004001100210000000c002300210000000000112019f000005bf011001c70000800d020000390000000203000039000005c00400004100000000050004101645163b0000040f0000000101200190000011140000613d000000000001042d00000000010000190000164700010430000000400100043d0000006402100039000005c40300004100000000003204350000004402100039000005c5030000410000000000320435000000240210003900000028030000390000000000320435000005c20200004100000000002104350000000402100039000000200300003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c6011001c70000164700010430000000400100043d0000004402100039000005c1030000410000000000320435000000240210003900000014030000390000000000320435000005c20200004100000000002104350000000402100039000000200300003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c3011001c700001647000104300002000000000002000200000002001d000100000001001d000005b5010000410000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000011d40000613d000000000101043b000000000200041100000596022001970000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000011d40000613d000000400300043d000000000101043b000000000101041a000000ff01100190000011dc0000613d0000002001300039000005e702000041000000000021043500000002020000290000059602200197000000240430003900000000002404350000004402000039000000000023043500000044023000390000000000020435000005e50230009c000011d60000813d0000008002300039000000400020043f000000000400041400000001020000290000059602200197000000040520008c000011780000c13d000000010300003100000000020000190000118c0000013d0000059305000041000005930610009c000000000105801900000040011002100000000003030433000005930630009c00000000030580190000006003300210000000000113019f000005930340009c00000000030500190000000003044019000000c003300210000000000131019f1645163b0000040f000000010220015f00030000000103550000006001100270000105930010019d00000593031001970000006001000039000000000430004c000011ba0000613d0000003f01300039000000200400008a000000000441016f000000400100043d0000000004410019000000000514004b00000000050000190000000105004039000005940640009c000011d60000213d0000000105500190000011d60000c13d000000400040043f0000000003310436000000030400036700000001060000310000001f0560018f0000000506600272000011ab0000613d000000000700001900000005087002100000000009830019000000000884034f000000000808043b00000000008904350000000107700039000000000867004b000011a30000413d000000000750004c000011ba0000613d0000000506600210000000000464034f00000000036300190000000305500210000000000603043300000000065601cf000000000656022f000000000404043b0000010005500089000000000454022f00000000045401cf000000000464019f00000000004304350000000102200190000011f00000c13d0000000012010434000000000320004c000011d30000613d0000059503000041000000200420008c000000000400001900000000040340190000059502200197000000000520004c000000000300a019000005950220009c00000000020400190000000002036019000000000220004c000011d40000c13d0000000001010433000000000210004c0000000002000019000000010200c039000000000221004b000011d40000c13d000000000110004c000012010000613d000000000001042d00000000010000190000164700010430000005980100004100000000001004350000004101000039000000040010043f000005990100004100001647000104300000006401300039000005c40200004100000000002104350000004401300039000005c5020000410000000000210435000000240130003900000028020000390000000000210435000005c20100004100000000001304350000000401300039000000200200003900000000002104350000059301000041000005930230009c00000000010340190000004001100210000005c6011001c70000164700010430000000400100043d0000004402100039000005e3030000410000000000320435000005c2020000410000000000210435000000240210003900000020030000390000000000320435000000040210003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c3011001c70000164700010430000000400100043d0000006402100039000005dd0300004100000000003204350000004402100039000005de03000041000000000032043500000024021000390000002a030000390000000000320435000005c20200004100000000002104350000000402100039000000200300003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c6011001c700001647000104300003000000000002000300000002001d000200000001001d000005b5010000410000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000012c40000613d000000000101043b00000000020004110000059602200197000100000002001d0000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000012c40000613d000000000101043b000000000101041a000000ff01100190000012cc0000613d0000000303000029000000000130004c000012e10000613d000000400100043d000000440210003900000000003204350000002003100039000005db0200004100000000002304350000002402100039000000010400002900000000004204350000004402000039000000000021043500000002020000290000059602200197000005e50410009c000012c60000813d0000008004100039000000400040043f0000000004000414000000040520008c000012540000c13d00000001030000310000000002000019000012680000013d0000059305000041000005930630009c000000000305801900000040033002100000000001010433000005930610009c00000000010580190000006001100210000000000131019f000005930340009c00000000030500190000000003044019000000c003300210000000000131019f1645163b0000040f000000010220015f00030000000103550000006001100270000105930010019d00000593031001970000006001000039000000000430004c000012960000613d0000003f01300039000000200400008a000000000441016f000000400100043d0000000004410019000000000514004b00000000050000190000000105004039000005940640009c000012c60000213d0000000105500190000012c60000c13d000000400040043f0000000003310436000000030400036700000001060000310000001f0560018f0000000506600272000012870000613d000000000700001900000005087002100000000009830019000000000884034f000000000808043b00000000008904350000000107700039000000000867004b0000127f0000413d000000000750004c000012960000613d0000000506600210000000000464034f00000000036300190000000305500210000000000603043300000000065601cf000000000656022f000000000404043b0000010005500089000000000454022f00000000045401cf000000000464019f00000000004304350000000102200190000012f30000c13d0000000012010434000000000320004c000012af0000613d0000059503000041000000200420008c000000000400001900000000040340190000059502200197000000000520004c000000000300a019000005950220009c00000000020400190000000002036019000000000220004c000012c40000c13d0000000001010433000000000210004c0000000002000019000000010200c039000000000221004b000012c40000c13d000000000110004c000013040000613d000000400100043d0000000302000029000000000021043500000593020000410000000003000414000005930430009c0000000003028019000005930410009c00000000010280190000004001100210000000c002300210000000000112019f000005bf011001c70000800d020000390000000203000039000005e80400004100000002050000291645163b0000040f0000000101200190000012c40000613d000000000001042d00000000010000190000164700010430000005980100004100000000001004350000004101000039000000040010043f00000599010000410000164700010430000000400100043d0000006402100039000005c40300004100000000003204350000004402100039000005c5030000410000000000320435000000240210003900000028030000390000000000320435000005c20200004100000000002104350000000402100039000000200300003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c6011001c70000164700010430000000400100043d0000004402100039000005e903000041000000000032043500000024021000390000001e030000390000000000320435000005c20200004100000000002104350000000402100039000000200300003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c3011001c70000164700010430000000400100043d0000004402100039000005e3030000410000000000320435000005c2020000410000000000210435000000240210003900000020030000390000000000320435000000040210003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c3011001c70000164700010430000000400100043d0000006402100039000005dd0300004100000000003204350000004402100039000005de03000041000000000032043500000024021000390000002a030000390000000000320435000005c20200004100000000002104350000000402100039000000200300003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c6011001c700001647000104300002000000000002000200000001001d000005b5010000410000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f00000001022001900000139d0000613d000000000101043b0000000002000411000100000002001d00000596022001970000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f00000001022001900000139d0000613d000000000101043b000000000101041a000000ff011001900000139f0000613d0000000209000029000000000190004c0000000104000029000013b40000613d0000000001000414000000040240008c000013460000c13d000000010200003900000001010000310000135a0000013d0000059302000041000000400300043d000005930530009c0000000003028019000005930510009c0000000001028019000000c0011002100000004002300210000000000112019f000005bc011001c70000800902000039000000000309001900000000050000191645163b0000040f0000000209000029000000010220018f00030000000103550000006001100270000105930010019d0000059301100197000000000310004c000013870000613d0000003f03100039000000200400008a000000000443016f000000400300043d0000000004430019000000000534004b00000000050000190000000105004039000005940640009c000013d70000213d0000000105500190000013d70000c13d000000400040043f0000000001130436000000030300036700000001050000310000001f0450018f0000000505500272000013780000613d000000000600001900000005076002100000000008710019000000000773034f000000000707043b00000000007804350000000106600039000000000756004b000013700000413d000000000640004c000013870000613d0000000505500210000000000353034f00000000015100190000000304400210000000000501043300000000054501cf000000000545022f000000000303043b0000010004400089000000000343022f00000000034301cf000000000353019f0000000000310435000000400100043d000000000220004c000013c60000613d000000000091043500000593020000410000000003000414000005930430009c0000000003028019000005930410009c00000000010280190000004001100210000000c002300210000000000112019f000005bf011001c70000800d020000390000000203000039000005e80400004100000000050000191645163b0000040f00000001012001900000139d0000613d000000000001042d00000000010000190000164700010430000000400100043d0000006402100039000005c40300004100000000003204350000004402100039000005c5030000410000000000320435000000240210003900000028030000390000000000320435000005c20200004100000000002104350000000402100039000000200300003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c6011001c70000164700010430000000400100043d0000004402100039000005e903000041000000000032043500000024021000390000001e030000390000000000320435000005c20200004100000000002104350000000402100039000000200300003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c3011001c700001647000104300000004402100039000005ea030000410000000000320435000000240210003900000010030000390000000000320435000005c20200004100000000002104350000000402100039000000200300003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c3011001c70000164700010430000005980100004100000000001004350000004101000039000000040010043f000005990100004100001647000104300004000000000002000300000002001d000400000001001d0000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000014670000613d000000000101043b0000000101100039000000000101041a000100000001001d0000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000014670000613d000000000101043b0000000002000411000200000002001d00000596022001970000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000014670000613d000000000101043b000000000101041a000000ff01100190000014690000613d00000004010000290000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000014670000613d000000000101043b00000003020000290000059602200197000100000002001d0000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000014670000613d000000000101043b000000000101041a000000ff01100190000014660000c13d00000004010000290000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000014670000613d000000000101043b00000001020000290000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000014670000613d000000000101043b000000000201041a000001000300008a000000000232016f00000001022001bf000000000021041b000000400100043d00000593020000410000000003000414000005930430009c0000000003028019000005930410009c00000000010280190000004001100210000000c002300210000000000112019f000005bc011001c70000800d020000390000000403000039000005bd040000410000000405000029000000030600002900000002070000291645163b0000040f0000000101200190000014670000613d000000000001042d00000000010000190000164700010430000000400100043d0000000007010019000005cf0110009c000014730000413d000005980100004100000000001004350000004101000039000000040010043f0000059901000041000016470001043000000000020700190000006001200039000000400010043f0000002a01000039000000000112043600000000020000310000000202200367000000000300001900000005043002100000000005410019000000000442034f000000000404043b00000000004504350000000103300039000000020430008c0000147b0000413d0000000002070433000000000220004c0000148d0000613d0000000002010433000005d002200197000005d1022001c700000000002104350000000002070433000000020220008c000014930000813d000005980100004100000000001004350000003201000039000000040010043f0000059901000041000016470001043000000021027000390000000003020433000005d003300197000005d2033001c700000000003204350000002902000039000000020500002900000000030500190000000004070433000000000424004b0000148d0000a13d0000000f0430018f0000000304400210000000f80440015f000005d305000041000000000445022f00000000051200190000000006050433000005d006600197000000f804400210000000000446019f00000000004504350000000405300270000000010220008a000000010420008c0000149a0000213d000000100130008c00000000010000190000000101004039000300000007001d164516270000040f000000010100002916450f160000040f000000400400043d000400000004001d0000002002400039000005d4030000410000000000320435000200000001001d00000037024000390000000301000029164504910000040f000005d502000041000000000021043500000011021000390000000201000029164504910000040f00000004030000290000000002310049000000200120008a00000000001304350000000001030019164504ba0000040f000005c201000041000000400200043d000300000002001d000000000012043500000004012000390000000402000029164504a20000040f000000030400002900000000014100490000059302000041000005930310009c0000000001028019000005930340009c000000000204401900000040022002100000006001100210000000000121019f00001647000104300004000000000002000300000002001d000400000001001d0000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000015630000613d000000000101043b0000000101100039000000000101041a000100000001001d0000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000015630000613d000000000101043b0000000002000411000200000002001d00000596022001970000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000015630000613d000000000101043b000000000101041a000000ff01100190000015650000613d00000004010000290000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000015630000613d000000000101043b00000003020000290000059602200197000100000002001d0000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000015630000613d000000000101043b000000000101041a000000ff01100190000015620000613d00000004010000290000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000015630000613d000000000101043b00000001020000290000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000015630000613d000000000101043b000000000201041a000001000300008a000000000232016f000000000021041b000000400100043d00000593020000410000000003000414000005930430009c0000000003028019000005930410009c00000000010280190000004001100210000000c002300210000000000112019f000005bc011001c70000800d020000390000000403000039000005d6040000410000000405000029000000030600002900000002070000291645163b0000040f0000000101200190000015630000613d000000000001042d00000000010000190000164700010430000000400100043d0000000007010019000005cf0110009c0000156f0000413d000005980100004100000000001004350000004101000039000000040010043f0000059901000041000016470001043000000000020700190000006001200039000000400010043f0000002a01000039000000000112043600000000020000310000000202200367000000000300001900000005043002100000000005410019000000000442034f000000000404043b00000000004504350000000103300039000000020430008c000015770000413d0000000002070433000000000220004c000015890000613d0000000002010433000005d002200197000005d1022001c700000000002104350000000002070433000000020220008c0000158f0000813d000005980100004100000000001004350000003201000039000000040010043f0000059901000041000016470001043000000021027000390000000003020433000005d003300197000005d2033001c700000000003204350000002902000039000000020500002900000000030500190000000004070433000000000424004b000015890000a13d0000000f0430018f0000000304400210000000f80440015f000005d305000041000000000445022f00000000051200190000000006050433000005d006600197000000f804400210000000000446019f00000000004504350000000405300270000000010220008a000000010420008c000015960000213d000000100130008c00000000010000190000000101004039000300000007001d164516270000040f000000010100002916450f160000040f000000400400043d000400000004001d0000002002400039000005d4030000410000000000320435000200000001001d00000037024000390000000301000029164504910000040f000005d502000041000000000021043500000011021000390000000201000029164504910000040f00000004030000290000000002310049000000200120008a00000000001304350000000001030019164504ba0000040f000005c201000041000000400200043d000300000002001d000000000012043500000004012000390000000402000029164504a20000040f000000030400002900000000014100490000059302000041000005930310009c0000000001028019000005930340009c000000000204401900000040022002100000006001100210000000000121019f000016470001043000030000000000020000000202000039000000000102041a000000010310019000000001041002700000007f0540018f000000000604001900000000060560190000001f0460008c00000000040000190000000104002039000000010440018f000000000443004b000016190000c13d000000400500043d0000000004650436000000000330004c000015ed0000c13d000001000200008a000000000121016f000000000014043500000040020000390000160e0000013d000100000004001d000200000006001d000300000005001d000000000020043500000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bf011001c70000801002000039164516400000040f0000000102200190000016250000613d00000020020000390000000206000029000000000360004c00000003050000290000160e0000613d000000000101043b0000000003000019000000010700002900000000020300190000000003720019000000000401041a000000000043043500000001011000390000002003200039000000000463004b000016030000413d0000005f01200039000000200200008a000000000221016f0000000001520019000000000221004b00000000020000190000000102004039000005940310009c0000161f0000213d00000001022001900000161f0000c13d000000400010043f0000000001050019000000000001042d000005980100004100000000001004350000002201000039000000040010043f00000599010000410000164700010430000005980100004100000000001004350000004101000039000000040010043f0000059901000041000016470001043000000000010000190000164700010430000000000110004c0000162a0000613d000000000001042d000000400100043d0000004402100039000005e6030000410000000000320435000005c2020000410000000000210435000000240210003900000020030000390000000000320435000000040210003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c3011001c700001647000104300000163e002104210000000102000039000000000001042d0000000002000019000000000001042d00001643002104230000000102000039000000000001042d0000000002000019000000000001042d0000164500000432000016460001042e0000164700010430000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff000000000000000000000000000000000000000000000000ffffffffffffffff8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffffffffffff00000002000000000000000000000000000000800000010000000000000000004e487b71000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024000000000000000000000000000000000000000000000000000000000000000000000000000000008980f11e00000000000000000000000000000000000000000000000000000000d8baf7ce00000000000000000000000000000000000000000000000000000000ef99893900000000000000000000000000000000000000000000000000000000ef99893a00000000000000000000000000000000000000000000000000000000f2fde38b00000000000000000000000000000000000000000000000000000000f874225400000000000000000000000000000000000000000000000000000000d8baf7cf00000000000000000000000000000000000000000000000000000000eab90da60000000000000000000000000000000000000000000000000000000091d148530000000000000000000000000000000000000000000000000000000091d1485400000000000000000000000000000000000000000000000000000000a217fddf00000000000000000000000000000000000000000000000000000000d547741f000000000000000000000000000000000000000000000000000000008980f11f000000000000000000000000000000000000000000000000000000008bb9c5bf000000000000000000000000000000000000000000000000000000004ebb7915000000000000000000000000000000000000000000000000000000006b453c1e000000000000000000000000000000000000000000000000000000006b453c1f000000000000000000000000000000000000000000000000000000007ae267730000000000000000000000000000000000000000000000000000000084a33e63000000000000000000000000000000000000000000000000000000004ebb79160000000000000000000000000000000000000000000000000000000069cff80d00000000000000000000000000000000000000000000000000000000248a9ca200000000000000000000000000000000000000000000000000000000248a9ca3000000000000000000000000000000000000000000000000000000002f2ff15d0000000000000000000000000000000000000000000000000000000036568abe0000000000000000000000000000000000000000000000000000000001ffc9a70000000000000000000000000000000000000000000000000000000006fdde03339759585899103d2ace64958e37e18ccb0504652c81d4a1b8aa80fe2126ab950000000000000000000000000000000000000020000000000000000000000000ffffffff0000000000000000000000000000000000000000000000000000000001ffc9a7000000000000000000000000000000000000000000000000000000007965db0b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000800000000000000000020000000000000000000000000000000000004000000000000000000000000002000000000000000000000000000000000000000000000000000000000000002f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d00000000000000000000000000000000000000000000000100000000000000000200000000000000000000000000000000000020000000000000000000000000f43f23b7a28e6f8ce6843a21bd7b48bce778aa913b8c8cf459edf7d770e8d38a496e76616c6964206761732d657374696d61746500000000000000000000000008c379a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000064000000000000000000000000696e7461696e65720000000000000000000000000000000000000000000000004d61696e7461696e61626c653a2043616c6c6572206973206e6f742061206d610000000000000000000000000000000000000084000000000000000000000000496e76616c69642061646170746572206e616d65000000000000000000000000310ab089e4439a4c15d089f94afb7896ff553aecb10793d0ab882de59d99a32e02000002000000000000000000000000000000440000000000000000000000001806aa1896bbf26568e884a7374b41e002500962caba6a15023a8d90e8508b8302000002000000000000000000000000000000240000000000000000000000006801cc3000000000000000000000000000000000000000000000000000000000f140a35a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffa000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff300000000000000000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000000000000000003031323334353637383961626364656600000000000000000000000000000000416363657373436f6e74726f6c3a206163636f756e7420000000000000000000206973206d697373696e6720726f6c6520000000000000000000000000000000f6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b000000000000000000000001000000000000000000000000000000000000000020726f6c657320666f722073656c660000000000000000000000000000000000416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636570a0823100000000000000000000000000000000000000000000000000000000a9059cbb00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffff7f6f742073756363656564000000000000000000000000000000000000000000005361666545524332303a204552433230206f7065726174696f6e20646964206e000000000000000000000000000000000000000000000000ffffffffffffffdf022c0d9f00000000000000000000000000000000000000000000000000000000e2bdbc6b7225eb0a972ac943c485a6cc05f7c6811838bce8903f23200fb744fa496e73756666696369656e7420616d6f756e742d6f75740000000000000000005361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564496e737566666963656e7420616d6f756e74206f757400000000000000000000000000000000000000000000000000000000000000000000ffffffffffffff80537472696e67733a20686578206c656e67746820696e73756666696369656e74095ea7b3000000000000000000000000000000000000000000000000000000008c1256b8896378cd5044f80c202f9772b9d77dc85c8a6eb51967210b09bfaa2859616b416461707465723a204e6f7468696e6720746f207265636f76657200005472616e73666572206661696c65642e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c6d4a390b47ed4e406445aa2c7378dfef3f4492b88ea658fb74adaf81e1a596a", + "devdoc": { + "kind": "dev", + "methods": { + "getRoleAdmin(bytes32)": { + "details": "Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}." + }, + "grantRole(bytes32,address)": { + "details": "Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event." + }, + "hasRole(bytes32,address)": { + "details": "Returns `true` if `account` has been granted `role`." + }, + "renounceRole(bytes32,address)": { + "details": "Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event." + }, + "revokeRole(bytes32,address)": { + "details": "Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event." + }, + "supportsInterface(bytes4)": { + "details": "See {IERC165-supportsInterface}." + } + }, + "version": 1 + }, + "userdoc": { + "kind": "user", + "methods": {}, + "version": 1 + }, + "storageLayout": { + "storage": [ + { + "astId": 24, + "contract": "src/contracts/adapters/VelocoreAdapter.sol:VelocoreAdapter", + "label": "_roles", + "offset": 0, + "slot": "0", + "type": "t_mapping(t_bytes32,t_struct(RoleData)19_storage)" + }, + { + "astId": 718, + "contract": "src/contracts/adapters/VelocoreAdapter.sol:VelocoreAdapter", + "label": "swapGasEstimate", + "offset": 0, + "slot": "1", + "type": "t_uint256" + }, + { + "astId": 720, + "contract": "src/contracts/adapters/VelocoreAdapter.sol:VelocoreAdapter", + "label": "name", + "offset": 0, + "slot": "2", + "type": "t_string_storage" + } + ], + "types": { + "t_address": { + "encoding": "inplace", + "label": "address", + "numberOfBytes": "20" + }, + "t_bool": { + "encoding": "inplace", + "label": "bool", + "numberOfBytes": "1" + }, + "t_bytes32": { + "encoding": "inplace", + "label": "bytes32", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_bool)": { + "encoding": "mapping", + "key": "t_address", + "label": "mapping(address => bool)", + "numberOfBytes": "32", + "value": "t_bool" + }, + "t_mapping(t_bytes32,t_struct(RoleData)19_storage)": { + "encoding": "mapping", + "key": "t_bytes32", + "label": "mapping(bytes32 => struct AccessControl.RoleData)", + "numberOfBytes": "32", + "value": "t_struct(RoleData)19_storage" + }, + "t_string_storage": { + "encoding": "bytes", + "label": "string", + "numberOfBytes": "32" + }, + "t_struct(RoleData)19_storage": { + "encoding": "inplace", + "label": "struct AccessControl.RoleData", + "members": [ + { + "astId": 16, + "contract": "src/contracts/adapters/VelocoreAdapter.sol:VelocoreAdapter", + "label": "members", + "offset": 0, + "slot": "0", + "type": "t_mapping(t_address,t_bool)" + }, + { + "astId": 18, + "contract": "src/contracts/adapters/VelocoreAdapter.sol:VelocoreAdapter", + "label": "adminRole", + "offset": 0, + "slot": "1", + "type": "t_bytes32" + } + ], + "numberOfBytes": "64" + }, + "t_uint256": { + "encoding": "inplace", + "label": "uint256", + "numberOfBytes": "32" + } + } + }, + "factoryDeps": [ + "0x0004000000000002000100000000000200000000030100190000006003300270000005930430019700030000004103550002000000010355000005930030019d000100000000001f00000001012001900000002b0000c13d0000008001000039000000400010043f0000000001000031000000040210008c000000aa0000413d0000000201000367000000000101043b000000e0011002700000059a0210009c000000b40000213d000005a80210009c000000ca0000213d000005af0210009c0000010f0000a13d000005b00210009c000001820000613d000005b10210009c0000019f0000613d000005b20110009c0000024f0000c13d0000000001000416000000000110004c0000024f0000c13d0000000001000031164504280000040f164509b10000040f0000059301000041000000400200043d000005930320009c00000000010240190000004001100210000016460001042e000000a001000039000000400010043f0000000001000416000000000110004c0000024f0000c13d00000000040000310000001f02400039000000200100008a000000000512016f000000400300043d0000000002350019000000000552004b00000000050000190000000105004039000005940620009c000000ae0000213d0000000105500190000000ae0000c13d000000400020043f0000001f0240018f000000020500036700000005064002720000004b0000613d000000000700001900000005087002100000000009830019000000000885034f000000000808043b00000000008904350000000107700039000000000867004b000000430000413d000000000720004c0000005a0000613d0000000506600210000000000565034f00000000066300190000000302200210000000000706043300000000072701cf000000000727022f000000000505043b0000010002200089000000000525022f00000000022501cf000000000272019f00000000002604350000059502000041000000600540008c000000000500001900000000050240190000059506400197000000000760004c000000000200a019000005950660009c000000000205c019000000000220004c0000024f0000c13d0000000025030434000005940650009c0000024f0000213d000000000643001900000000043500190000001f054000390000059507000041000000000865004b0000000008000019000000000807801900000595055001970000059509600197000000000a95004b0000000007008019000000000595013f000005950550009c00000000050800190000000005076019000000000550004c0000024f0000c13d0000000005040433000005940750009c000000ae0000213d0000003f07500039000000000717016f000000400100043d0000000007710019000000000817004b00000000080000190000000108004039000005940970009c000000ae0000213d0000000108800190000000ae0000c13d000000400070043f000000000051043500000020075000390000000008470019000000000668004b0000024f0000213d000000000650004c0000009b0000613d000000000600001900000020066000390000000008160019000000000946001900000000090904330000000000980435000000000856004b000000900000413d000000000456004b0000009b0000a13d000000000417001900000000000404350000000002020433000005960420009c0000024f0000213d00000040033000390000000003030433164502510000040f000000800100043d0000014000000443000001600010044300000020010000390000010000100443000000010100003900000120001004430000059701000041000016460001042e000000000110004c0000024f0000c13d0000000001000019000016460001042e000005980100004100000000001004350000004101000039000000040010043f000005990100004100001647000104300000059b0210009c000000ed0000213d000005a20210009c000001340000a13d000005a30210009c000001ab0000613d000005a40210009c000001c00000613d000005a50110009c0000024f0000c13d0000000001000416000000000110004c0000024f0000c13d0000000001000031164504280000040f164514da0000040f0000059301000041000000400200043d000005930320009c00000000010240190000004001100210000016460001042e000005a90210009c000001530000a13d000005aa0210009c000001d90000613d000005ab0210009c000001e50000613d000005ac0110009c0000024f0000c13d0000000001000416000000000110004c0000024f0000c13d000000040100008a00000000011000310000059502000041000000200310008c000000000300001900000000030240190000059501100197000000000410004c000000000200a019000005950110009c00000000010300190000000001026019000000000110004c0000024f0000c13d00000004010000390000000201100367000000000101043b164510d90000040f0000059301000041000000400200043d000005930320009c00000000010240190000004001100210000016460001042e0000059c0210009c000001720000a13d0000059d0210009c000001f10000613d0000059e0210009c000001ff0000613d0000059f0110009c0000024f0000c13d0000000001000416000000000110004c0000024f0000c13d000000040100008a00000000011000310000059502000041000000000310004c000000000300001900000000030240190000059501100197000000000410004c000000000200a019000005950110009c00000000010300190000000001026019000000000110004c0000024f0000c13d000000400100043d000005b50200004100000000002104350000059302000041000005930310009c00000000010280190000004001100210000005b6011001c7000016460001042e000005b30210009c0000020b0000613d000005b40110009c0000024f0000c13d0000000001000416000000000110004c0000024f0000c13d000000040100008a00000000011000310000059502000041000000000310004c000000000300001900000000030240190000059501100197000000000410004c000000000200a019000005950110009c00000000010300190000000001026019000000000110004c0000024f0000c13d164515d60000040f0000000002010019000000400100043d000100000001001d164504a20000040f000000010400002900000000014100490000059302000041000005930310009c0000000001028019000005930340009c000000000204401900000040022002100000006001100210000000000121019f000016460001042e000005a60210009c0000021c0000613d000005a70110009c0000024f0000c13d0000000001000416000000000110004c0000024f0000c13d000000040100008a00000000011000310000059502000041000000200310008c000000000300001900000000030240190000059501100197000000000410004c000000000200a019000005950110009c00000000010300190000000001026019000000000110004c0000024f0000c13d00000004010000390000000201100367000000000101043b1645093f0000040f0000059301000041000000400200043d000005930320009c00000000010240190000004001100210000016460001042e000005ad0210009c000002280000613d000005ae0110009c0000024f0000c13d0000000001000416000000000110004c0000024f0000c13d000000040100008a00000000011000310000059502000041000000000310004c000000000300001900000000030240190000059501100197000000000410004c000000000200a019000005950110009c00000000010300190000000001026019000000000110004c0000024f0000c13d0000000101000039000000000101041a000000400200043d00000000001204350000059301000041000005930320009c00000000010240190000004001100210000005b6011001c7000016460001042e000005a00210009c000002430000613d000005a10110009c0000024f0000c13d0000000001000416000000000110004c0000024f0000c13d0000000001000031164504700000040f16450a230000040f0000059301000041000000400200043d000005930320009c00000000010240190000004001100210000016460001042e0000000001000416000000000110004c0000024f0000c13d000000040100008a00000000011000310000059502000041000000200310008c000000000300001900000000030240190000059501100197000000000410004c000000000200a019000005950110009c00000000010300190000000001026019000000000110004c0000024f0000c13d00000004010000390000000201100367000000000101043b164508310000040f000000400200043d00000000001204350000059301000041000005930320009c00000000010240190000004001100210000005b6011001c7000016460001042e0000000001000416000000000110004c0000024f0000c13d0000000001000031164504280000040f164513dd0000040f0000059301000041000000400200043d000005930320009c00000000010240190000004001100210000016460001042e0000000001000416000000000110004c0000024f0000c13d0000000001000031164504280000040f000100000002001d164510c90000040f0000000102000029164510b80000040f000000000101041a000000ff011001900000000001000019000000010100c039000000400200043d00000000001204350000059301000041000005930320009c00000000010240190000004001100210000005b6011001c7000016460001042e0000000001000416000000000110004c0000024f0000c13d000000040100008a00000000011000310000059502000041000000000310004c000000000300001900000000030240190000059501100197000000000410004c000000000200a019000005950110009c00000000010300190000000001026019000000000110004c0000024f0000c13d000000400100043d00000000000104350000059302000041000005930310009c00000000010280190000004001100210000005b6011001c7000016460001042e0000000001000416000000000110004c0000024f0000c13d0000000001000031164503e30000040f164507340000040f0000059301000041000000400200043d000005930320009c00000000010240190000004001100210000016460001042e0000000001000416000000000110004c0000024f0000c13d0000000001000031164503f80000040f1645113d0000040f0000059301000041000000400200043d000005930320009c00000000010240190000004001100210000016460001042e0000000001000416000000000110004c0000024f0000c13d0000000001000031164504550000040f164504cd0000040f000000400200043d00000000001204350000059301000041000005930320009c00000000010240190000004001100210000005b6011001c7000016460001042e0000000001000416000000000110004c0000024f0000c13d0000000001000031164503e30000040f16450f6c0000040f0000059301000041000000400200043d000005930320009c00000000010240190000004001100210000016460001042e0000000001000416000000000110004c0000024f0000c13d00000000010000311645043f0000040f000005b701100197000005b80210009c00000000020000190000000102006039000005b90110009c00000000010000190000000101006039000000000121019f000000010110018f000000800010043f000005ba01000041000016460001042e0000000001000416000000000110004c0000024f0000c13d0000000001000031164504110000040f164512160000040f0000059301000041000000400200043d000005930320009c00000000010240190000004001100210000016460001042e0000000001000416000000000110004c0000024f0000c13d000000040100008a00000000011000310000059502000041000000200310008c000000000300001900000000030240190000059501100197000000000410004c000000000200a019000005950110009c00000000010300190000000001026019000000000110004c0000024f0000c13d00000004010000390000000201100367000000000101043b164513190000040f0000059301000041000000400200043d000005930320009c00000000010240190000004001100210000016460001042e0000000001000416000000000110004c0000024f0000c13d0000000001000031164503e30000040f164508430000040f0000059301000041000000400200043d000005930320009c00000000010240190000004001100210000016460001042e000000000100001900001647000104300008000000000002000600000003001d000500000002001d000700000001001d0000000000000435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f00000001022001900000039c0000613d000000000101043b0000000002000411000400000002001d0000059602200197000800000002001d0000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f00000001022001900000039c0000613d000000000101043b000000000101041a000000ff01100190000002aa0000c13d0000000000000435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f00000001022001900000039c0000613d000000000101043b00000008020000290000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f00000001022001900000039c0000613d000000000101043b000000000201041a000001000300008a000000000232016f00000001022001bf000000000021041b000000400100043d00000593020000410000000003000414000005930430009c0000000003028019000005930410009c00000000010280190000004001100210000000c002300210000000000112019f000005bc011001c70000800d020000390000000403000039000005bd040000410000000005000019000000040600002900000000070600191645163b0000040f00000001012001900000039c0000613d000005b5010000410000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f00000001022001900000039c0000613d000000000101043b00000008020000290000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f00000001022001900000039c0000613d000000000101043b000000000101041a000000ff01100190000002fe0000c13d000005b5010000410000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f00000001022001900000039c0000613d000000000101043b00000008020000290000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f00000001022001900000039c0000613d000000000101043b000000000201041a000001000300008a000000000232016f00000001022001bf000000000021041b000000400100043d00000593020000410000000003000414000005930430009c0000000003028019000005930410009c00000000010280190000004001100210000000c002300210000000000112019f000005bc011001c70000800d020000390000000403000039000005bd04000041000005b505000041000000040600002900000000070600191645163b0000040f00000001012001900000039c0000613d00000007060000290000000058060434000000000180004c0000039e0000613d000005be0180009c000003b00000813d0000000207000039000000000107041a000000010210019000000001011002700000007f0310018f000000000401001900000000040360190000001f0140008c00000000010000190000000101002039000000010110018f000000000112004b000003b60000c13d000000000184019f000000200110008c00000000010000190000032a0000413d000100000004001d000200000005001d000300000008001d000400000007001d000000000070043500000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bf011001c70000801002000039164516400000040f00000001022001900000039c0000613d000000000101043b00000007060000290000000407000029000000030800002900000002050000290000000104000029000000200240008c0000033b0000413d0000001f028000390000000502200270000000200380008c000000000302001900000000030040190000001f02400039000000050220027000000000022100190000000003310019000000000423004b0000033b0000813d000000000003041b0000000103300039000000000423004b000003370000413d0000001f0280008c000003590000a13d000000200200008a000000000328017000000020020000390000034b0000613d0000002002000039000000000400001900000000056200190000000005050433000000000051041b000000200220003900000001011000390000002004400039000000000534004b000003430000413d000000000383004b000003560000813d0000000303800210000000f80330018f000000010400008a000000000334022f000000000343013f00000000026200190000000002020433000000000232016f000000000021041b00000001010000390000000102800210000003600000013d0000000301800210000000010200008a000000000112022f000000000121013f0000000002050433000000000212016f0000000101800210000000000112019f000000000017041b000005b5010000410000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f00000001022001900000039c0000613d000000000101043b00000008020000290000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f00000001022001900000039c0000613d000000000101043b000000000101041a000000ff01100190000003bc0000613d0000000602000029000000000120004c000003d10000613d0000000101000039000000000021041b000000400100043d000000000021043500000593020000410000000003000414000005930430009c0000000003028019000005930410009c00000000010280190000004001100210000000c002300210000000000112019f000005bf011001c70000800d020000390000000203000039000005c00400004100000000050004101645163b0000040f00000001012001900000039c0000613d0000000501000029000000800010043f000000000001042d00000000010000190000164700010430000000400100043d0000004402100039000005c7030000410000000000320435000000240210003900000014030000390000000000320435000005c20200004100000000002104350000000402100039000000200300003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c3011001c70000164700010430000005980100004100000000001004350000004101000039000000040010043f00000599010000410000164700010430000005980100004100000000001004350000002201000039000000040010043f00000599010000410000164700010430000000400100043d0000006402100039000005c40300004100000000003204350000004402100039000005c5030000410000000000320435000000240210003900000028030000390000000000320435000005c20200004100000000002104350000000402100039000000200300003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c6011001c70000164700010430000000400100043d0000004402100039000005c1030000410000000000320435000000240210003900000014030000390000000000320435000005c20200004100000000002104350000000402100039000000200300003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c3011001c70000164700010430000000040110008a00000595020000410000001f0310008c000000000300001900000000030220190000059501100197000000000410004c0000000002008019000005950110009c00000000010300190000000001026019000000000110004c000003f60000613d00000004010000390000000201100367000000000101043b000005960210009c000003f60000213d000000000001042d00000000010000190000164700010430000000040110008a00000595020000410000003f0310008c000000000300001900000000030220190000059501100197000000000410004c0000000002008019000005950110009c00000000010300190000000001026019000000000110004c0000040f0000613d00000002020003670000000401200370000000000101043b000005960310009c0000040f0000213d0000002402200370000000000202043b000005960320009c0000040f0000213d000000000001042d00000000010000190000164700010430000000040110008a00000595020000410000003f0310008c000000000300001900000000030220190000059501100197000000000410004c0000000002008019000005950110009c00000000010300190000000001026019000000000110004c000004260000613d00000002020003670000000401200370000000000101043b000005960310009c000004260000213d0000002402200370000000000202043b000000000001042d00000000010000190000164700010430000000040110008a00000595020000410000003f0310008c000000000300001900000000030220190000059501100197000000000410004c0000000002008019000005950110009c00000000010300190000000001026019000000000110004c0000043d0000613d00000002010003670000002402100370000000000202043b000005960320009c0000043d0000213d0000000401100370000000000101043b000000000001042d00000000010000190000164700010430000000040110008a00000595020000410000001f0310008c000000000300001900000000030220190000059501100197000000000410004c0000000002008019000005950110009c00000000010300190000000001026019000000000110004c000004530000613d00000004010000390000000201100367000000000101043b000005b702100197000000000221004b000004530000c13d000000000001042d00000000010000190000164700010430000000040110008a00000595020000410000005f0310008c000000000300001900000000030220190000059501100197000000000410004c0000000002008019000005950110009c00000000010300190000000001026019000000000110004c0000046e0000613d00000002030003670000000401300370000000000101043b0000002402300370000000000202043b000005960420009c0000046e0000213d0000004403300370000000000303043b000005960430009c0000046e0000213d000000000001042d00000000010000190000164700010430000000040110008a00000595020000410000009f0310008c000000000300001900000000030220190000059501100197000000000410004c0000000002008019000005950110009c00000000010300190000000001026019000000000110004c0000048f0000613d00000002050003670000002401500370000000000201043b0000000401500370000000000101043b0000004403500370000000000303043b000005960430009c0000048f0000213d0000006404500370000000000404043b000005960640009c0000048f0000213d0000008405500370000000000505043b000005960650009c0000048f0000213d000000000001042d0000000001000019000016470001043000000000030100190000000004030433000000000140004c0000000001240019000004a10000613d000000000500001900000000062500190000002005500039000000000735001900000000070704330000000000760435000000000645004b000004970000413d000000000245004b000004a10000a13d0000000000010435000000000001042d00000020030000390000000004310436000000000302043300000000003404350000004001100039000000000430004c000004b50000613d000000000400001900000000051400190000002004400039000000000624001900000000060604330000000000650435000000000534004b000004aa0000413d000000000234004b000004b50000a13d000000000213001900000000000204350000001f02300039000000200300008a000000000232016f0000000001120019000000000001042d0000001f02200039000000200300008a000000000232016f0000000001120019000000000221004b00000000020000190000000102004039000005940310009c000004c70000213d0000000102200190000004c70000c13d000000400010043f000000000001042d000005980100004100000000001004350000004101000039000000040010043f0000059901000041000016470001043000060000000000020000000005010019000000000123013f00000596011001980000000001000019000006af0000613d000000000450004c000006af0000613d000400000003001d000500000002001d000300000005001d000005c801000041000000000010043900000000010004120000000400100443000000240000044300000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005c9011001c70000800502000039164516400000040f0000000102200190000006b00000613d000000000101043b000005ca0200004100000000002004390000059601100197000600000001001d000000040010044300000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005cb011001c70000800202000039164516400000040f00000006050000290000000102200190000006b00000613d000000000101043b000000000110004c000006b00000613d000000400900043d000005cc0100004100000000001904350000004402900039000000000100041400000001030000390000000000320435000000040200002900000596032001970000002402900039000200000003001d0000000000320435000000050200002900000596032001970000000402900039000500000003001d0000000000320435000000040250008c000005100000c13d0000000103000031000005430000013d0000059302000041000005930310009c0000000001028019000005930390009c00000000020940190000004002200210000000c001100210000000000121019f000005c3011001c70000000002050019000400000009001d164516400000040f0000000409000029000000000301001900000060033002700000059303300197000000200430008c000000200500003900000000050340190000001f0450018f00000005055002720000052f0000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b000005270000413d000000000640004c0000053e0000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f000300000001035500000001022001900000000605000029000006b80000613d0000001f01300039000000200200008a000400000002001d000000000221016f0000000001920019000000000221004b00000000020000190000000102004039000005940310009c000006b20000213d0000000102200190000006b20000c13d000000400010043f00000595010000410000000102000031000000200320008c000000000300001900000000030140190000059502200197000000000420004c000000000100a019000005950220009c000000000103c019000000000110004c000006b00000c13d0000000004090433000005960140009c000006b00000213d000000000140004c0000000001000019000005cf0000613d000005ca010000410000000000100439000000040040044300000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005cb011001c70000800202000039000100000004001d164516400000040f000000010400002900000006050000290000000102200190000006b00000613d000000000101043b000000000110004c000006b00000613d000000400900043d000005cd0100004100000000001904350000002402900039000000000100041400000005030000290000000000320435000000040290003900000003030000290000000000320435000000040240008c000005830000c13d0000000103000031000005b60000013d0000059302000041000005930310009c0000000001028019000005930390009c00000000020940190000004002200210000000c001100210000000000121019f000005ce011001c70000000002040019000100000009001d164516400000040f0000000109000029000000000301001900000060033002700000059303300197000000200430008c000000200500003900000000050340190000001f0450018f0000000505500272000005a20000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b0000059a0000413d000000000640004c000005b10000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f000300000001035500000001022001900000000605000029000006f60000613d0000001f013000390000000402000029000000000221016f0000000001920019000000000221004b00000000020000190000000102004039000005940310009c000006b20000213d0000000102200190000006b20000c13d000000400010043f00000595010000410000000102000031000000200320008c000000000300001900000000030140190000059502200197000000000420004c000000000100a019000005950220009c000000000103c019000000000110004c000006b00000c13d0000000001090433000100000001001d000005ca010000410000000000100439000000040050044300000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005cb011001c70000800202000039164516400000040f00000006040000290000000102200190000006b00000613d000000000101043b000000000110004c000006b00000613d000000400900043d000005cc010000410000000000190435000000240290003900000000010004140000000203000029000000000032043500000004029000390000000503000029000000000032043500000044029000390000000000020435000000040240008c000005f10000c13d0000000103000031000006230000013d0000059302000041000005930310009c0000000001028019000005930390009c00000000020940190000004002200210000000c001100210000000000121019f000005c3011001c70000000002040019000600000009001d164516400000040f0000000609000029000000000301001900000060033002700000059303300197000000200430008c000000200500003900000000050340190000001f0450018f0000000505500272000006100000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b000006080000413d000000000640004c0000061f0000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f00030000000103550000000102200190000006d70000613d0000001f013000390000000402000029000000000221016f0000000001920019000000000221004b00000000020000190000000102004039000005940310009c000006b20000213d0000000102200190000006b20000c13d000000400010043f00000595010000410000000102000031000000200320008c000000000300001900000000030140190000059502200197000000000420004c000000000100a019000005950220009c000000000103c019000000000110004c000006b00000c13d0000000004090433000005960140009c000006b00000213d000000000140004c0000000001000019000006ac0000613d000005ca010000410000000000100439000000040040044300000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005cb011001c70000800202000039000600000004001d164516400000040f00000006040000290000000102200190000006b00000613d000000000101043b000000000110004c000006b00000613d000000400900043d000005cd0100004100000000001904350000002402900039000000000100041400000005030000290000000000320435000000040290003900000003030000290000000000320435000000040240008c000006610000c13d0000000103000031000006930000013d0000059302000041000005930310009c0000000001028019000005930390009c00000000020940190000004002200210000000c001100210000000000121019f000005ce011001c70000000002040019000600000009001d164516400000040f0000000609000029000000000301001900000060033002700000059303300197000000200430008c000000200500003900000000050340190000001f0450018f0000000505500272000006800000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b000006780000413d000000000640004c0000068f0000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f00030000000103550000000102200190000007150000613d0000001f013000390000000402000029000000000221016f0000000001920019000000000221004b00000000020000190000000102004039000005940310009c000006b20000213d0000000102200190000006b20000c13d000000400010043f00000595010000410000000102000031000000200320008c000000000300001900000000030140190000059502200197000000000420004c000000000100a019000005950220009c000000000103c019000000000110004c000006b00000c13d00000000010904330000000103000029000000000213004b0000000001032019000000000001042d00000000010000190000164700010430000005980100004100000000001004350000004101000039000000040010043f000005990100004100001647000104300000001f0430018f0000000502300272000006c30000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b000006bc0000413d000000000340004c000006d10000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000593010000410000000102000031000005930320009c0000000001024019000000600110021000001647000104300000001f0430018f0000000502300272000006e20000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b000006db0000413d000000000340004c000006f00000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000593010000410000000102000031000005930320009c0000000001024019000000600110021000001647000104300000001f0430018f0000000502300272000007010000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b000006fa0000413d000000000340004c0000070f0000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000593010000410000000102000031000005930320009c0000000001024019000000600110021000001647000104300000001f0430018f0000000502300272000007200000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b000007190000413d000000000340004c0000072e0000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000593010000410000000102000031000005930320009c0000000001024019000000600110021000001647000104300003000000000002000300000001001d000005b5010000410000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000007be0000613d000000000101043b0000000101100039000000000101041a000100000001001d0000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000007be0000613d000000000101043b0000000002000411000200000002001d00000596022001970000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000007be0000613d000000000101043b000000000101041a000000ff01100190000007c00000613d000005b5010000410000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000007be0000613d000000000101043b00000003020000290000059602200197000100000002001d0000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000007be0000613d000000000101043b000000000101041a000000ff01100190000007bd0000c13d000005b5010000410000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000007be0000613d000000000101043b00000001020000290000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000007be0000613d000000000101043b000000000201041a000001000300008a000000000232016f00000001022001bf000000000021041b000000400100043d00000593020000410000000003000414000005930430009c0000000003028019000005930410009c00000000010280190000004001100210000000c002300210000000000112019f000005bc011001c70000800d020000390000000403000039000005bd04000041000005b505000041000000030600002900000002070000291645163b0000040f0000000101200190000007be0000613d000000000001042d00000000010000190000164700010430000000400100043d0000000007010019000005cf0110009c000007ca0000413d000005980100004100000000001004350000004101000039000000040010043f0000059901000041000016470001043000000000020700190000006001200039000000400010043f0000002a01000039000000000112043600000000020000310000000202200367000000000300001900000005043002100000000005410019000000000442034f000000000404043b00000000004504350000000103300039000000020430008c000007d20000413d0000000002070433000000000220004c000007e40000613d0000000002010433000005d002200197000005d1022001c700000000002104350000000002070433000000020220008c000007ea0000813d000005980100004100000000001004350000003201000039000000040010043f0000059901000041000016470001043000000021027000390000000003020433000005d003300197000005d2033001c700000000003204350000002902000039000000020500002900000000030500190000000004070433000000000424004b000007e40000a13d0000000f0430018f0000000304400210000000f80440015f000005d305000041000000000445022f00000000051200190000000006050433000005d006600197000000f804400210000000000446019f00000000004504350000000405300270000000010220008a000000010420008c000007f10000213d000000100130008c00000000010000190000000101004039000200000007001d164516270000040f000000010100002916450f160000040f000000400400043d000300000004001d0000002002400039000005d4030000410000000000320435000100000001001d00000037024000390000000201000029164504910000040f000005d502000041000000000021043500000011021000390000000101000029164504910000040f00000003030000290000000002310049000000200120008a00000000001304350000000001030019164504ba0000040f000005c201000041000000400200043d000200000002001d000000000012043500000004012000390000000302000029164504a20000040f000000020400002900000000014100490000059302000041000005930310009c0000000001028019000005930340009c000000000204401900000040022002100000006001100210000000000121019f00001647000104300000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000008410000613d000000000101043b0000000101100039000000000101041a000000000001042d000000000100001900001647000104300003000000000002000300000001001d000005b5010000410000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000008cc0000613d000000000101043b0000000101100039000000000101041a000100000001001d0000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000008cc0000613d000000000101043b0000000002000411000200000002001d00000596022001970000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000008cc0000613d000000000101043b000000000101041a000000ff01100190000008ce0000613d000005b5010000410000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000008cc0000613d000000000101043b00000003020000290000059602200197000100000002001d0000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000008cc0000613d000000000101043b000000000101041a000000ff01100190000008cb0000613d000005b5010000410000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000008cc0000613d000000000101043b00000001020000290000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000008cc0000613d000000000101043b000000000201041a000001000300008a000000000232016f000000000021041b000000400100043d00000593020000410000000003000414000005930430009c0000000003028019000005930410009c00000000010280190000004001100210000000c002300210000000000112019f000005bc011001c70000800d020000390000000403000039000005d604000041000005b505000041000000030600002900000002070000291645163b0000040f0000000101200190000008cc0000613d000000000001042d00000000010000190000164700010430000000400100043d0000000007010019000005cf0110009c000008d80000413d000005980100004100000000001004350000004101000039000000040010043f0000059901000041000016470001043000000000020700190000006001200039000000400010043f0000002a01000039000000000112043600000000020000310000000202200367000000000300001900000005043002100000000005410019000000000442034f000000000404043b00000000004504350000000103300039000000020430008c000008e00000413d0000000002070433000000000220004c000008f20000613d0000000002010433000005d002200197000005d1022001c700000000002104350000000002070433000000020220008c000008f80000813d000005980100004100000000001004350000003201000039000000040010043f0000059901000041000016470001043000000021027000390000000003020433000005d003300197000005d2033001c700000000003204350000002902000039000000020500002900000000030500190000000004070433000000000424004b000008f20000a13d0000000f0430018f0000000304400210000000f80440015f000005d305000041000000000445022f00000000051200190000000006050433000005d006600197000000f804400210000000000446019f00000000004504350000000405300270000000010220008a000000010420008c000008ff0000213d000000100130008c00000000010000190000000101004039000200000007001d164516270000040f000000010100002916450f160000040f000000400400043d000300000004001d0000002002400039000005d4030000410000000000320435000100000001001d00000037024000390000000201000029164504910000040f000005d502000041000000000021043500000011021000390000000101000029164504910000040f00000003030000290000000002310049000000200120008a00000000001304350000000001030019164504ba0000040f000005c201000041000000400200043d000200000002001d000000000012043500000004012000390000000302000029164504a20000040f000000020400002900000000014100490000059302000041000005930310009c0000000001028019000005930340009c000000000204401900000040022002100000006001100210000000000121019f0000164700010430000300000000000200000000030004110000059602300197000300000002001d000100000003001d000005d70230009c0000099c0000813d000200000001001d0000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f00000001022001900000099a0000613d000000000101043b00000003020000290000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f00000001022001900000099a0000613d000000000101043b000000000101041a000000ff01100190000009990000613d00000002010000290000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f00000001022001900000099a0000613d000000000101043b00000003020000290000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f00000001022001900000099a0000613d000000000101043b000000000201041a000001000300008a000000000232016f000000000021041b000000400100043d00000593020000410000000003000414000005930430009c0000000003028019000005930410009c00000000010280190000004001100210000000c002300210000000000112019f000005bc011001c70000800d020000390000000403000039000005d6040000410000000205000029000000010600002900000003070000291645163b0000040f00000001012001900000099a0000613d000000000001042d00000000010000190000164700010430000000400100043d0000006402100039000005d80300004100000000003204350000004402100039000005d903000041000000000032043500000024021000390000002f030000390000000000320435000005c20200004100000000002104350000000402100039000000200300003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c6011001c700001647000104300003000000000002000100000002001d00000596022001970000000003000411000300000002001d000000000232004b00000a0e0000c13d000200000001001d0000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f000000010220019000000a0c0000613d000000000101043b00000003020000290000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f000000010220019000000a0c0000613d000000000101043b000000000101041a000000ff0110019000000a0b0000613d00000002010000290000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f000000010220019000000a0c0000613d000000000101043b00000003020000290000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f000000010220019000000a0c0000613d000000000101043b000000000201041a000001000300008a000000000232016f000000000021041b000000400100043d00000593020000410000000003000414000005930430009c0000000003028019000005930410009c00000000010280190000004001100210000000c002300210000000000112019f000005bc011001c70000800d020000390000000403000039000005d6040000410000000205000029000000010600002900000003070000291645163b0000040f000000010120019000000a0c0000613d000000000001042d00000000010000190000164700010430000000400100043d0000006402100039000005d80300004100000000003204350000004402100039000005d903000041000000000032043500000024021000390000002f030000390000000000320435000005c20200004100000000002104350000000402100039000000200300003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c6011001c70000164700010430000d000000000002000d00000005001d000700000003001d000600000002001d000900000001001d000005ca010000410000000000100439000300000004001d0000059601400197000c00000001001d000000040010044300000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005cb011001c70000800202000039164516400000040f000000010220019000000de90000613d000000000101043b000000000110004c00000de90000613d000000400900043d000005da0100004100000000001904350000000d01000029000005960310019700000004029000390000000001000414000500000003001d00000000003204350000000c02000029000000040320008c00000a490000c13d000000010300003100000a7b0000013d0000059304000041000005930310009c0000000001048019000005930390009c000000000304001900000000030940190000004003300210000000c001100210000000000131019f00000599011001c7000d00000009001d164516400000040f0000000d09000029000000000301001900000060033002700000059303300197000000200430008c000000200500003900000000050340190000001f0450018f000000050550027200000a680000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b00000a600000413d000000000640004c00000a770000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f0003000000010355000000010220019000000e3d0000613d0000001f01300039000000200200008a000d00000002001d000000000221016f0000000001920019000000000221004b00000000020000190000000102004039000005940310009c00000deb0000213d000000010220019000000deb0000c13d000000400010043f00000595010000410000000102000031000000200320008c000000000300001900000000030140190000059502200197000000000420004c000000000100a019000005950220009c000000000103c019000000000110004c00000de90000c13d0000000001090433000200000001001d000005c801000041000000000010043900000000010004120000000400100443000000240000044300000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005c9011001c70000800502000039164516400000040f000000010220019000000de90000613d000000000101043b000005ca0200004100000000002004390000059601100197000b00000001001d000000040010044300000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005cb011001c70000800202000039164516400000040f0000000b05000029000000010220019000000de90000613d000000000101043b000000000110004c00000de90000613d000000400900043d000005cc010000410000000000190435000000440290003900000000010004140000000103000039000000000032043500000024029000390000000c03000029000000000032043500000007020000290000059603200197000800000003001d00000004029000390000000000320435000000040250008c00000acc0000c13d000000010300003100000aff0000013d0000059302000041000005930310009c0000000001028019000005930390009c00000000020940190000004002200210000000c001100210000000000121019f000005c3011001c70000000002050019000a00000009001d164516400000040f0000000a09000029000000000301001900000060033002700000059303300197000000200430008c000000200500003900000000050340190000001f0450018f000000050550027200000aeb0000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b00000ae30000413d000000000640004c00000afa0000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f000300000001035500000001022001900000000b0500002900000e5c0000613d0000001f013000390000000d02000029000000000221016f0000000001920019000000000221004b00000000020000190000000102004039000005940310009c00000deb0000213d000000010220019000000deb0000c13d000000400010043f00000595010000410000000102000031000000200320008c000000000300001900000000030140190000059502200197000000000420004c000000000100a019000005950220009c000000000103c019000000000110004c00000de90000c13d0000000001090433000a00000001001d000005960110009c00000de90000213d0000000a01000029000000000110004c000000000100001900000b8c0000613d000005ca0100004100000000001004390000000a01000029000000040010044300000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005cb011001c70000800202000039164516400000040f0000000b050000290000000102200190000000080300002900000de90000613d000000000101043b000000000110004c00000de90000613d000000400900043d000005cd0100004100000000001904350000002402900039000000000100041400000000003204350000000402900039000000090300002900000000003204350000000a02000029000000040320008c00000b400000c13d000000010300003100000b730000013d0000059304000041000005930310009c0000000001048019000005930390009c000000000304001900000000030940190000004003300210000000c001100210000000000131019f000005ce011001c7000400000009001d164516400000040f0000000409000029000000000301001900000060033002700000059303300197000000200430008c000000200500003900000000050340190000001f0450018f000000050550027200000b5f0000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b00000b570000413d000000000640004c00000b6e0000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f000300000001035500000001022001900000000b0500002900000ed80000613d0000001f013000390000000d02000029000000000221016f0000000001920019000000000221004b00000000020000190000000102004039000005940310009c00000deb0000213d000000010220019000000deb0000c13d000000400010043f00000595010000410000000102000031000000200320008c000000000300001900000000030140190000059502200197000000000420004c000000000100a019000005950220009c000000000103c019000000000110004c00000de90000c13d0000000001090433000400000001001d000005ca010000410000000000100439000000040050044300000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005cb011001c70000800202000039164516400000040f0000000b040000290000000102200190000000080600002900000de90000613d000000000101043b000000000110004c00000de90000613d000000400900043d000005cc010000410000000000190435000000240290003900000000010004140000000c0300002900000000003204350000000402900039000000000062043500000044029000390000000000020435000000040240008c00000bae0000c13d000000010300003100000be10000013d0000059302000041000005930310009c0000000001028019000005930390009c00000000020940190000004002200210000000c001100210000000000121019f000005c3011001c70000000002040019000b00000009001d164516400000040f0000000b09000029000000000301001900000060033002700000059303300197000000200430008c000000200500003900000000050340190000001f0450018f000000050550027200000bcd0000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b00000bc50000413d000000000640004c00000bdc0000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f00030000000103550000000102200190000000080600002900000e7b0000613d0000001f013000390000000d02000029000000000221016f0000000001920019000000000221004b00000000020000190000000102004039000005940310009c00000deb0000213d000000010220019000000deb0000c13d000000400010043f00000595020000410000000103000031000000200430008c000000000400001900000000040240190000059503300197000000000530004c000000000200a019000005950330009c000000000204c019000000000220004c00000de90000c13d0000000007090433000005960270009c00000de90000213d000000000270004c000000000200001900000c6c0000613d000005ca010000410000000000100439000000040070044300000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005cb011001c70000800202000039000b00000007001d164516400000040f0000000b070000290000000806000029000000010220019000000de90000613d000000000101043b000000000110004c00000de90000613d000000400900043d000005cd010000410000000000190435000000240290003900000000010004140000000000620435000000040290003900000009030000290000000000320435000000040270008c00000c1f0000c13d000000010300003100000c530000013d0000059302000041000005930310009c0000000001028019000005930390009c00000000020940190000004002200210000000c001100210000000000121019f000005ce011001c70000000002070019000100000009001d164516400000040f0000000109000029000000000301001900000060033002700000059303300197000000200430008c000000200500003900000000050340190000001f0450018f000000050550027200000c3e0000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b00000c360000413d000000000640004c00000c4d0000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f0003000000010355000000010220019000000008060000290000000b0700002900000ef70000613d0000001f013000390000000d02000029000000000221016f0000000001920019000000000221004b00000000020000190000000102004039000005940310009c00000deb0000213d000000010220019000000deb0000c13d000000400010043f00000595020000410000000103000031000000200430008c000000000400001900000000040240190000059503300197000000000530004c000000000200a019000005950330009c000000000204c019000000000220004c00000de90000c13d00000000020904330000000404000029000000000324004b0000000a03000029000000000a070019000000000a032019000000000302001900000000030420190000000602000029000000000223004b0000004402100039000000240410003900000df10000413d000000090500002900000000005204350000002002100039000005db0500004100000000005204350000000000a404350000000c04000029000000000446004b00000000040000190000000004034019000400000004001d0000000003004019000a00000003001d00000044030000390000000000310435000005dc0310009c00000deb0000213d0000008003100039000000400030043f0000000003000414000000040460008c000b0000000a001d00000c920000c13d0000000103000031000000000200001900000ca80000013d0000059304000041000005930520009c000000000204801900000040022002100000000001010433000005930510009c00000000010480190000006001100210000000000121019f000005930230009c00000000020400190000000002034019000000c002200210000000000121019f00000000020600191645163b0000040f0000000b0a000029000000010220015f00030000000103550000006001100270000105930010019d00000593031001970000006001000039000000000430004c00000cd60000613d0000003f013000390000000d04000029000000000441016f000000400100043d0000000004410019000000000514004b00000000050000190000000105004039000005940640009c00000deb0000213d000000010550019000000deb0000c13d000000400040043f0000000003310436000000030400036700000001060000310000001f0560018f000000050660027200000cc70000613d000000000700001900000005087002100000000009830019000000000884034f000000000808043b00000000008904350000000107700039000000000867004b00000cbf0000413d000000000750004c00000cd60000613d0000000506600210000000000464034f00000000036300190000000305500210000000000603043300000000065601cf000000000656022f000000000404043b0000010005500089000000000454022f00000000045401cf000000000464019f0000000000430435000000010220019000000e000000c13d0000000012010434000000000320004c00000cef0000613d0000059503000041000000200420008c000000000400001900000000040340190000059502200197000000000520004c000000000300a019000005950220009c00000000020400190000000002036019000000000220004c00000de90000c13d0000000001010433000000000210004c0000000002000019000000010200c039000000000221004b00000de90000c13d000000000110004c00000e280000613d000000400200043d000005df0120009c00000deb0000213d0000002001200039000000400010043f000800000002001d0000000000020435000005ca0100004100000000001004390000000400a0044300000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005cb011001c70000800202000039164516400000040f0000000b07000029000000010220019000000de90000613d000000000101043b000000000110004c00000de90000613d000000400800043d000005e0010000410000000000180435000000640280003900000000010004140000008003000039000000000032043500000044028000390000000503000029000000000032043500000024028000390000000403000029000000000032043500000004028000390000000a0300002900000000003204350000000809000029000000000209043300000084038000390000000000230435000000000320004c00000d2a0000613d000000a403800039000000000400001900000000053400190000002004400039000000000694001900000000060604330000000000650435000000000524004b00000d1f0000413d000000000424004b00000d2a0000a13d00000000033200190000000000030435000000040370008c00000d2f0000c13d00000001040000310000000d0300002900000d4c0000013d0000001f022000390000000d03000029000000000232016f0000059303000041000005930480009c000000000403001900000000040840190000004004400210000000a402200039000005930520009c00000000020380190000006002200210000000000242019f000005930410009c0000000001038019000000c001100210000000000112019f0000000002070019000b00000008001d1645163b0000040f0000000b0800002900000000030100190000006003300270000105930030019d00000593043001970000000d030000290003000000010355000000010220019000000e9a0000613d0000001f01400039000000000231016f0000000001820019000000000221004b00000000020000190000000102004039000005940310009c00000deb0000213d000000010220019000000deb0000c13d000000400010043f00000595010000410000000102000031000000000320004c000000000300001900000000030140190000059502200197000000000420004c000000000100a019000005950220009c000000000103c019000000000110004c00000de90000c13d000005ca0100004100000000001004390000000c01000029000000040010044300000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005cb011001c70000800202000039164516400000040f000000010220019000000de90000613d000000000101043b000000000110004c00000de90000613d000000400900043d000005da01000041000000000019043500000004029000390000000001000414000000050300002900000000003204350000000c02000029000000040320008c00000d800000c13d000000010300003100000db20000013d0000059304000041000005930310009c0000000001048019000005930390009c000000000304001900000000030940190000004003300210000000c001100210000000000131019f00000599011001c7000c00000009001d164516400000040f0000000c09000029000000000301001900000060033002700000059303300197000000200430008c000000200500003900000000050340190000001f0450018f000000050550027200000d9f0000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b00000d970000413d000000000640004c00000dae0000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f0003000000010355000000010220019000000eb90000613d0000001f013000390000000d02000029000000000221016f0000000001920019000000000221004b00000000020000190000000102004039000005940310009c00000deb0000213d000000010220019000000deb0000c13d000000400010043f00000595020000410000000103000031000000200430008c000000000400001900000000040240190000059503300197000000000530004c000000000200a019000005950330009c000000000204c019000000000220004c00000de90000c13d00000000020904330000000204000029000000000342004b00000e110000413d00000000024200490000000603000029000000000232004b00000e170000413d000000200210003900000000003204350000000902000029000000000021043500000593020000410000000003000414000005930430009c0000000003028019000005930410009c00000000010280190000004001100210000000c002300210000000000112019f000005bb011001c70000800d020000390000000303000039000005e104000041000000070500002900000003060000291645163b0000040f000000010120019000000de90000613d000000000001042d00000000010000190000164700010430000005980100004100000000001004350000004101000039000000040010043f00000599010000410000164700010430000005e403000041000000000032043500000016020000390000000000240435000005c20200004100000000002104350000000402100039000000200300003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c3011001c70000164700010430000000400100043d0000004402100039000005e3030000410000000000320435000005c2020000410000000000210435000000240210003900000020030000390000000000320435000000040210003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c3011001c70000164700010430000005980100004100000000001004350000001101000039000000040010043f000005990100004100001647000104300000004402100039000005e2030000410000000000320435000000240210003900000017030000390000000000320435000005c20200004100000000002104350000000402100039000000200300003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c3011001c70000164700010430000000400100043d0000006402100039000005dd0300004100000000003204350000004402100039000005de03000041000000000032043500000024021000390000002a030000390000000000320435000005c20200004100000000002104350000000402100039000000200300003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c6011001c700001647000104300000001f0430018f000000050230027200000e480000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b00000e410000413d000000000340004c00000e560000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000593010000410000000102000031000005930320009c0000000001024019000000600110021000001647000104300000001f0430018f000000050230027200000e670000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b00000e600000413d000000000340004c00000e750000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000593010000410000000102000031000005930320009c0000000001024019000000600110021000001647000104300000001f0430018f000000050230027200000e860000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b00000e7f0000413d000000000340004c00000e940000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000593010000410000000102000031000005930320009c0000000001024019000000600110021000001647000104300000001f0340018f000000050240027200000ea50000613d00000000040000190000000505400210000000000651034f000000000606043b00000000006504350000000104400039000000000524004b00000e9e0000413d000000000430004c00000eb30000613d00000003033002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000593010000410000000102000031000005930320009c0000000001024019000000600110021000001647000104300000001f0430018f000000050230027200000ec40000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b00000ebd0000413d000000000340004c00000ed20000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000593010000410000000102000031000005930320009c0000000001024019000000600110021000001647000104300000001f0430018f000000050230027200000ee30000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b00000edc0000413d000000000340004c00000ef10000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000593010000410000000102000031000005930320009c0000000001024019000000600110021000001647000104300000001f0430018f000000050230027200000f020000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b00000efb0000413d000000000340004c00000f100000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000593010000410000000102000031000005930320009c0000000001024019000000600110021000001647000104300000000002010019000000400100043d000005e50310009c00000f550000813d0000008003100039000000400030043f0000004203000039000000000331043600000000040000310000000204400367000000000500001900000005065002100000000007630019000000000664034f000000000606043b00000000006704350000000105500039000000030650008c00000f210000413d0000000004010433000000000440004c00000f4f0000613d0000000004030433000005d004400197000005d1044001c700000000004304350000000004010433000000020440008c00000f4f0000413d00000021041000390000000005040433000005d005500197000005d2055001c70000000000540435000000410400003900000000050200190000000002010433000000000242004b00000f4f0000a13d0000000f0250018f0000000302200210000000f80220015f000005d306000041000000000226022f00000000063400190000000007060433000005d007700197000000f802200210000000000227019f00000000002604350000000402500270000000010440008a000000010640008c00000f390000213d000000100250008c00000f5b0000813d000000000001042d000005980100004100000000001004350000003201000039000000040010043f00000599010000410000164700010430000005980100004100000000001004350000004101000039000000040010043f00000599010000410000164700010430000000400100043d0000004402100039000005e6030000410000000000320435000005c2020000410000000000210435000000240210003900000020030000390000000000320435000000040210003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c3011001c700001647000104300004000000000002000300000001001d0000000000000435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000010450000613d000000000101043b0000000101100039000000000101041a000100000001001d0000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000010450000613d000000000101043b0000000002000411000200000002001d0000059602200197000400000002001d0000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000010450000613d000000000101043b000000000101041a000000ff01100190000010470000613d0000000000000435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000010450000613d000000000101043b00000003020000290000059602200197000100000002001d0000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000010450000613d000000000101043b000000000101041a000000ff0110019000000ff30000c13d0000000000000435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000010450000613d000000000101043b00000001020000290000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000010450000613d000000000101043b000000000201041a000001000300008a000000000232016f00000001022001bf000000000021041b000000400100043d00000593020000410000000003000414000005930430009c0000000003028019000005930410009c00000000010280190000004001100210000000c002300210000000000112019f000005bc011001c70000800d020000390000000403000039000005bd040000410000000005000019000000030600002900000002070000291645163b0000040f0000000101200190000010450000613d0000000000000435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000010450000613d000000000101043b00000004020000290000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000010450000613d000000000101043b000000000101041a000000ff01100190000010440000613d0000000000000435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000010450000613d000000000101043b00000004020000290000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000010450000613d000000000101043b000000000201041a000001000300008a000000000232016f000000000021041b000000400100043d00000593020000410000000003000414000005930430009c0000000003028019000005930410009c00000000010280190000004001100210000000c002300210000000000112019f000005bc011001c70000800d020000390000000403000039000005d6040000410000000005000019000000020600002900000000070600191645163b0000040f0000000101200190000010450000613d000000000001042d00000000010000190000164700010430000000400100043d0000000007010019000005cf0110009c000010510000413d000005980100004100000000001004350000004101000039000000040010043f0000059901000041000016470001043000000000020700190000006001200039000000400010043f0000002a01000039000000000112043600000000020000310000000202200367000000000300001900000005043002100000000005410019000000000442034f000000000404043b00000000004504350000000103300039000000020430008c000010590000413d0000000002070433000000000220004c0000106b0000613d0000000002010433000005d002200197000005d1022001c700000000002104350000000002070433000000020220008c000010710000813d000005980100004100000000001004350000003201000039000000040010043f0000059901000041000016470001043000000021027000390000000003020433000005d003300197000005d2033001c700000000003204350000002902000039000000020500002900000000030500190000000004070433000000000424004b0000106b0000a13d0000000f0430018f0000000304400210000000f80440015f000005d305000041000000000445022f00000000051200190000000006050433000005d006600197000000f804400210000000000446019f00000000004504350000000405300270000000010220008a000000010420008c000010780000213d000000100130008c00000000010000190000000101004039000300000007001d164516270000040f000000010100002916450f160000040f000000400400043d000400000004001d0000002002400039000005d4030000410000000000320435000200000001001d00000037024000390000000301000029164504910000040f000005d502000041000000000021043500000011021000390000000201000029164504910000040f00000004030000290000000002310049000000200120008a00000000001304350000000001030019164504ba0000040f000005c201000041000000400200043d000300000002001d000000000012043500000004012000390000000402000029164504a20000040f000000030400002900000000014100490000059302000041000005930310009c0000000001028019000005930340009c000000000204401900000040022002100000006001100210000000000121019f000016470001043000000596022001970000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000010c70000613d000000000101043b000000000001042d000000000100001900001647000104300000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000010d70000613d000000000101043b000000000001042d000000000100001900001647000104300001000000000002000100000001001d000005b5010000410000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000011140000613d000000000101043b000000000200041100000596022001970000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000011140000613d000000000101043b000000000101041a000000ff01100190000011160000613d0000000102000029000000000120004c0000112b0000613d0000000101000039000000000021041b000000400100043d000000000021043500000593020000410000000003000414000005930430009c0000000003028019000005930410009c00000000010280190000004001100210000000c002300210000000000112019f000005bf011001c70000800d020000390000000203000039000005c00400004100000000050004101645163b0000040f0000000101200190000011140000613d000000000001042d00000000010000190000164700010430000000400100043d0000006402100039000005c40300004100000000003204350000004402100039000005c5030000410000000000320435000000240210003900000028030000390000000000320435000005c20200004100000000002104350000000402100039000000200300003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c6011001c70000164700010430000000400100043d0000004402100039000005c1030000410000000000320435000000240210003900000014030000390000000000320435000005c20200004100000000002104350000000402100039000000200300003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c3011001c700001647000104300002000000000002000200000002001d000100000001001d000005b5010000410000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000011d40000613d000000000101043b000000000200041100000596022001970000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000011d40000613d000000400300043d000000000101043b000000000101041a000000ff01100190000011dc0000613d0000002001300039000005e702000041000000000021043500000002020000290000059602200197000000240430003900000000002404350000004402000039000000000023043500000044023000390000000000020435000005e50230009c000011d60000813d0000008002300039000000400020043f000000000400041400000001020000290000059602200197000000040520008c000011780000c13d000000010300003100000000020000190000118c0000013d0000059305000041000005930610009c000000000105801900000040011002100000000003030433000005930630009c00000000030580190000006003300210000000000113019f000005930340009c00000000030500190000000003044019000000c003300210000000000131019f1645163b0000040f000000010220015f00030000000103550000006001100270000105930010019d00000593031001970000006001000039000000000430004c000011ba0000613d0000003f01300039000000200400008a000000000441016f000000400100043d0000000004410019000000000514004b00000000050000190000000105004039000005940640009c000011d60000213d0000000105500190000011d60000c13d000000400040043f0000000003310436000000030400036700000001060000310000001f0560018f0000000506600272000011ab0000613d000000000700001900000005087002100000000009830019000000000884034f000000000808043b00000000008904350000000107700039000000000867004b000011a30000413d000000000750004c000011ba0000613d0000000506600210000000000464034f00000000036300190000000305500210000000000603043300000000065601cf000000000656022f000000000404043b0000010005500089000000000454022f00000000045401cf000000000464019f00000000004304350000000102200190000011f00000c13d0000000012010434000000000320004c000011d30000613d0000059503000041000000200420008c000000000400001900000000040340190000059502200197000000000520004c000000000300a019000005950220009c00000000020400190000000002036019000000000220004c000011d40000c13d0000000001010433000000000210004c0000000002000019000000010200c039000000000221004b000011d40000c13d000000000110004c000012010000613d000000000001042d00000000010000190000164700010430000005980100004100000000001004350000004101000039000000040010043f000005990100004100001647000104300000006401300039000005c40200004100000000002104350000004401300039000005c5020000410000000000210435000000240130003900000028020000390000000000210435000005c20100004100000000001304350000000401300039000000200200003900000000002104350000059301000041000005930230009c00000000010340190000004001100210000005c6011001c70000164700010430000000400100043d0000004402100039000005e3030000410000000000320435000005c2020000410000000000210435000000240210003900000020030000390000000000320435000000040210003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c3011001c70000164700010430000000400100043d0000006402100039000005dd0300004100000000003204350000004402100039000005de03000041000000000032043500000024021000390000002a030000390000000000320435000005c20200004100000000002104350000000402100039000000200300003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c6011001c700001647000104300003000000000002000300000002001d000200000001001d000005b5010000410000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000012c40000613d000000000101043b00000000020004110000059602200197000100000002001d0000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000012c40000613d000000000101043b000000000101041a000000ff01100190000012cc0000613d0000000303000029000000000130004c000012e10000613d000000400100043d000000440210003900000000003204350000002003100039000005db0200004100000000002304350000002402100039000000010400002900000000004204350000004402000039000000000021043500000002020000290000059602200197000005e50410009c000012c60000813d0000008004100039000000400040043f0000000004000414000000040520008c000012540000c13d00000001030000310000000002000019000012680000013d0000059305000041000005930630009c000000000305801900000040033002100000000001010433000005930610009c00000000010580190000006001100210000000000131019f000005930340009c00000000030500190000000003044019000000c003300210000000000131019f1645163b0000040f000000010220015f00030000000103550000006001100270000105930010019d00000593031001970000006001000039000000000430004c000012960000613d0000003f01300039000000200400008a000000000441016f000000400100043d0000000004410019000000000514004b00000000050000190000000105004039000005940640009c000012c60000213d0000000105500190000012c60000c13d000000400040043f0000000003310436000000030400036700000001060000310000001f0560018f0000000506600272000012870000613d000000000700001900000005087002100000000009830019000000000884034f000000000808043b00000000008904350000000107700039000000000867004b0000127f0000413d000000000750004c000012960000613d0000000506600210000000000464034f00000000036300190000000305500210000000000603043300000000065601cf000000000656022f000000000404043b0000010005500089000000000454022f00000000045401cf000000000464019f00000000004304350000000102200190000012f30000c13d0000000012010434000000000320004c000012af0000613d0000059503000041000000200420008c000000000400001900000000040340190000059502200197000000000520004c000000000300a019000005950220009c00000000020400190000000002036019000000000220004c000012c40000c13d0000000001010433000000000210004c0000000002000019000000010200c039000000000221004b000012c40000c13d000000000110004c000013040000613d000000400100043d0000000302000029000000000021043500000593020000410000000003000414000005930430009c0000000003028019000005930410009c00000000010280190000004001100210000000c002300210000000000112019f000005bf011001c70000800d020000390000000203000039000005e80400004100000002050000291645163b0000040f0000000101200190000012c40000613d000000000001042d00000000010000190000164700010430000005980100004100000000001004350000004101000039000000040010043f00000599010000410000164700010430000000400100043d0000006402100039000005c40300004100000000003204350000004402100039000005c5030000410000000000320435000000240210003900000028030000390000000000320435000005c20200004100000000002104350000000402100039000000200300003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c6011001c70000164700010430000000400100043d0000004402100039000005e903000041000000000032043500000024021000390000001e030000390000000000320435000005c20200004100000000002104350000000402100039000000200300003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c3011001c70000164700010430000000400100043d0000004402100039000005e3030000410000000000320435000005c2020000410000000000210435000000240210003900000020030000390000000000320435000000040210003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c3011001c70000164700010430000000400100043d0000006402100039000005dd0300004100000000003204350000004402100039000005de03000041000000000032043500000024021000390000002a030000390000000000320435000005c20200004100000000002104350000000402100039000000200300003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c6011001c700001647000104300002000000000002000200000001001d000005b5010000410000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f00000001022001900000139d0000613d000000000101043b0000000002000411000100000002001d00000596022001970000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f00000001022001900000139d0000613d000000000101043b000000000101041a000000ff011001900000139f0000613d0000000209000029000000000190004c0000000104000029000013b40000613d0000000001000414000000040240008c000013460000c13d000000010200003900000001010000310000135a0000013d0000059302000041000000400300043d000005930530009c0000000003028019000005930510009c0000000001028019000000c0011002100000004002300210000000000112019f000005bc011001c70000800902000039000000000309001900000000050000191645163b0000040f0000000209000029000000010220018f00030000000103550000006001100270000105930010019d0000059301100197000000000310004c000013870000613d0000003f03100039000000200400008a000000000443016f000000400300043d0000000004430019000000000534004b00000000050000190000000105004039000005940640009c000013d70000213d0000000105500190000013d70000c13d000000400040043f0000000001130436000000030300036700000001050000310000001f0450018f0000000505500272000013780000613d000000000600001900000005076002100000000008710019000000000773034f000000000707043b00000000007804350000000106600039000000000756004b000013700000413d000000000640004c000013870000613d0000000505500210000000000353034f00000000015100190000000304400210000000000501043300000000054501cf000000000545022f000000000303043b0000010004400089000000000343022f00000000034301cf000000000353019f0000000000310435000000400100043d000000000220004c000013c60000613d000000000091043500000593020000410000000003000414000005930430009c0000000003028019000005930410009c00000000010280190000004001100210000000c002300210000000000112019f000005bf011001c70000800d020000390000000203000039000005e80400004100000000050000191645163b0000040f00000001012001900000139d0000613d000000000001042d00000000010000190000164700010430000000400100043d0000006402100039000005c40300004100000000003204350000004402100039000005c5030000410000000000320435000000240210003900000028030000390000000000320435000005c20200004100000000002104350000000402100039000000200300003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c6011001c70000164700010430000000400100043d0000004402100039000005e903000041000000000032043500000024021000390000001e030000390000000000320435000005c20200004100000000002104350000000402100039000000200300003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c3011001c700001647000104300000004402100039000005ea030000410000000000320435000000240210003900000010030000390000000000320435000005c20200004100000000002104350000000402100039000000200300003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c3011001c70000164700010430000005980100004100000000001004350000004101000039000000040010043f000005990100004100001647000104300004000000000002000300000002001d000400000001001d0000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000014670000613d000000000101043b0000000101100039000000000101041a000100000001001d0000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000014670000613d000000000101043b0000000002000411000200000002001d00000596022001970000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000014670000613d000000000101043b000000000101041a000000ff01100190000014690000613d00000004010000290000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000014670000613d000000000101043b00000003020000290000059602200197000100000002001d0000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000014670000613d000000000101043b000000000101041a000000ff01100190000014660000c13d00000004010000290000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000014670000613d000000000101043b00000001020000290000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000014670000613d000000000101043b000000000201041a000001000300008a000000000232016f00000001022001bf000000000021041b000000400100043d00000593020000410000000003000414000005930430009c0000000003028019000005930410009c00000000010280190000004001100210000000c002300210000000000112019f000005bc011001c70000800d020000390000000403000039000005bd040000410000000405000029000000030600002900000002070000291645163b0000040f0000000101200190000014670000613d000000000001042d00000000010000190000164700010430000000400100043d0000000007010019000005cf0110009c000014730000413d000005980100004100000000001004350000004101000039000000040010043f0000059901000041000016470001043000000000020700190000006001200039000000400010043f0000002a01000039000000000112043600000000020000310000000202200367000000000300001900000005043002100000000005410019000000000442034f000000000404043b00000000004504350000000103300039000000020430008c0000147b0000413d0000000002070433000000000220004c0000148d0000613d0000000002010433000005d002200197000005d1022001c700000000002104350000000002070433000000020220008c000014930000813d000005980100004100000000001004350000003201000039000000040010043f0000059901000041000016470001043000000021027000390000000003020433000005d003300197000005d2033001c700000000003204350000002902000039000000020500002900000000030500190000000004070433000000000424004b0000148d0000a13d0000000f0430018f0000000304400210000000f80440015f000005d305000041000000000445022f00000000051200190000000006050433000005d006600197000000f804400210000000000446019f00000000004504350000000405300270000000010220008a000000010420008c0000149a0000213d000000100130008c00000000010000190000000101004039000300000007001d164516270000040f000000010100002916450f160000040f000000400400043d000400000004001d0000002002400039000005d4030000410000000000320435000200000001001d00000037024000390000000301000029164504910000040f000005d502000041000000000021043500000011021000390000000201000029164504910000040f00000004030000290000000002310049000000200120008a00000000001304350000000001030019164504ba0000040f000005c201000041000000400200043d000300000002001d000000000012043500000004012000390000000402000029164504a20000040f000000030400002900000000014100490000059302000041000005930310009c0000000001028019000005930340009c000000000204401900000040022002100000006001100210000000000121019f00001647000104300004000000000002000300000002001d000400000001001d0000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000015630000613d000000000101043b0000000101100039000000000101041a000100000001001d0000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000015630000613d000000000101043b0000000002000411000200000002001d00000596022001970000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000015630000613d000000000101043b000000000101041a000000ff01100190000015650000613d00000004010000290000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000015630000613d000000000101043b00000003020000290000059602200197000100000002001d0000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000015630000613d000000000101043b000000000101041a000000ff01100190000015620000613d00000004010000290000000000100435000000200000043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000015630000613d000000000101043b00000001020000290000000000200435000000200010043f00000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bb011001c70000801002000039164516400000040f0000000102200190000015630000613d000000000101043b000000000201041a000001000300008a000000000232016f000000000021041b000000400100043d00000593020000410000000003000414000005930430009c0000000003028019000005930410009c00000000010280190000004001100210000000c002300210000000000112019f000005bc011001c70000800d020000390000000403000039000005d6040000410000000405000029000000030600002900000002070000291645163b0000040f0000000101200190000015630000613d000000000001042d00000000010000190000164700010430000000400100043d0000000007010019000005cf0110009c0000156f0000413d000005980100004100000000001004350000004101000039000000040010043f0000059901000041000016470001043000000000020700190000006001200039000000400010043f0000002a01000039000000000112043600000000020000310000000202200367000000000300001900000005043002100000000005410019000000000442034f000000000404043b00000000004504350000000103300039000000020430008c000015770000413d0000000002070433000000000220004c000015890000613d0000000002010433000005d002200197000005d1022001c700000000002104350000000002070433000000020220008c0000158f0000813d000005980100004100000000001004350000003201000039000000040010043f0000059901000041000016470001043000000021027000390000000003020433000005d003300197000005d2033001c700000000003204350000002902000039000000020500002900000000030500190000000004070433000000000424004b000015890000a13d0000000f0430018f0000000304400210000000f80440015f000005d305000041000000000445022f00000000051200190000000006050433000005d006600197000000f804400210000000000446019f00000000004504350000000405300270000000010220008a000000010420008c000015960000213d000000100130008c00000000010000190000000101004039000300000007001d164516270000040f000000010100002916450f160000040f000000400400043d000400000004001d0000002002400039000005d4030000410000000000320435000200000001001d00000037024000390000000301000029164504910000040f000005d502000041000000000021043500000011021000390000000201000029164504910000040f00000004030000290000000002310049000000200120008a00000000001304350000000001030019164504ba0000040f000005c201000041000000400200043d000300000002001d000000000012043500000004012000390000000402000029164504a20000040f000000030400002900000000014100490000059302000041000005930310009c0000000001028019000005930340009c000000000204401900000040022002100000006001100210000000000121019f000016470001043000030000000000020000000202000039000000000102041a000000010310019000000001041002700000007f0540018f000000000604001900000000060560190000001f0460008c00000000040000190000000104002039000000010440018f000000000443004b000016190000c13d000000400500043d0000000004650436000000000330004c000015ed0000c13d000001000200008a000000000121016f000000000014043500000040020000390000160e0000013d000100000004001d000200000006001d000300000005001d000000000020043500000593010000410000000002000414000005930320009c0000000001024019000000c001100210000005bf011001c70000801002000039164516400000040f0000000102200190000016250000613d00000020020000390000000206000029000000000360004c00000003050000290000160e0000613d000000000101043b0000000003000019000000010700002900000000020300190000000003720019000000000401041a000000000043043500000001011000390000002003200039000000000463004b000016030000413d0000005f01200039000000200200008a000000000221016f0000000001520019000000000221004b00000000020000190000000102004039000005940310009c0000161f0000213d00000001022001900000161f0000c13d000000400010043f0000000001050019000000000001042d000005980100004100000000001004350000002201000039000000040010043f00000599010000410000164700010430000005980100004100000000001004350000004101000039000000040010043f0000059901000041000016470001043000000000010000190000164700010430000000000110004c0000162a0000613d000000000001042d000000400100043d0000004402100039000005e6030000410000000000320435000005c2020000410000000000210435000000240210003900000020030000390000000000320435000000040210003900000000003204350000059302000041000005930310009c00000000010280190000004001100210000005c3011001c700001647000104300000163e002104210000000102000039000000000001042d0000000002000019000000000001042d00001643002104230000000102000039000000000001042d0000000002000019000000000001042d0000164500000432000016460001042e0000164700010430000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff000000000000000000000000000000000000000000000000ffffffffffffffff8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffffffffffff00000002000000000000000000000000000000800000010000000000000000004e487b71000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024000000000000000000000000000000000000000000000000000000000000000000000000000000008980f11e00000000000000000000000000000000000000000000000000000000d8baf7ce00000000000000000000000000000000000000000000000000000000ef99893900000000000000000000000000000000000000000000000000000000ef99893a00000000000000000000000000000000000000000000000000000000f2fde38b00000000000000000000000000000000000000000000000000000000f874225400000000000000000000000000000000000000000000000000000000d8baf7cf00000000000000000000000000000000000000000000000000000000eab90da60000000000000000000000000000000000000000000000000000000091d148530000000000000000000000000000000000000000000000000000000091d1485400000000000000000000000000000000000000000000000000000000a217fddf00000000000000000000000000000000000000000000000000000000d547741f000000000000000000000000000000000000000000000000000000008980f11f000000000000000000000000000000000000000000000000000000008bb9c5bf000000000000000000000000000000000000000000000000000000004ebb7915000000000000000000000000000000000000000000000000000000006b453c1e000000000000000000000000000000000000000000000000000000006b453c1f000000000000000000000000000000000000000000000000000000007ae267730000000000000000000000000000000000000000000000000000000084a33e63000000000000000000000000000000000000000000000000000000004ebb79160000000000000000000000000000000000000000000000000000000069cff80d00000000000000000000000000000000000000000000000000000000248a9ca200000000000000000000000000000000000000000000000000000000248a9ca3000000000000000000000000000000000000000000000000000000002f2ff15d0000000000000000000000000000000000000000000000000000000036568abe0000000000000000000000000000000000000000000000000000000001ffc9a70000000000000000000000000000000000000000000000000000000006fdde03339759585899103d2ace64958e37e18ccb0504652c81d4a1b8aa80fe2126ab950000000000000000000000000000000000000020000000000000000000000000ffffffff0000000000000000000000000000000000000000000000000000000001ffc9a7000000000000000000000000000000000000000000000000000000007965db0b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000800000000000000000020000000000000000000000000000000000004000000000000000000000000002000000000000000000000000000000000000000000000000000000000000002f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d00000000000000000000000000000000000000000000000100000000000000000200000000000000000000000000000000000020000000000000000000000000f43f23b7a28e6f8ce6843a21bd7b48bce778aa913b8c8cf459edf7d770e8d38a496e76616c6964206761732d657374696d61746500000000000000000000000008c379a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000064000000000000000000000000696e7461696e65720000000000000000000000000000000000000000000000004d61696e7461696e61626c653a2043616c6c6572206973206e6f742061206d610000000000000000000000000000000000000084000000000000000000000000496e76616c69642061646170746572206e616d65000000000000000000000000310ab089e4439a4c15d089f94afb7896ff553aecb10793d0ab882de59d99a32e02000002000000000000000000000000000000440000000000000000000000001806aa1896bbf26568e884a7374b41e002500962caba6a15023a8d90e8508b8302000002000000000000000000000000000000240000000000000000000000006801cc3000000000000000000000000000000000000000000000000000000000f140a35a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffa000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff300000000000000000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000000000000000003031323334353637383961626364656600000000000000000000000000000000416363657373436f6e74726f6c3a206163636f756e7420000000000000000000206973206d697373696e6720726f6c6520000000000000000000000000000000f6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b000000000000000000000001000000000000000000000000000000000000000020726f6c657320666f722073656c660000000000000000000000000000000000416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636570a0823100000000000000000000000000000000000000000000000000000000a9059cbb00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffff7f6f742073756363656564000000000000000000000000000000000000000000005361666545524332303a204552433230206f7065726174696f6e20646964206e000000000000000000000000000000000000000000000000ffffffffffffffdf022c0d9f00000000000000000000000000000000000000000000000000000000e2bdbc6b7225eb0a972ac943c485a6cc05f7c6811838bce8903f23200fb744fa496e73756666696369656e7420616d6f756e742d6f75740000000000000000005361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564496e737566666963656e7420616d6f756e74206f757400000000000000000000000000000000000000000000000000000000000000000000ffffffffffffff80537472696e67733a20686578206c656e67746820696e73756666696369656e74095ea7b3000000000000000000000000000000000000000000000000000000008c1256b8896378cd5044f80c202f9772b9d77dc85c8a6eb51967210b09bfaa2859616b416461707465723a204e6f7468696e6720746f207265636f76657200005472616e73666572206661696c65642e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c6d4a390b47ed4e406445aa2c7378dfef3f4492b88ea658fb74adaf81e1a596a" + ] +} \ No newline at end of file diff --git a/src/deployments/zksync/WETHAdapter.json b/src/deployments/zksync/WETHAdapter.json new file mode 100644 index 00000000..0d900ad6 --- /dev/null +++ b/src/deployments/zksync/WETHAdapter.json @@ -0,0 +1,794 @@ +{ + "address": "0x24F64801bF9E3C69AB29b16927A3032457C27a88", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "_wNative", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_swapGasEstimate", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "Recovered", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "previousAdminRole", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "newAdminRole", + "type": "bytes32" + } + ], + "name": "RoleAdminChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "RoleGranted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "RoleRevoked", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_adapter", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_newEstimate", + "type": "uint256" + } + ], + "name": "UpdatedGasEstimate", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_tokenFrom", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "_tokenTo", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_amountIn", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_amountOut", + "type": "uint256" + } + ], + "name": "YakAdapterSwap", + "type": "event" + }, + { + "inputs": [], + "name": "DEFAULT_ADMIN_ROLE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "MAINTAINER_ROLE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "addedMaintainer", + "type": "address" + } + ], + "name": "addMaintainer", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + } + ], + "name": "getRoleAdmin", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "grantRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "hasRole", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_amountIn", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_tokenIn", + "type": "address" + }, + { + "internalType": "address", + "name": "_tokenOut", + "type": "address" + } + ], + "name": "query", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "recoverAVAX", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_tokenAddress", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_tokenAmount", + "type": "uint256" + } + ], + "name": "recoverERC20", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "removedMaintainer", + "type": "address" + } + ], + "name": "removeMaintainer", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "renounceRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + } + ], + "name": "renounceRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_token", + "type": "address" + }, + { + "internalType": "address", + "name": "_spender", + "type": "address" + } + ], + "name": "revokeAllowance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "revokeRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_estimate", + "type": "uint256" + } + ], + "name": "setSwapGasEstimate", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_amountIn", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_amountOut", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_fromToken", + "type": "address" + }, + { + "internalType": "address", + "name": "_toToken", + "type": "address" + }, + { + "internalType": "address", + "name": "_to", + "type": "address" + } + ], + "name": "swap", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "swapGasEstimate", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "stateMutability": "payable", + "type": "receive" + } + ], + "transactionHash": "0x1f0d8b77cee14dbea05bcfe696657755117946881a71fac7c16b5bb5a532b996", + "receipt": { + "to": "0x0000000000000000000000000000000000008006", + "from": "0x1A267D3f9f5116dF6ae00A4aD698CdcF27b71920", + "contractAddress": "0x24F64801bF9E3C69AB29b16927A3032457C27a88", + "transactionIndex": 24, + "gasUsed": "85994513", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0xe633a541f751d8041d90944d24af0d7a8be47ffdb91e5320e4baa9841072a2c1", + "transactionHash": "0x1f0d8b77cee14dbea05bcfe696657755117946881a71fac7c16b5bb5a532b996", + "logs": [ + { + "transactionIndex": 24, + "blockNumber": 2231502, + "transactionHash": "0x1f0d8b77cee14dbea05bcfe696657755117946881a71fac7c16b5bb5a532b996", + "address": "0x000000000000000000000000000000000000800A", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000001a267d3f9f5116df6ae00a4ad698cdcf27b71920", + "0x0000000000000000000000000000000000000000000000000000000000008001" + ], + "data": "0x000000000000000000000000000000000000000000000000007433563b16f380", + "logIndex": 146, + "blockHash": "0xe633a541f751d8041d90944d24af0d7a8be47ffdb91e5320e4baa9841072a2c1" + }, + { + "transactionIndex": 24, + "blockNumber": 2231502, + "transactionHash": "0x1f0d8b77cee14dbea05bcfe696657755117946881a71fac7c16b5bb5a532b996", + "address": "0x0000000000000000000000000000000000008008", + "topics": [ + "0x3a36e47291f4201faf137fab081d92295bce2d53be2c6ca68ba82c7faa9ce241", + "0x000000000000000000000000000000000000000000000000000000000000800e", + "0x0f5e2fbe9e2355107418fe14354b799d8b7f0a9ecbf2f68b31acaebb38370cb8" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000048620475000000000000000000000442010000410000000001024019000004420320009c000000000101043b000000000032043500000001022001900000110300010430000000c001100210110110fc0000040f000000000200041400008010020000390000046b011001c70000004001100210000000000010043500000000010280190000044202000041000000400100043d000000000110004c0000000000210435000000820000c13d000000200000043f0000000001000019000000000001042d0000000000200435000000200010043f000004420310009c000000000101041a000000000300001900000044021000390000044701000041000000040010043f0000044601000041000011020001042e00000020030000390000002402100039000000ff01100190000000400200043d00000004021000390000047202000041000004440220019700000000010300190000000001000416110110f70000040f000000000112019f0000044302000041000000000302801900000000030004140000039f0000613d00000001012001900000800d02000039000000c002300210000004420410009c000004420430009c0000000001026019000004430110009c000000000410004c00000443011001970000046301000041000000000021041b0000004101000039000000000232016f000000000100003100000b010000613d00000003020000290000000002000019000000000045043500000473011001c700000000001204350000000005000019000000400010043f000000000220004c0000046c011001c7000000000121019f000000000200a019110104940000040f000000000207043300000476011001c70000000403000039000001000300008a000000000201041a0000000002000411000100000002001d0000006001100210000100000001001d0000000205000029000200000002001d000000000404043b0000006402100039000300000002001d0000000102000029000000400220021000000000030240190000101f0000613d00000f230000613d000006890000613d00000003044002100000057b0000613d000000000221004b000000010110003900000000040000190000000103300039000004420340009c0000000001100031000000040100008a0000000103000031000200000001001d000000020100002900000001010000290000000003050019000300000000000200000000020080190000000003022019000000040110008a0000046f011001c70000000000000435ffffffffffffffff000300000001035500000472010000410000000000130435000000320100003900000000020104330000000306000029000000000302043300000000020440190000000001410049110104a50000040f00000464011001c70000000201100367000000040100003900000004020000290000000000430435000000400040043f00000000020400190000000001010433000000000606043b0000094f0000613d000007c90000613d000007570000613d00000481040000410000000401200039110104bd0000040f000000200120008a00000000023100490000001102100039000004800200004100000037024000390000047f030000410000002002400039000000400400043d110109d20000040f110110e30000040f0000000101004039000000100130008c000000010420008c000000010220008a0000000405300270000000000446019f000000f8044002100000047b0660019700000000060504330000000005120019000000000445022f0000047e05000041000000f80440015f0000000f0430018f000000000424004b000000000407043300000029020000390000047d033001c70000047b033001970000002102700039000000020220008c0000047c022001c70000047b02200197000000020430008c000000000442034f000000000541001900000005043002100000000202200367000000000200003100000000011204360000002a01000039000000600120003900000000020700190000047a0110009c00000000070100190000000207000029000000040100002900000002030000390000046d0400004100000001022001bf000000080200002900000001040000290000000101000039000000000310004c0000000403000029000000000331043600000001055001900000046e0640009c0000000105004039000104420010019d00000060011002700000094f0000c13d000009510000213d000000000651034f000000200430008c0000000301000029000300000001001d0000046e0310009c0000000102004039000000000430004c000000000202043b0000002803000039000004750300004100000474030000410000002002000039000000200310008c000000000303043b000000000520004c000000000707043b1101042b0000040f000000000301001900040000000000020200000000000000000000010200003900000e590000613d00000d800000613d000000200400008a000000000131019f000000400300043d00000bd00000613d0000000304000029000400000004001d000300000007001d0000002a030000390000048b030000410000048a030000410000048c03000041000000010200c039000000000210004c0000000002036019000004430220009c000000000300a01900000443022001970000000004034019000000200420008c0000044303000041000000000320004c0000000012010434000000000464019f00000000045401cf000000000454022f0000010005500089000000000656022f00000000065601cf000000000603043300000003055002100000000003630019000000000464034f0000000506600210000000000750004c000000000867004b00000001077000390000000000890435000000000808043b000000000884034f00000000098300190000000508700210000000000700001900000005066002720000001f0560018f00000001060000310000000304000367000000000514004b0000000004410019000000000441016f0000003f0130003900000060010000390000044203100197000000010220015f000009510000c13d000000000221016f00000100044000890000000505500210000000000640004c000000000756004b000000010660003900000000007804350000000507600210000000000600001900000005055002720000001f0450018f0000000001000414000000080a0000290000000303000029000300000004001d00000000001004390000000000650435000004920000213d0000003f0310008c00000014030000390000047004000041000400000001001d000000000534004b000000200200008a00000463050000410000000007060019000400000002001d110103e60000040f000000200300008a00000060033002705361666545524332416363657373436f0200000200000000496e76616c6964200000002000000000000000240000000000000000ffffffff000000040500002900000e430000613d00000002090000290000001e030000390000049303000041000004920400004100000d800000c13d00000d520000613d00000c900000c13d00000c760000613d000000c00330021000000000030440190000000003058019000004420630009c0000000001058019000004420610009c0000044205000041000000040520008c000000000400041400000000002304350000004402000039000000020200002900000c900000613d00020000000000020000000206000029000004900300004100000000040104330000000102000031000000000141019f00000000013101cf000000000131022f0000010003300089000000000121034f000000000434022f00000000043401cf000000000402043300000005022002100000000303400210000000000340004c000000000523004b000000050530021000000005023002720000001f0430018f000000040240008c000008b10000613d000004420230009c000004420510009c000000400030043f000000800310003900000000003104350000002002100039000008ca0000613d0000000002090433000000000204c019000004430330009c000000000530004c0000044303300197000000000402401900000000019200190000001f01300039000000070b000029000100000003001f000000000474019f00000000044601cf000000000646022f000000000747022f00000000074701cf00000000070504330000000005590019000000000771034f000000000879001900000000050340190000002005000039000004420330019700000000020a001900000447011001c70000000002094019000004420390009c000000040290003900000000001904350000048701000041000000400900043d000080020200003900000486011001c70000048501000041000000000232004b0000002f03000039000004840300004100000483030000410000000307000029000000010600002900000000030004110000000204000029000200000007001d0000000400100443000100000003001d00000000000204350000000004030433000004440430009c000004710000213d000004440320009c0000002402200370000004120000213d000004440310009c000000040120037000000002020003670000001f0310008c000004710300004100000022010000390000000005000410000000000120004c0000000702000029000003a70000613d00000000020204330000002004400039000000000423004b0000000502200270000100000004001d000000060600002900000004060000290008000000000002000000800010043f000000010110018f00000000000104350000000002010019000004440210009c000000000024043500000000050404330000000302200210000000000645004b0000000105500039000000000076043500000005065002100000000203000367000000400020043f000000020100036700010000000000021364174597a15951f02b9dc979f00fe33255e75a725f30577a83d6c30a1ce220206661696c65642e5472616e7366657265636f7665720000696e6720746f207265723a204e6f746859616b41646170741967210b09bfaa28b9d77dc85c8a6eb55044f80c202f97728c1256b8896378cd095ea7b3000000006666696369656e7467746820696e737520686578206c656e537472696e67733affffffffffffff80756e742d6f75740069656e7420616d6f496e737566666963903f23200fb744fa05f7c6811838bce8972ac943c485a6cce2bdbc6b7225eb0a6c206661696c65646576656c2063616c303a206c6f772d6c6f6e20646964206e206f706572617469303a20455243323065640000000000006f74207375636365ffffffffffffff7fa9059cbb0000000070a0823100000000023a8d90e8508b8302500962caba6a1568e884a7374b41e01806aa1896bbf26572656e6f756e6365616e206f6e6c79206e74726f6c3a20636f722073656c660020726f6c657320660000000100000000eb21e047a839171bb53935d1edc7fd642a47ea670b442974f6391f5c32d9c69d2000000000000000696e6720726f6c65206973206d69737363636f756e7420006e74726f6c3a2061383961626364656630313233343536377800000000000000300000000000000000ffffffffffffffffffffffffffffa00000004400000000ab882de59d99a32eff553aecb10793d015d089f94afb7896310ab089e4439a4c6e616d6500000000616461707465722000000084000000006e6f742061206d616c6c65722069732061626c653a2043614d61696e7461696e696e7461696e6572000000640000000008c379a0000000006d617465000000006761732d6573746959edf7d770e8d38ae778aa913b8c8cf4e6843a21bd7b48bcf43f23b7a28e6f8c304540a733656f0d7c78024a5027094082e926ec794901d12f8788117e7eff1d000000400000000070746572000000005741766178416461ffffffffffffffc000000020000000807965db0b0000000001ffc9a700000000ffffffff00000000b8aa80fe2126ab95cb0504652c81d4a12ace64958e37e18c339759585899103d0000000006fdde030000000001ffc9a70000000036568abe000000002f2ff15d00000000248a9ca300000000248a9ca20000000069cff80d000000004ebb79160000000084a33e63000000007ae26773000000006b453c1f000000006b453c1e000000004ebb7915000000008bb9c5bf000000008980f11f00000000d547741f00000000a217fddf0000000091d148540000000091d1485300000000eab90da600000000d8baf7cf00000000f874225400000000f2fde38b00000000ef99893a00000000ef99893900000000d8baf7ce000000008980f11e4e487b71000000000000008000000100000000020000000080000000000000000000110100000432000010ff00210423000010fa00210421000010e60000613d0000000001050019000010db0000c13d000010db0000213d00000000015200190000005f01200039000010bf0000413d000000000463004b0000002003200039000000000401041a000000000372001900000000020300190000000107000029000010ca0000613d0000000305000029000000000360004c000010e10000613d000300000005001d000200000006001d000010ca0000013d00000040020000390000000000140435000000000121016f000001000200008a000010a90000c13d000000000330004c0000000004650436000000400500043d000010d50000c13d000000000443004b000000010440018f00000001040020390000001f0460008c000000000605601900000000060400190000007f0540018f00000001041002700000000103100190000000000102041a0000000202000039000010520000213d000010450000a13d0000104b0000813d000010450000613d000010330000413d0000102b0000413d0000101e0000613d000010210000613d00000f560000213d00000f490000a13d00000f4f0000813d00000f490000613d00000f370000413d00000f2f0000413d00000f220000c13d00000f250000613d00000010030000390000049403000041000000000091043500000e820000613d000000000353019f00000000034301cf000000000343022f000000000545022f00000000054501cf00000000050104330000000001510019000000000353034f00000e2c0000413d000000000773034f000000000871001900000e340000613d00000001050000310000000303000367000000000113043600000e930000c13d00000e930000213d0000000004430019000000000443016f0000003f031000390000044201100197000000010220018f000000000309001900008009020000390000004002300210000004420530009c00000e160000013d000000010100003100000e020000c13d00000e700000613d000000000190004c00000e5b0000613d00000dc00000613d00000d6b0000613d00000daf0000c13d00000d3b0000413d00000d430000613d00000d820000c13d00000d820000213d000000400330021000000d240000013d00000d100000c13d000000800410003900000d820000813d0000048f0410009c00000000004204350000048802000041000000200310003900000d9d0000613d000000000130004c00000d880000613d0000000001034019000000040130003900000028020000390000002401300039000004750200004100000044013000390000047402000041000000640130003900000cbd0000613d00000c8f0000613d00000cac0000c13d00000c5f0000413d00000c670000613d00000c920000c13d00000c920000213d000000000113019f0000006003300210000000000303043300000c480000013d00000c340000c13d000000800230003900000c920000813d0000048f0230009c000000440230003900000024043000390000049102000041000000200130003900000c980000613d00000be70000613d00000bd20000613d00000b930000613d00000b830000613d00000b340000213d00000b270000a13d00000b2d0000813d00000b270000613d00000b150000413d00000b0d0000413d00000b000000613d00000aaf0000c13d00000b030000613d00000a170000813d000000100250008c000009f50000213d000000010640008c000000010440008a00000004025002700000000000260435000000000227019f000000f8022002100000047b0770019700000000070604330000000006340019000000000226022f0000047e06000041000000f80220015f0000000f0250018f00000a0b0000a13d000000000242004b0000000005020019000000410400003900000000005404350000047d055001c70000047b05500197000000210410003900000a0b0000413d000000020440008c0000047c044001c70000047b0440019700000a0b0000613d000000000440004c000009dd0000413d000000030650008c0000000000670435000000000664034f000000000763001900000002044003670000000004000031000000420300003900000a110000813d0000048f0310009c000009b70000613d000009a20000413d000009a90000613d000009870000613d000009720000413d000009790000613d00000017030000390000048e0300004100000011010000390000048d04000041000000030300003900000006020000290000095d0000413d0000000002420049000009570000413d000000000342004b00000005020000290000099e0000613d000009140000613d000008fd0000413d000009050000613d0000000809000029000800000009001d000009180000013d000008e60000c13d000000080400002900000007030000290000000400a00443000009bd0000613d0000098d0000c13d0000089a0000413d000008a20000613d0000000504000029000000c002200210000000000203401900000000010480190000000002048019000004420520009c0000044204000041000008830000013d0000086c0000c13d0000000404a0008c000004890310009c00000044030000390000000000b304350000002403100039000004880300004100000006030000290000000002b2004b0000000002000410000500000002001d0000096e0000613d000008340000613d0000081d0000413d000008250000613d0000000509000029000500000009001d0000083a0000013d000008060000c13d00070000000b001d0000000402a0008c0000000000b20435000004440b1001970000000701000029000800000001001d0000044401400197000600000001001d000200000003001d000700000005001d000007c80000613d000007cb0000c13d000007560000613d000007590000813d000004820230009c0000044402300197000006bc0000213d000006af0000a13d000006b50000813d000006af0000613d0000069d0000413d000006950000413d000006880000613d0000068b0000613d000005fe0000613d000005ae0000213d000005a10000a13d000005a70000813d000005a10000613d0000058f0000413d000005870000413d0000057a0000c13d0000057d0000613d000000000100c01900000000012101a0000000000113013f00000444033001970000000203000029000000000212013f0000044401100197000004ef0000613d000080050200003900000479011001c7000000240000044300000000010004120000047801000041000004ca0000c13d000004ca0000213d00000000011200190000001f0220003900000000012100190000001f023000390000000002130019000004b80000a13d000000000234004b000004ad0000413d000000000606043300000000062400190000000005140019000004b80000613d000000400110003900000000003404350000000004310436000004a40000a13d000000000245004b0000049a0000413d0000000007070433000000000735001900000020055000390000000006250019000004a40000613d0000000001240019000000000140004c000004440650009c000000000505043b0000008405500370000004440640009c000000640450037000000044035003700000000401500370000000000201043b00000024015003700000000205000367000004920000613d0000009f0310008c0000004403300370000004440420009c00000024023003700000000401300370000004710000613d0000005f0310008c000004560000c13d0000046502100197000004560000613d0000000401100370000004400000213d0000002402100370000004400000613d000004290000213d000004290000613d000004120000613d000003f90000213d000003f90000613d000004770300004100000006050000290000000501000029000600000005001d000003d40000613d000000000017041b0000000101800210000000000212016f000000000121013f000000000112022f000000010200008a00000003018002100000032c0000013d00000001028002100000000002620019000000000343013f000000000334022f000000010400008a000000f80330018f0000000303800210000003210000813d000000000383004b0000030e0000413d0000002002200039000000000051041b00000000050504330000000005620019000003160000613d0000000003280170000003240000a13d0000001f0280008c000003020000413d000000000003041b000003060000813d000000000331001900000000022100190000001f0240003900000000030040190000000003020019000000200380008c0000001f02800039000003060000413d000000200240008c000000020800002900000004070000290000000000700435000400000007001d000200000008001d000002f50000413d000000200110008c000000000184019f000003ce0000c13d000000000112004b00000001010020390000001f0140008c000000000403601900000000040100190000007f0310018f00000001011002700000000102100190000000000107041a0000000207000039000003a10000213d0000046e0180009c000003bc0000613d000000000180004c0000000008060433000002cb0000c13d000002770000c13d000800000002001d0000046a010000410000000002120436000600000002001d0000000c010000390000004001200039000003a10000813d000004690120009c000500000001001d000700000002001d110106000000040f11010dd50000040f11010cd20000040f110104140000040f00000468010000410000000101006039000004670110009c0000000102006039000004660210009c0000046501100197110104420000040f11010a280000040f110104d00000040f110104580000040f11010bf90000040f110103fb0000040f110104f10000040f000000010100c03911010b740000040f11010b850000040f11010e990000040f110105ee0000040f110107e00000040f110104730000040f0000044f0110009c000002080000613d0000044e0210009c0000045c0110009c000001ed0000613d0000045b0210009c110106fc0000040f000004550110009c000001e10000613d000004540210009c110110920000040f000004620110009c000001d00000613d000004610210009c000004450100004100000120001004430000010000100443000000200100003900000160001004430000014000000443000000800100043d110102140000040f000000c00200043d00000463020000410000044d0110009c000001c40000613d0000044c0210009c000001b60000613d0000044b0210009c000001370000a13d0000044a0210009c11010b950000040f0000045a0110009c000001aa0000613d000004590210009c0000019e0000613d000004580210009c000001180000a13d000004570210009c000000c90000a13d000000a00100043d000000400310008c000000000252019f00000000022301cf000000000323022f0000010002200089000000000525022f00000000052501cf000000a004400039000000000343034f0000000504400210000000730000613d0000005c0000413d000000a006600039000000000763034f000000640000613d00000005041002720000001f0210018f11010f960000040f000004530110009c000001850000613d000004520210009c000001700000613d000004510210009c000000f90000a13d000004500210009c000000a70000213d000004490210009c000000560000213d0000009f0320008c000000bf02100039000000a0010000391101076e0000040f000004600110009c000001640000613d0000045f0210009c000001470000613d0000045e0210009c000000d40000a13d0000045d0210009c000000840000213d000004560210009c000000400000213d000004480210009c000000e0011002700000003c0000413d000000040210008c00000080010000390000002b0000c13d000100000000001f000004420030019d00020000000103550003000000410355000004420430019700df01c700de0137047404730472047104700031046f046e0046003e046d046c01c60004046b046a04690468046704660465046404630462046104600014002a00120014003e00dd045f0001002500030002000d0021045e0046002a00120014003e045d0136003d045c045b0020000e003c001f001e00070012001400160021045a045904580457045604550454045304520014002a00120014003e00dd04510001002500030002000d002101c5045001c4044f044e004501c3044d00dc044c01c201c101c0044b00db044a0449044801bf044701be0446044500da044404430442044101bd002d0440001c005c00390038004a00370029003600120014043f01bc043e00160007043d043c043b043a0439043804370014002a0012001400680067002d00d9001c005c00390038004a0037002900360012001400810080000404360001002500030002000d0021043504340433043204310430042f0014002a0012001400680067002d00c3001c005c00390038004a003700290036001200140011042e00130010001a000f000d007f0021042d042c042b042a04290428042700c20426042500210424042304220014002a0012001400680067002d00c3001c005c00390038004a00370029003600120014042101bb00110054007e00c1007d0010001a000f0066007c005b0053004900210420041f041e0014002a0012001400680067002d00d9001c005c00390038004a00370029003600120014008100800004041d0001002500030002000d0021041c041b041a0014002a0012001400680067002d00c3001c005c00390038004a0037002900360012001400c2001b00250044000100030002000d007f00210419041804170014002a00120014003e041604150001002500030002000d0021002a0012001400680067002d00d9001c005c00390038004a00370029003600120014008100800004041400250044000100030002000d007f0021002a00120014003e00dd04130001002500030002000d0021002a00120014003e00dd00520412005a0411001b00240016041000250044000100030002000d007f0021002a0012001400680067002d00c3001c005c00390038004a00370029003600120014001101ba0010001a000f000d007f0021002a00120014003e0135040f0001002500030002000d0021002a00120014003e040e040d0001002500030002000d0021002a00120014003e040c040b00250044000100030002000d007f0021002a00120014003e0135040a0001002500030002000d0021002a00120014003e04090408040700410406040500160404004901b901b804030021002a00120014003e040204010001002500030002000d0021002a0012001400680067002d00d9001c005c00390038004a0037002900360012001400810080000404000001002500030002000d0021002a00120014003e013503ff0001002500030002000d002101b703fe03fd002503fc03fb03fa004603f903f803f703f600590044007300150001000a000300020008000c000b000900060030000400510134002803f5001800190001000a000300020008000c000b0009000600300004001b002403f4007300150001000a000300020008000c000b000900060030000400c0001800190001000a000300020008000c000b00090006003000040050004f003d00bf003b00110010002f0035002e0034000f000d0033002c00480032004e00be004501b60133002b00310030003a000e00150001000a000300020008000c000b000900060030000400c0001800190001000a000300020008000c000b0009000600300004001b002403f3003a000e00150001000a000300020008000c000b000900060030000400c0001800190001000a000300020008000c000b00090006003000040050004f003d00bf003b00110010002f0035002e0034000f000d0033002c00480032004e00be013201b60133002b0031003001b503f203f103f003ef03ee03ed03ec03eb03ea03e903e803e703e6001603e501b903e403e303e203e1001603e001b403df03de03dd0001000a0003000200080072000b000900060030000401b503dc03db00c103da03d903d801b303d703d603d503d401b303d303d201b203d103d0006501b203cf03ce03cd013103cc00d803cb00d8006403ca03c903c803c7006301b1013003c603c503c403c303c203c103c003bf03be01b0003d003b00c203bd03bc03bb03ba03b903b8004001b003b703b6002c03b5003a000e00150001000a000300020008000c000b000900060030000400c0001800190001000a000300020008000c000b0009000600300004001b002401af01ae01ad03b400c2012f003b001100130010002f0035002e0034000f000d0033002c0072003200bd012e01ac03b3002b0031003003b201b8003a000e00150001000a000300020008000c000b000900060030000400c0001800190001000a000300020008000c000b0009000600300004001b002401af01ae00bc003b001100130010002f0035002e0034000f000d0033002c0072003200bd012e03b1002b003100300017001600070020000e003c001f001e00070011005800d70005001d00d60005002300d50005002700130026002200050010001a000f000d004d00070011001d03b000050023012d0005002700130026002200050010001a000f000d004300070020000e01ab001f001e00070011001d01aa00050023012d0005002700130026002200050010001a000f000d004300070071002d01a9001c007000390038006f003700290036001203af00810080000401bc03ae0017001600070071002d012c001c007000390038006f003700290036001203ad01a801a7000401a601a501a400d401a301a50017001600070071002d012c001c007000390038006f003700290036001203ac01a801a7000401a603ab01a400d40017001600070071002d012c001c007000390038006f003700290036001203aa01c603a900d401a303a803a700040017001600070071002d01a9001c007000390038006f003700290036001203a600810080000403a5006203a40017001600070071002d03a3001c007000390038006f003700290036001203a201c403a1000403a000d4039f01a2039e00da01a101a20017001600070071002d039d001c007000390038006f0037002900360012039c039b039a039903980004039700da01a1012b039600570395012b039403930392012b00170016000700de01a003910390038f0045038e038d038c038b01c201c0038a0389038801ba001700220387007b0386038500d303840064038301b103820381012a01300380037f037e037d019f037c0136003d037b0017037a0136003d03790062004100d200d1037800060377004600170020000e003c001f001e0007006e019e005600d0037601290375019d03740001000a00030002000803730372000900060371005a002800040370036f036e036d036c036b00cf036a001700160007006e00d0003a000e00150001000a000300020008000c000b00090006006100040063001b0054000e00150001000a000300020008000c000b0009000600610004005100560028001800190001000a000300020008000c000b0009000600610004001b00240369003a000e00150001000a000300020008000c000b0009000600610004004000280052001800190001000a000300020008000c000b0009000600610004001b00240368003a000e00150001000a000300020008000c000b0009000600610004005a001800190001000a000300020008000c000b00090006006100040050004f003d00bf003b00110010002f0035002e0034000f000d0033002c00480032004e00be0132007a00bb002b00310061001700160007001100ba00b903670020000e003c001f001e000700b800b7004600b600b500b400b3001c00b200b100b000570042006500af0366004c00470365007900ae00ad0013004c00ac03640020000e0078001f001e000700ab007b00aa00a9000500a80055006d00a700a6036300a5006000a400a300a200a100a0009f009e009d0042009c009b009a0362009900160098019c0097006c00960095012800940093000500540092006b004b009100130090006c004b0127008f008e00770029008d0076002500560044008c0040007e019b007d0010001a000f0066007c005b005300490007000e00150001000a000300020008000c000b00090006036100040063001b001700160007006e00d0003a000e00150001000a000300020008000c000b00090006005f00040063001b0054000e00150001000a000300020008000c000b00090006005f0004005100560028001800190001000a000300020008000c000b00090006005f0004001b00240360003a000e00150001000a000300020008000c000b00090006005f0004004000280052001800190001000a000300020008000c000b00090006005f0004001b0024035f003a000e00150001000a000300020008000c000b00090006005f0004005a001800190001000a000300020008000c000b00090006005f00040050004f003d003b00110010002f0035002e0034000f000d0033002c00480032004e008b0132007a00bb002b0031005f001700160007001100ba00b9035e0020000e003c001f001e000700b800b7004600b600b500b400b3001c00b200b100b000570042006500af035d004c0047035c007900ae00ad0013004c00ac035b0020000e0078001f001e000700ab007b00aa00a9000500a80055006d00a700a6035a00a5006000a400a300a200a100a0009f009e009d0042009c009b009a0359009900160098019c0097006c00960095012800940093000500540092006b004b009100130090006c004b0127008f008e00770029008d0076002500560044008c0040007e019b007d0010001a000f0066007c005b005300490007006e019a03580059019e03570356006a000e00150001000a000300020008000c000b00090006008a00040040001800190001000a000300020008000c000b00090006008a0004001b00240355006b000e00150001000a000300020008000c000b00090006008a00040040001800190001000a000300020008000c000b00090006008a00040050004f003d003b00110010002f0035002e0034000f000d0033002c00480032004e008b005501990198002b0031008a0017001600070011005801970005001d01960005002301950005002700130026002200050010001a000f000d004d0007006e00520028019a005901940354006a000e00150001000a000300020008000c000b00090006008900040040001800190001000a000300020008000c000b0009000600890004001b00240353006b000e00150001000a000300020008000c000b00090006008900040040001800190001000a000300020008000c000b00090006008900040050004f003d003b00110010002f0035002e0034000f000d0033002c00480032004e008b005501990198002b003100890017001600070011005801970005001d01960005002301950005002700130026002200050010001a000f000d004d000701b70352035101340350019301290128034f034e019d0001000a0003000200080192019100090126000600880004001200880190018f018e034d034c018d0125034b034a03490348006903470010001a000f018c018b005b00080049018a018903460009034500de0137018800ce01870186012401230344012201210185018400dc0120011f011e0343011d0342011c00cd018300600182018101800087011b017f017e017d0042017c007500060126017b0341017a01310340011a01790062004100d200d100cc000601190046002d006900ce0064017801770176004a01750174004700cb01730052033f033e0172001d033d00050171033c0005033b033a03390170033800cc016f016e002f03370336006900410335033403330332005b0086016d033100530049016c00850330032f00490189002b017b01260118007500ca00c90117011600d3016b0115032e0114001101130112004500c800c700cc00c60119008400c501110110010f010e032d010d010c010b010a0109010801070106032c0105016b0104010301020101010000ff00fe005700fd00fc00fb00fa00830006032b00f900f8017200f700f6006400f500f400db00f300f2008500f1004700cb008600f0004100ef006200cb0012032a0193012903290001000a00030002000801920191000903280327000600880004001200880190018f018e018d01250005016a0326006903250010001a000f018c018b005b00080049018a008503240009032300de0137018800ce01870186012401230322012201210185018400dc0120011f011e0321011d0320011c00cd018300600182018101800087011b017f017e017d0042017c00750006031f017a031e011a01790062004100d200d100cc000601190046002d006900ce0064017801770176004a01750174004700cb017300c1031d031c031b00c40194031a01710005031900130010002f0035002e0034000f000d0033002c000c0032031803170055007a002b003100880017001600070020000e003c001f001e00070020000e0316001f001e0007001d03150005002303140005002700130026002200050010001a000f000d00430007016901680313001c016700cd0087012a0065016603120165031101640163016201610160015f0004015e015d015c015b00440001015a00030002005300070011001d00ee000500270013002300220005002600050010001a000f000d00430007016901680310001c016700cd0087012a00650166030f0165030e01640163016201610160015f0004015e015d015c015b00440001015a00030002005300070011005800ed0005001d00ec0005002300eb0005002700130026002200050010001a000f000d004d000701bb0011030d030c016f016e030b00c5030a0309004501c3030803070087030601c10305030401590303030201a0030103000083015902ff02fe02fd01be02fc02fb02fa02f902f8007902f702f602f501bf02f402f302f202f102f002ef02ee02ed02ec02eb02ea02e902e802e702e600170020000e0078001f001e00070020000e003c001f001e00070011001d0158000500270013002300220005002600050010001a000f000d0043000700df00d0007300150001000a000300020008000c000b00090006003f00040063001b0054000e00150001000a000300020008000c000b00090006003f00040051005600280134001800190001000a000300020008000c000b00090006003f0004001b002402e5007300150001000a000300020008000c000b00090006003f0004004000280052001800190001000a000300020008000c000b00090006003f0004001b002402e4007300150001000a000300020008000c000b00090006003f0004005a001800190001000a000300020008000c000b00090006003f00040050004f003d00bf003b00110010002f0035002e0034000f000d0033002c00480032004e00be0045007a00bb002b0031003f007300150001000a000300020008000c000b00090006003f00040082001800190001000a000300020008000c000b00090006003f0004001b002402e3007300150001000a000300020008000c000b00090006003f00040082001800190001000a000300020008000c000b00090006003f00040050004f003d003b00110010002f0035002e0034000f000d0033002c00480032004e008b004501570133002b0031003f001700160007001100ba00b902e20020000e003c001f001e000700b800b7004600b600b500b400b3001c00b200b100b000570042006500af02e1004c004702e0007900ae00ad0013004c00ac02df0020000e0078001f001e000700ab007b00aa00a9000500a80055006d00a700a602de00a5006000a400a300a200a100a0009f009e009d0042009c009b009a02dd00990016009800ea0097006c0096009500e9009400930005006a009200cf004b009100130090006b004b00c4008f008e00770029008d0076002500590044008c0082007e00e8007d0010001a000f0066007c005b0053004900070028001800190001000a000300020008000c000b0009000602dc0004001700160007000e00150001000a000300020008000c000b0009000602db000400170016000701c70054003a000e00150001000a000300020008000c000b0009000600e7000400510028001800190001000a000300020008000c000b0009000600e70004001b002402da005a01ad02d900c2003b001100130010002f0035002e0034000f000d0033002c0072003200bd012e01ac002b003100e70017001600070011005800d70005001d00d60005002300d50005002700130026002200050010001a000f000d004d00070011001d01aa00050023012d0005002700130026002200050010001a000f000d00430007015600560054003a000e00150001000a000300020008000c000b000900060155000400510028001800190001000a000300020008000c000b00090006015500e60004001b002402d802d702d600130154002802d501bd0153015202d4019f02d302d202d101c50151005a0028015002d00069004102cf014f014e014d000d02ce014c014b02cd02cc0066006d014a014900e5002b0118007500ca00c90117011600d30148011500e40114001101130112004500c800c702cb00c602ca008400c501110110010f010e02c9010d010c010b010a010901080107010602c8010501480104010301020101010000ff00fe005700fd00fc00fb00fa0083000602c700f900f802c600f700f6006400f500f400db00f300f2008500f100470147008600f0004100ef00620147001202c50017001600070020000e003c001f001e000702c402c3001302c202c1001302c002bf00130076007702be00d800130001016c02bd000d004d00070011001d00ee000500270013002300220005002600050010001a000f000d004300070011005800ed0005001d00ec0005002300eb0005002700130026002200050010001a000f000d004d0007006e0059006a003a000e00150001000a000300020008000c000b0009000600e30004005100280052001800190001000a000300020008000c000b0009000600e30004001b002402bc012702bb02ba0011001d000502b902b80152002300c102b7015300130154002802b602b502b400840151015002b30069004102b2014f014c014b02b10086014e014d005300e50066006d014a014900e5002b0118007500ca00c90117011600d30146011500e40114001101130112004500c800c702b000c602af008400c501110110010f010e02ae010d010c010b010a010901080107010602ad010501460104010301020101010000ff00fe005700fd00fc00fb00fa0083000602ac00f900f802ab00f700f6006400f500f400db00f300f2008500f100470145008600f0004100ef00620145001202aa0011004000130010002f0035002e0034000f000d0033002c0072003200bd01440055002b003100e30017001600070020000e003c001f001e00070011005800d70005001d00d60005002300d50005002700130026002200050010001a000f000d004d00070011001d01430005002301420005002700130026002200050010001a000f000d004300070011001d00ee000500270013002300220005002600050010001a000f000d004300070011005800ed0005001d00ec0005002300eb0005002700130026002200050010001a000f000d004d00070156006a003a000e00150001000a000300020008000c000b0009000600e20004005100520028001800190001000a000300020008000c000b0009000600e20004001b002402a9014102a800c102a70125016a02a600e102a502a4001000e602a3002e016d000f000802a2002c004802a102a00045002b0141029f007500ca00c9029e00c30140029d00e4029c00e6029b0130004500c800c7029a00c602990084029802970296012401230295012201210294029300dc0120011f011e0292011d0140011c029102900060028f028e028d00da011b028c028b028a017000110047028902880010002f0035002e0034000f000d0033002c0072003200bd01440045002b003100e20017001600070011005800d70005001d00d60005002300d50005002700130026002200050010001a000f000d004d00070011001d01430005002301420005002700130026002200050010001a000f000d00430007001d02870005002302860005002700130026002200050010001a000f000d004300070020000e003c001f001e000700df0059012f000e00150001000a000300020008000c000b00090006005e00040063001b0054000e00150001000a000300020008000c000b00090006005e0004005100560028001800190001000a000300020008000c000b00090006005e0004001b0024028500bc000e00150001000a000300020008000c000b00090006005e0004004000280052001800190001000a000300020008000c000b00090006005e0004001b0024028400bc000e00150001000a000300020008000c000b00090006005e0004005a001800190001000a000300020008000c000b00090006005e00040050004f003d00bf003b00110010002f0035002e0034000f000d0033002c00480032004e00be013f007a00bb002b0031005e001700160007001100ba00b902830020000e003c001f001e000700b800b7004600b600b500b400b3001c00b200b100b000570042006500af0282004c00470281007900ae00ad0013004c00ac02800020000e0078001f001e000700ab007b00aa00a9000500a80055006d00a700a6027f00a5006000a400a300a200a100a0009f009e009d0042009c009b009a027e00990016009800ea0097006c0096009500e9009400930005006a009200cf004b009100130090006b004b00c4008f008e00770029008d0076002500590044008c0082007e00e8007d0010001a000f0066007c005b00530049000700df0059012f000e00150001000a000300020008000c000b00090006005d00040063001b0054000e00150001000a000300020008000c000b00090006005d0004005100560028001800190001000a000300020008000c000b00090006005d0004001b0024027d00bc000e00150001000a000300020008000c000b00090006005d0004004000280052001800190001000a000300020008000c000b00090006005d0004001b0024027c00bc000e00150001000a000300020008000c000b00090006005d0004005a001800190001000a000300020008000c000b00090006005d00040050004f003d003b00110010002f0035002e0034000f000d0033002c00480032004e008b013f007a00bb002b0031005d001700160007001100ba00b9027b0020000e003c001f001e000700b800b7004600b600b500b400b3001c00b200b100b000570042006500af027a004c00470279007900ae00ad0013004c00ac02780020000e0078001f001e000700ab007b00aa00a9000500a80055006d00a700a6027700a5006000a400a300a200a100a0009f009e009d0042009c009b009a027600990016009800ea0097006c0096009500e9009400930005006a009200cf004b009100130090006b004b00c4008f008e00770029008d0076002500590044008c0082007e00e8007d0010001a000f0066007c005b005300490007006e027502740273027202710270026f026e0064026d026c026b026a02690268026702660265026402630262026101b40260025f00180001000a0003000200080072000b00090006025e00d80157025d025c025b0004001c025a0259025802570083006302560255025402530131011a02520062004100d200d10251000602500046024f00170020000e01ab001f001e00070020000e003c001f001e0007001600070012024e00170011001d0158000500270013002300220005002600050010001a000f000d00430007024d00e1001700410017024c00e1001700410017024b002100070000000000000000000000000000013e024a0000000000000000013e007400740249000002480000024700000000000000000000013d00000000000000000246000000000000024500000000000002440000000000000243000000000000024200000000000002410000000000000240000000000000023f000000000000023e000000000000023d000000000000023c000000000000023b000000000000023a0000000000000239000000000000023800000000000002370000000000000236000000000000023500000000000002340000000000000233000000000000023200000000000002310000000000000230000000000000022f000000000000022e000000000000022d000000000000022c022b022a0229022800000000013c000002270000000000000226000000000000022500000000000000000000022400000000000000000223022202210000000000e000000220000000e0000000000000021f021e021d021c000000000000007400e00000013c0000021b021a02190218013b021702160000021500000000000000000000021400000213000000000000021202110210020f00000000020e0000013b020d020c0000020b020a02090208013a000002070000000000000000020602050074007400740204000000000000020300000000000002020201000000000139020001ff000001fe01fd01fc000001fb01fa01f901f8000001f70000000001f601f500000000013901f401f301f201f101f001ef01ee013a0000013d000001ed00000000000001ec00000000000000000000000001eb01ea01e900000000013801e801e701e6013801e501e401e301e201e101e001df01de01dd01dc000000000000000001db01da01d901d801d701d600000000000001d501d401d301d201d101d001cf01ce01cd01cc00000000000000000000000001cb01ca01c901c8000000000000000000000000000000000000000000000000000000000000", + "logIndex": 147, + "blockHash": "0xe633a541f751d8041d90944d24af0d7a8be47ffdb91e5320e4baa9841072a2c1" + }, + { + "transactionIndex": 24, + "blockNumber": 2231502, + "transactionHash": "0x1f0d8b77cee14dbea05bcfe696657755117946881a71fac7c16b5bb5a532b996", + "address": "0x0000000000000000000000000000000000008004", + "topics": [ + "0xc94722ff13eacf53547c4741dab5228353a05938ffcdd5d4a2d533ae0e618287", + "0x01000497f4012372aac6303a9147282f0d71fdec49f94fef7c0c68961f6d4e39", + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "data": "0x", + "logIndex": 148, + "blockHash": "0xe633a541f751d8041d90944d24af0d7a8be47ffdb91e5320e4baa9841072a2c1" + }, + { + "transactionIndex": 24, + "blockNumber": 2231502, + "transactionHash": "0x1f0d8b77cee14dbea05bcfe696657755117946881a71fac7c16b5bb5a532b996", + "address": "0x24F64801bF9E3C69AB29b16927A3032457C27a88", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000001a267d3f9f5116df6ae00a4ad698cdcf27b71920", + "0x0000000000000000000000001a267d3f9f5116df6ae00a4ad698cdcf27b71920" + ], + "data": "0x", + "logIndex": 149, + "blockHash": "0xe633a541f751d8041d90944d24af0d7a8be47ffdb91e5320e4baa9841072a2c1" + }, + { + "transactionIndex": 24, + "blockNumber": 2231502, + "transactionHash": "0x1f0d8b77cee14dbea05bcfe696657755117946881a71fac7c16b5bb5a532b996", + "address": "0x24F64801bF9E3C69AB29b16927A3032457C27a88", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0x339759585899103d2ace64958e37e18ccb0504652c81d4a1b8aa80fe2126ab95", + "0x0000000000000000000000001a267d3f9f5116df6ae00a4ad698cdcf27b71920", + "0x0000000000000000000000001a267d3f9f5116df6ae00a4ad698cdcf27b71920" + ], + "data": "0x", + "logIndex": 150, + "blockHash": "0xe633a541f751d8041d90944d24af0d7a8be47ffdb91e5320e4baa9841072a2c1" + }, + { + "transactionIndex": 24, + "blockNumber": 2231502, + "transactionHash": "0x1f0d8b77cee14dbea05bcfe696657755117946881a71fac7c16b5bb5a532b996", + "address": "0x24F64801bF9E3C69AB29b16927A3032457C27a88", + "topics": [ + "0xf43f23b7a28e6f8ce6843a21bd7b48bce778aa913b8c8cf459edf7d770e8d38a", + "0x00000000000000000000000024f64801bf9e3c69ab29b16927a3032457c27a88" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000013880", + "logIndex": 151, + "blockHash": "0xe633a541f751d8041d90944d24af0d7a8be47ffdb91e5320e4baa9841072a2c1" + }, + { + "transactionIndex": 24, + "blockNumber": 2231502, + "transactionHash": "0x1f0d8b77cee14dbea05bcfe696657755117946881a71fac7c16b5bb5a532b996", + "address": "0x24F64801bF9E3C69AB29b16927A3032457C27a88", + "topics": [ + "0xf43f23b7a28e6f8ce6843a21bd7b48bce778aa913b8c8cf459edf7d770e8d38a", + "0x00000000000000000000000024f64801bf9e3c69ab29b16927a3032457c27a88" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000013880", + "logIndex": 152, + "blockHash": "0xe633a541f751d8041d90944d24af0d7a8be47ffdb91e5320e4baa9841072a2c1" + }, + { + "transactionIndex": 24, + "blockNumber": 2231502, + "transactionHash": "0x1f0d8b77cee14dbea05bcfe696657755117946881a71fac7c16b5bb5a532b996", + "address": "0x0000000000000000000000000000000000008006", + "topics": [ + "0x290afdae231a3fc0bbae8b1af63698b0a1d79b21ad17df0342dfb952fe74f8e5", + "0x0000000000000000000000001a267d3f9f5116df6ae00a4ad698cdcf27b71920", + "0x01000497f4012372aac6303a9147282f0d71fdec49f94fef7c0c68961f6d4e39", + "0x00000000000000000000000024f64801bf9e3c69ab29b16927a3032457c27a88" + ], + "data": "0x", + "logIndex": 153, + "blockHash": "0xe633a541f751d8041d90944d24af0d7a8be47ffdb91e5320e4baa9841072a2c1" + }, + { + "transactionIndex": 24, + "blockNumber": 2231502, + "transactionHash": "0x1f0d8b77cee14dbea05bcfe696657755117946881a71fac7c16b5bb5a532b996", + "address": "0x000000000000000000000000000000000000800A", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000008001", + "0x0000000000000000000000001a267d3f9f5116df6ae00a4ad698cdcf27b71920" + ], + "data": "0x0000000000000000000000000000000000000000000000000027d272c7171900", + "logIndex": 154, + "blockHash": "0xe633a541f751d8041d90944d24af0d7a8be47ffdb91e5320e4baa9841072a2c1" + } + ], + "blockNumber": 2231502, + "cumulativeGasUsed": "0", + "status": 1, + "byzantium": true + }, + "args": [ + "0x5AEa5775959fBC2557Cc8789bC1bf90A239D9a91", + 80000 + ], + "numDeployments": 1, + "solcInputHash": "ba937bbd09cce40de1141f1bc2a91d0b", + "metadata": { + "optimizer_settings": "M3B3", + "solc_metadata": "{\"compiler\":{\"version\":\"0.8.4+commit.c7e474f2\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_wNative\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_swapGasEstimate\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Recovered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_adapter\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_newEstimate\",\"type\":\"uint256\"}],\"name\":\"UpdatedGasEstimate\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_tokenFrom\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_tokenTo\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amountIn\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amountOut\",\"type\":\"uint256\"}],\"name\":\"YakAdapterSwap\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MAINTAINER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"addedMaintainer\",\"type\":\"address\"}],\"name\":\"addMaintainer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amountIn\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_tokenIn\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_tokenOut\",\"type\":\"address\"}],\"name\":\"query\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"recoverAVAX\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_tokenAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenAmount\",\"type\":\"uint256\"}],\"name\":\"recoverERC20\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"removedMaintainer\",\"type\":\"address\"}],\"name\":\"removeMaintainer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_spender\",\"type\":\"address\"}],\"name\":\"revokeAllowance\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_estimate\",\"type\":\"uint256\"}],\"name\":\"setSwapGasEstimate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amountIn\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_amountOut\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_fromToken\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_toToken\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"}],\"name\":\"swap\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"swapGasEstimate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event.\"},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event.\"},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/contracts/adapters/WNativeAdapter.sol\":\"WNativeAdapter\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[],\"viaIR\":true},\"sources\":{\"@openzeppelin/contracts/access/AccessControl.sol\":{\"keccak256\":\"0x5b35d8e68aeaccc685239bd9dd79b9ba01a0357930f8a3307ab85511733d9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba8eb2d22f9321bd4660f6617c181d9611ff30a9b089408b8c6e2216d6d5cdc5\",\"dweb:/ipfs/QmTSJvhjHfnUV1j4hsqDv8PmLvGBLRs9gHLjTUXrUJ5Y9q\"]},\"@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a\",\"dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0xaf159a8b1923ad2a26d516089bceca9bdeaeacd04be50983ea00ba63070f08a3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f2cf1c531122bc7ca96b8c8db6a60deae60441e5223065e792553d4849b5638\",\"dweb:/ipfs/QmPBdJmBBABMDCfyDjCbdxgiqRavgiSL88SYPGibgbPas9\"]},\"@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"src/contracts/YakAdapter.sol\":{\"keccak256\":\"0x377c666774047a318fa2f7c6f82eccbe64343e18d26df56abfa991e5ea88361a\",\"license\":\"GPL-3.0-only\",\"urls\":[\"bzz-raw://97ff18d18e5a0a7b1fd2a6d484abd2831911bd68889c9b7506d18800e3ac7ba1\",\"dweb:/ipfs/QmdbTGqS9f6ugkrXKDGhKXvTiGvi1QhjFmrWo9TcDtrvL7\"]},\"src/contracts/adapters/WNativeAdapter.sol\":{\"keccak256\":\"0xebe86fc9a4885ab56eface44b75d734aef7184b3f321dab4dbeb74138605f3af\",\"license\":\"GPL-3.0-only\",\"urls\":[\"bzz-raw://a0d1aa35c80d1267d344c925cd977a085769ba4e3cb5965ab171ad587d31ffe2\",\"dweb:/ipfs/QmT9T19W6DpNvp8U8TponmR1u4F7PjyZLqYHEn2bxuJNhV\"]},\"src/contracts/interface/IERC20.sol\":{\"keccak256\":\"0x7b2d64b5cf6350bd5590f96eaea048fcf0182b50fc22f1075adeed1a98325932\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a46d7b05a39141be8f75a706b5525bd1d42f18c3acb20f71abe68bcc5b9513c\",\"dweb:/ipfs/QmYHYnVyVYoNp69BDmDwn4USKn5jFExzSRhXfEeQonz6C5\"]},\"src/contracts/lib/Maintainable.sol\":{\"keccak256\":\"0xcf17b3f89386f661ee6230c9774bc88a119f2385111279497bbb443209ad6bb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e0018ced83e9f5a9d7e51eff74e5bb4cb4ab56ef8cfe008a1d1b4c5623478baf\",\"dweb:/ipfs/QmUeaoPLux58rffKpD3jWkp7fZB1YFV4sDYm2985tB8pAZ\"]},\"src/contracts/lib/SafeERC20.sol\":{\"keccak256\":\"0x2d77601f615804eb7471002f23f9a4593f86ac295e7353c2e7545f51d4f81728\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://587682afca9226a1b032c66bcc536d191dc7d1cc91fee950278bad70d46b4fa1\",\"dweb:/ipfs/QmPC5y2N2gLAkpJgHmgwHdDH6d3oNPLFVqWCqUhiKNZJip\"]}},\"version\":1}", + "zk_version": "1.3.8" + }, + "bytecode": "0x0004000000000002000100000000000200000000030100190000006003300270000004420430019700030000004103550002000000010355000004420030019d000100000000001f00000001012001900000002b0000c13d0000008001000039000000400010043f0000000001000031000000040210008c0000003c0000413d0000000201000367000000000101043b000000e001100270000004480210009c000000400000213d000004560210009c000000840000213d0000045d0210009c000000d40000a13d0000045e0210009c000001470000613d0000045f0210009c000001640000613d000004600110009c000000820000c13d0000000001000416000000000110004c000000820000c13d00000000010000311101042b0000040f1101076e0000040f0000044201000041000000400200043d000004420320009c00000000010240190000004001100210000011020001042e000000a001000039000000400010043f0000000001000416000000000110004c000000820000c13d0000000001000031000000bf02100039000000200300008a000000000232016f0000009f0320008c000000560000213d000004460100004100000000001004350000004101000039000000040010043f00000447010000410000110300010430000000000110004c000000820000c13d0000000001000019000011020001042e000004490210009c000000a70000213d000004500210009c000000f90000a13d000004510210009c000001700000613d000004520210009c000001850000613d000004530110009c000000820000c13d0000000001000416000000000110004c000000820000c13d00000000010000311101042b0000040f11010f960000040f0000044201000041000000400200043d000004420320009c00000000010240190000004001100210000011020001042e000000400020043f0000001f0210018f00000002030003670000000504100272000000640000613d00000000050000190000000506500210000000000763034f000000000707043b000000a00660003900000000007604350000000105500039000000000645004b0000005c0000413d000000000520004c000000730000613d0000000504400210000000000343034f0000000302200210000000a004400039000000000504043300000000052501cf000000000525022f000000000303043b0000010002200089000000000323022f00000000022301cf000000000252019f00000000002404350000044302000041000000400310008c000000000300001900000000030240190000044301100197000000000410004c000000000200a019000004430110009c00000000010300190000000001026019000000000110004c000000820000c13d000000a00100043d000004440210009c000000c90000a13d00000000010000190000110300010430000004570210009c000001180000a13d000004580210009c0000019e0000613d000004590210009c000001aa0000613d0000045a0110009c000000820000c13d0000000001000416000000000110004c000000820000c13d000000040100008a00000000011000310000044302000041000000200310008c000000000300001900000000030240190000044301100197000000000410004c000000000200a019000004430110009c00000000010300190000000001026019000000000110004c000000820000c13d00000004010000390000000201100367000000000101043b11010b950000040f0000044201000041000000400200043d000004420320009c00000000010240190000004001100210000011020001042e0000044a0210009c000001370000a13d0000044b0210009c000001b60000613d0000044c0210009c000001c40000613d0000044d0110009c000000820000c13d0000000001000416000000000110004c000000820000c13d000000040100008a00000000011000310000044302000041000000000310004c000000000300001900000000030240190000044301100197000000000410004c000000000200a019000004430110009c00000000010300190000000001026019000000000110004c000000820000c13d000000400100043d000004630200004100000000002104350000044202000041000004420310009c0000000001028019000000400110021000000464011001c7000011020001042e000000c00200043d110102140000040f000000800100043d0000014000000443000001600010044300000020010000390000010000100443000000010100003900000120001004430000044501000041000011020001042e000004610210009c000001d00000613d000004620110009c000000820000c13d0000000001000416000000000110004c000000820000c13d000000040100008a00000000011000310000044302000041000000000310004c000000000300001900000000030240190000044301100197000000000410004c000000000200a019000004430110009c00000000010300190000000001026019000000000110004c000000820000c13d110110920000040f0000000002010019000000400100043d000100000001001d110104a50000040f000000010400002900000000014100490000044202000041000004420310009c0000000001028019000004420340009c000000000204401900000040022002100000006001100210000000000121019f000011020001042e000004540210009c000001e10000613d000004550110009c000000820000c13d0000000001000416000000000110004c000000820000c13d000000040100008a00000000011000310000044302000041000000200310008c000000000300001900000000030240190000044301100197000000000410004c000000000200a019000004430110009c00000000010300190000000001026019000000000110004c000000820000c13d00000004010000390000000201100367000000000101043b110106fc0000040f0000044201000041000000400200043d000004420320009c00000000010240190000004001100210000011020001042e0000045b0210009c000001ed0000613d0000045c0110009c000000820000c13d0000000001000416000000000110004c000000820000c13d000000040100008a00000000011000310000044302000041000000000310004c000000000300001900000000030240190000044301100197000000000410004c000000000200a019000004430110009c00000000010300190000000001026019000000000110004c000000820000c13d0000000101000039000000000101041a000000400200043d00000000001204350000044201000041000004420320009c0000000001024019000000400110021000000464011001c7000011020001042e0000044e0210009c000002080000613d0000044f0110009c000000820000c13d0000000001000416000000000110004c000000820000c13d0000000001000031110104730000040f110107e00000040f0000044201000041000000400200043d000004420320009c00000000010240190000004001100210000011020001042e0000000001000416000000000110004c000000820000c13d000000040100008a00000000011000310000044302000041000000200310008c000000000300001900000000030240190000044301100197000000000410004c000000000200a019000004430110009c00000000010300190000000001026019000000000110004c000000820000c13d00000004010000390000000201100367000000000101043b110105ee0000040f000000400200043d00000000001204350000044201000041000004420320009c0000000001024019000000400110021000000464011001c7000011020001042e0000000001000416000000000110004c000000820000c13d00000000010000311101042b0000040f11010e990000040f0000044201000041000000400200043d000004420320009c00000000010240190000004001100210000011020001042e0000000001000416000000000110004c000000820000c13d00000000010000311101042b0000040f000100000002001d11010b850000040f000000010200002911010b740000040f000000000101041a000000ff011001900000000001000019000000010100c039000000400200043d00000000001204350000044201000041000004420320009c0000000001024019000000400110021000000464011001c7000011020001042e0000000001000416000000000110004c000000820000c13d000000040100008a00000000011000310000044302000041000000000310004c000000000300001900000000030240190000044301100197000000000410004c000000000200a019000004430110009c00000000010300190000000001026019000000000110004c000000820000c13d000000400100043d00000000000104350000044202000041000004420310009c0000000001028019000000400110021000000464011001c7000011020001042e0000000001000416000000000110004c000000820000c13d0000000001000031110103e60000040f110104f10000040f0000044201000041000000400200043d000004420320009c00000000010240190000004001100210000011020001042e0000000001000416000000000110004c000000820000c13d0000000001000031110103fb0000040f11010bf90000040f0000044201000041000000400200043d000004420320009c00000000010240190000004001100210000011020001042e0000000001000416000000000110004c000000820000c13d0000000001000031110104580000040f110104d00000040f000000400200043d00000000001204350000044201000041000004420320009c0000000001024019000000400110021000000464011001c7000011020001042e0000000001000416000000000110004c000000820000c13d0000000001000031110103e60000040f11010a280000040f0000044201000041000000400200043d000004420320009c00000000010240190000004001100210000011020001042e0000000001000416000000000110004c000000820000c13d0000000001000031110104420000040f0000046501100197000004660210009c00000000020000190000000102006039000004670110009c00000000010000190000000101006039000000000121019f000000010110018f000000800010043f0000046801000041000011020001042e0000000001000416000000000110004c000000820000c13d0000000001000031110104140000040f11010cd20000040f0000044201000041000000400200043d000004420320009c00000000010240190000004001100210000011020001042e0000000001000416000000000110004c000000820000c13d000000040100008a00000000011000310000044302000041000000200310008c000000000300001900000000030240190000044301100197000000000410004c000000000200a019000004430110009c00000000010300190000000001026019000000000110004c000000820000c13d00000004010000390000000201100367000000000101043b11010dd50000040f0000044201000041000000400200043d000004420320009c00000000010240190000004001100210000011020001042e0000000001000416000000000110004c000000820000c13d0000000001000031110103e60000040f110106000000040f0000044201000041000000400200043d000004420320009c00000000010240190000004001100210000011020001042e0008000000000002000700000002001d000500000001001d000000400200043d000004690120009c000003a10000813d0000004001200039000000400010043f0000000c01000039000600000002001d00000000021204360000046a01000041000300000002001d00000000001204350000000000000435000000200000043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f00000001022001900000039f0000613d000000000101043b0000000002000411000400000002001d0000044402200197000800000002001d0000000000200435000000200010043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f00000001022001900000039f0000613d000000000101043b000000000101041a000000ff01100190000002770000c13d0000000000000435000000200000043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f00000001022001900000039f0000613d000000000101043b00000008020000290000000000200435000000200010043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f00000001022001900000039f0000613d000000000101043b000000000201041a000001000300008a000000000232016f00000001022001bf000000000021041b000000400100043d00000442020000410000000003000414000004420430009c0000000003028019000004420410009c00000000010280190000004001100210000000c002300210000000000112019f0000046c011001c70000800d0200003900000004030000390000046d04000041000000000500001900000004060000290000000007060019110110f70000040f00000001012001900000039f0000613d00000463010000410000000000100435000000200000043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f00000001022001900000039f0000613d000000000101043b00000008020000290000000000200435000000200010043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f00000001022001900000039f0000613d000000000101043b000000000101041a000000ff01100190000002cb0000c13d00000463010000410000000000100435000000200000043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f00000001022001900000039f0000613d000000000101043b00000008020000290000000000200435000000200010043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f00000001022001900000039f0000613d000000000101043b000000000201041a000001000300008a000000000232016f00000001022001bf000000000021041b000000400100043d00000442020000410000000003000414000004420430009c0000000003028019000004420410009c00000000010280190000004001100210000000c002300210000000000112019f0000046c011001c70000800d0200003900000004030000390000046d04000041000004630500004100000004060000290000000007060019110110f70000040f00000001012001900000039f0000613d00000006060000290000000008060433000000000180004c000003bc0000613d0000046e0180009c000003a10000213d0000000207000039000000000107041a000000010210019000000001011002700000007f0310018f000000000401001900000000040360190000001f0140008c00000000010000190000000101002039000000010110018f000000000112004b000003ce0000c13d000000000184019f000000200110008c0000000001000019000002f50000413d000100000004001d000200000008001d000400000007001d000000000070043500000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046f011001c70000801002000039110110fc0000040f00000001022001900000039f0000613d000000000101043b0000000606000029000000040700002900000002080000290000000104000029000000200240008c000003060000413d0000001f028000390000000502200270000000200380008c000000000302001900000000030040190000001f02400039000000050220027000000000022100190000000003310019000000000423004b000003060000813d000000000003041b0000000103300039000000000423004b000003020000413d0000001f0280008c000003240000a13d000000200200008a00000000032801700000002002000039000003160000613d0000002002000039000000000400001900000000056200190000000005050433000000000051041b000000200220003900000001011000390000002004400039000000000534004b0000030e0000413d000000000383004b000003210000813d0000000303800210000000f80330018f000000010400008a000000000334022f000000000343013f00000000026200190000000002020433000000000232016f000000000021041b000000010100003900000001028002100000032c0000013d0000000301800210000000010200008a000000000112022f000000000121013f00000003020000290000000002020433000000000212016f0000000101800210000000000112019f000000000017041b00000463010000410000000000100435000000200000043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f00000001022001900000039f0000613d000000000101043b00000008020000290000000000200435000000200010043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f00000001022001900000039f0000613d000000000101043b000000000101041a000000ff01100190000003a70000613d0000000702000029000000000120004c000003d40000613d0000000101000039000400000001001d000000000021041b000000400100043d000000000021043500000442020000410000000003000414000004420430009c0000000003028019000004420410009c00000000010280190000004001100210000000c002300210000000000112019f0000046f011001c70000800d02000039000000020300003900000470040000410000000005000410000600000005001d110110f70000040f00000001012001900000039f0000613d0000000501000029000000800010043f00000463010000410000000000100435000000200000043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f00000001022001900000039f0000613d000000000101043b00000008020000290000000000200435000000200010043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f00000001022001900000039f0000613d000000000101043b000000000101041a000000ff01100190000003a70000613d00000007020000290000000401000029000000000021041b000000400100043d000000000021043500000442020000410000000003000414000004420430009c0000000003028019000004420410009c00000000010280190000004001100210000000c002300210000000000112019f0000046f011001c70000800d02000039000000020300003900000470040000410000000605000029110110f70000040f00000001012001900000039f0000613d000000000001042d00000000010000190000110300010430000004460100004100000000001004350000004101000039000000040010043f00000447010000410000110300010430000000400100043d000000640210003900000474030000410000000000320435000000440210003900000475030000410000000000320435000000240210003900000028030000390000000000320435000004720200004100000000002104350000000402100039000000200300003900000000003204350000044202000041000004420310009c0000000001028019000000400110021000000476011001c70000110300010430000000400100043d000000440210003900000477030000410000000000320435000000240210003900000014030000390000000000320435000004720200004100000000002104350000000402100039000000200300003900000000003204350000044202000041000004420310009c0000000001028019000000400110021000000473011001c70000110300010430000004460100004100000000001004350000002201000039000000040010043f00000447010000410000110300010430000000400100043d000000440210003900000471030000410000000000320435000000240210003900000014030000390000000000320435000004720200004100000000002104350000000402100039000000200300003900000000003204350000044202000041000004420310009c0000000001028019000000400110021000000473011001c70000110300010430000000040110008a00000443020000410000001f0310008c000000000300001900000000030220190000044301100197000000000410004c0000000002008019000004430110009c00000000010300190000000001026019000000000110004c000003f90000613d00000004010000390000000201100367000000000101043b000004440210009c000003f90000213d000000000001042d00000000010000190000110300010430000000040110008a00000443020000410000003f0310008c000000000300001900000000030220190000044301100197000000000410004c0000000002008019000004430110009c00000000010300190000000001026019000000000110004c000004120000613d00000002020003670000000401200370000000000101043b000004440310009c000004120000213d0000002402200370000000000202043b000004440320009c000004120000213d000000000001042d00000000010000190000110300010430000000040110008a00000443020000410000003f0310008c000000000300001900000000030220190000044301100197000000000410004c0000000002008019000004430110009c00000000010300190000000001026019000000000110004c000004290000613d00000002020003670000000401200370000000000101043b000004440310009c000004290000213d0000002402200370000000000202043b000000000001042d00000000010000190000110300010430000000040110008a00000443020000410000003f0310008c000000000300001900000000030220190000044301100197000000000410004c0000000002008019000004430110009c00000000010300190000000001026019000000000110004c000004400000613d00000002010003670000002402100370000000000202043b000004440320009c000004400000213d0000000401100370000000000101043b000000000001042d00000000010000190000110300010430000000040110008a00000443020000410000001f0310008c000000000300001900000000030220190000044301100197000000000410004c0000000002008019000004430110009c00000000010300190000000001026019000000000110004c000004560000613d00000004010000390000000201100367000000000101043b0000046502100197000000000221004b000004560000c13d000000000001042d00000000010000190000110300010430000000040110008a00000443020000410000005f0310008c000000000300001900000000030220190000044301100197000000000410004c0000000002008019000004430110009c00000000010300190000000001026019000000000110004c000004710000613d00000002030003670000000401300370000000000101043b0000002402300370000000000202043b000004440420009c000004710000213d0000004403300370000000000303043b000004440430009c000004710000213d000000000001042d00000000010000190000110300010430000000040110008a00000443020000410000009f0310008c000000000300001900000000030220190000044301100197000000000410004c0000000002008019000004430110009c00000000010300190000000001026019000000000110004c000004920000613d00000002050003670000002401500370000000000201043b0000000401500370000000000101043b0000004403500370000000000303043b000004440430009c000004920000213d0000006404500370000000000404043b000004440640009c000004920000213d0000008405500370000000000505043b000004440650009c000004920000213d000000000001042d0000000001000019000011030001043000000000030100190000000004030433000000000140004c0000000001240019000004a40000613d000000000500001900000000062500190000002005500039000000000735001900000000070704330000000000760435000000000645004b0000049a0000413d000000000245004b000004a40000a13d0000000000010435000000000001042d00000020030000390000000004310436000000000302043300000000003404350000004001100039000000000430004c000004b80000613d000000000400001900000000051400190000002004400039000000000624001900000000060604330000000000650435000000000534004b000004ad0000413d000000000234004b000004b80000a13d000000000213001900000000000204350000001f02300039000000200300008a000000000232016f0000000001210019000000000001042d0000001f02200039000000200300008a000000000232016f0000000001120019000000000221004b000000000200001900000001020040390000046e0310009c000004ca0000213d0000000102200190000004ca0000c13d000000400010043f000000000001042d000004460100004100000000001004350000004101000039000000040010043f000004470100004100001103000104300003000000000002000100000003001d000200000002001d000300000001001d0000047801000041000000000010043900000000010004120000000400100443000000240000044300000442010000410000000002000414000004420320009c0000000001024019000000c00110021000000479011001c70000800502000039110110fc0000040f0000000102200190000004ef0000613d00000001020000290000044402200197000000000101043b0000044401100197000000000212013f00000002030000290000044403300197000000000113013f00000000012101a00000000301000029000000000100c019000000000001042d000000000100001900001103000104300003000000000002000300000001001d00000463010000410000000000100435000000200000043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f00000001022001900000057b0000613d000000000101043b0000000101100039000000000101041a000100000001001d0000000000100435000000200000043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f00000001022001900000057b0000613d000000000101043b0000000002000411000200000002001d00000444022001970000000000200435000000200010043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f00000001022001900000057b0000613d000000000101043b000000000101041a000000ff011001900000057d0000613d00000463010000410000000000100435000000200000043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f00000001022001900000057b0000613d000000000101043b00000003020000290000044402200197000100000002001d0000000000200435000000200010043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f00000001022001900000057b0000613d000000000101043b000000000101041a000000ff011001900000057a0000c13d00000463010000410000000000100435000000200000043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f00000001022001900000057b0000613d000000000101043b00000001020000290000000000200435000000200010043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f00000001022001900000057b0000613d000000000101043b000000000201041a000001000300008a000000000232016f00000001022001bf000000000021041b000000400100043d00000442020000410000000003000414000004420430009c0000000003028019000004420410009c00000000010280190000004001100210000000c002300210000000000112019f0000046c011001c70000800d0200003900000004030000390000046d04000041000004630500004100000003060000290000000207000029110110f70000040f00000001012001900000057b0000613d000000000001042d00000000010000190000110300010430000000400100043d00000000070100190000047a0110009c000005870000413d000004460100004100000000001004350000004101000039000000040010043f0000044701000041000011030001043000000000020700190000006001200039000000400010043f0000002a01000039000000000112043600000000020000310000000202200367000000000300001900000005043002100000000005410019000000000442034f000000000404043b00000000004504350000000103300039000000020430008c0000058f0000413d0000000002070433000000000220004c000005a10000613d00000000020104330000047b022001970000047c022001c700000000002104350000000002070433000000020220008c000005a70000813d000004460100004100000000001004350000003201000039000000040010043f00000447010000410000110300010430000000210270003900000000030204330000047b033001970000047d033001c700000000003204350000002902000039000000020500002900000000030500190000000004070433000000000424004b000005a10000a13d0000000f0430018f0000000304400210000000f80440015f0000047e05000041000000000445022f000000000512001900000000060504330000047b06600197000000f804400210000000000446019f00000000004504350000000405300270000000010220008a000000010420008c000005ae0000213d000000100130008c00000000010000190000000101004039000200000007001d110110e30000040f0000000101000029110109d20000040f000000400400043d000300000004001d00000020024000390000047f030000410000000000320435000100000001001d00000037024000390000000201000029110104940000040f0000048002000041000000000021043500000011021000390000000101000029110104940000040f00000003030000290000000002310049000000200120008a00000000001304350000000001030019110104bd0000040f0000047201000041000000400200043d000200000002001d000000000012043500000004012000390000000302000029110104a50000040f000000020400002900000000014100490000044202000041000004420310009c0000000001028019000004420340009c000000000204401900000040022002100000006001100210000000000121019f00001103000104300000000000100435000000200000043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f0000000102200190000005fe0000613d000000000101043b0000000101100039000000000101041a000000000001042d000000000100001900001103000104300003000000000002000300000001001d00000463010000410000000000100435000000200000043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f0000000102200190000006890000613d000000000101043b0000000101100039000000000101041a000100000001001d0000000000100435000000200000043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f0000000102200190000006890000613d000000000101043b0000000002000411000200000002001d00000444022001970000000000200435000000200010043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f0000000102200190000006890000613d000000000101043b000000000101041a000000ff011001900000068b0000613d00000463010000410000000000100435000000200000043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f0000000102200190000006890000613d000000000101043b00000003020000290000044402200197000100000002001d0000000000200435000000200010043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f0000000102200190000006890000613d000000000101043b000000000101041a000000ff01100190000006880000613d00000463010000410000000000100435000000200000043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f0000000102200190000006890000613d000000000101043b00000001020000290000000000200435000000200010043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f0000000102200190000006890000613d000000000101043b000000000201041a000001000300008a000000000232016f000000000021041b000000400100043d00000442020000410000000003000414000004420430009c0000000003028019000004420410009c00000000010280190000004001100210000000c002300210000000000112019f0000046c011001c70000800d0200003900000004030000390000048104000041000004630500004100000003060000290000000207000029110110f70000040f0000000101200190000006890000613d000000000001042d00000000010000190000110300010430000000400100043d00000000070100190000047a0110009c000006950000413d000004460100004100000000001004350000004101000039000000040010043f0000044701000041000011030001043000000000020700190000006001200039000000400010043f0000002a01000039000000000112043600000000020000310000000202200367000000000300001900000005043002100000000005410019000000000442034f000000000404043b00000000004504350000000103300039000000020430008c0000069d0000413d0000000002070433000000000220004c000006af0000613d00000000020104330000047b022001970000047c022001c700000000002104350000000002070433000000020220008c000006b50000813d000004460100004100000000001004350000003201000039000000040010043f00000447010000410000110300010430000000210270003900000000030204330000047b033001970000047d033001c700000000003204350000002902000039000000020500002900000000030500190000000004070433000000000424004b000006af0000a13d0000000f0430018f0000000304400210000000f80440015f0000047e05000041000000000445022f000000000512001900000000060504330000047b06600197000000f804400210000000000446019f00000000004504350000000405300270000000010220008a000000010420008c000006bc0000213d000000100130008c00000000010000190000000101004039000200000007001d110110e30000040f0000000101000029110109d20000040f000000400400043d000300000004001d00000020024000390000047f030000410000000000320435000100000001001d00000037024000390000000201000029110104940000040f0000048002000041000000000021043500000011021000390000000101000029110104940000040f00000003030000290000000002310049000000200120008a00000000001304350000000001030019110104bd0000040f0000047201000041000000400200043d000200000002001d000000000012043500000004012000390000000302000029110104a50000040f000000020400002900000000014100490000044202000041000004420310009c0000000001028019000004420340009c000000000204401900000040022002100000006001100210000000000121019f0000110300010430000300000000000200000000030004110000044402300197000300000002001d000100000003001d000004820230009c000007590000813d000200000001001d0000000000100435000000200000043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f0000000102200190000007570000613d000000000101043b00000003020000290000000000200435000000200010043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f0000000102200190000007570000613d000000000101043b000000000101041a000000ff01100190000007560000613d00000002010000290000000000100435000000200000043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f0000000102200190000007570000613d000000000101043b00000003020000290000000000200435000000200010043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f0000000102200190000007570000613d000000000101043b000000000201041a000001000300008a000000000232016f000000000021041b000000400100043d00000442020000410000000003000414000004420430009c0000000003028019000004420410009c00000000010280190000004001100210000000c002300210000000000112019f0000046c011001c70000800d0200003900000004030000390000048104000041000000020500002900000001060000290000000307000029110110f70000040f0000000101200190000007570000613d000000000001042d00000000010000190000110300010430000000400100043d00000064021000390000048303000041000000000032043500000044021000390000048403000041000000000032043500000024021000390000002f030000390000000000320435000004720200004100000000002104350000000402100039000000200300003900000000003204350000044202000041000004420310009c0000000001028019000000400110021000000476011001c700001103000104300003000000000002000100000002001d00000444022001970000000003000411000300000002001d000000000232004b000007cb0000c13d000200000001001d0000000000100435000000200000043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f0000000102200190000007c90000613d000000000101043b00000003020000290000000000200435000000200010043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f0000000102200190000007c90000613d000000000101043b000000000101041a000000ff01100190000007c80000613d00000002010000290000000000100435000000200000043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f0000000102200190000007c90000613d000000000101043b00000003020000290000000000200435000000200010043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f0000000102200190000007c90000613d000000000101043b000000000201041a000001000300008a000000000232016f000000000021041b000000400100043d00000442020000410000000003000414000004420430009c0000000003028019000004420410009c00000000010280190000004001100210000000c002300210000000000112019f0000046c011001c70000800d0200003900000004030000390000048104000041000000020500002900000001060000290000000307000029110110f70000040f0000000101200190000007c90000613d000000000001042d00000000010000190000110300010430000000400100043d00000064021000390000048303000041000000000032043500000044021000390000048403000041000000000032043500000024021000390000002f030000390000000000320435000004720200004100000000002104350000000402100039000000200300003900000000003204350000044202000041000004420310009c0000000001028019000000400110021000000476011001c700001103000104300008000000000002000700000005001d000200000003001d000400000002001d000600000001001d00000485010000410000000000100439000300000004001d0000044401400197000800000001001d000000040010044300000442010000410000000002000414000004420320009c0000000001024019000000c00110021000000486011001c70000800202000039110110fc0000040f000000080a00002900000001022001900000094f0000613d000000000101043b000000000110004c0000094f0000613d000000400900043d000004870100004100000000001904350000000701000029000004440b100197000000040290003900000000010004140000000000b204350000000402a0008c00070000000b001d000008060000c13d00000001030000310000083a0000013d0000044202000041000004420310009c0000000001028019000004420390009c00000000020940190000004002200210000000c001100210000000000121019f00000447011001c700000000020a0019000500000009001d110110fc0000040f0000000509000029000000000301001900000060033002700000044203300197000000200430008c000000200500003900000000050340190000001f0450018f0000000505500272000008250000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b0000081d0000413d000000000640004c000008340000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f00030000000103550000000102200190000000080a000029000000070b0000290000096e0000613d0000001f01300039000000200200008a000500000002001d000000000221016f0000000001920019000000000221004b000000000200001900000001020040390000046e0310009c000009510000213d0000000102200190000009510000c13d000000400010043f00000443020000410000000103000031000000200430008c000000000400001900000000040240190000044303300197000000000530004c000000000200a019000004430330009c000000000204c019000000000220004c0000094f0000c13d0000000002090433000100000002001d00000000020004100000000002b2004b000008ca0000613d00000044021000390000000603000029000000000032043500000020021000390000048803000041000000000032043500000024031000390000000000b3043500000044030000390000000000310435000004890310009c000009510000213d0000008003100039000000400030043f00000000030004140000000404a0008c0000086c0000c13d00000001030000310000000002000019000008830000013d0000044204000041000004420520009c000000000204801900000040022002100000000001010433000004420510009c00000000010480190000006001100210000000000121019f000004420230009c00000000020400190000000002034019000000c002200210000000000121019f00000000020a0019110110f70000040f000000070b000029000000080a000029000000010220015f00030000000103550000006001100270000104420010019d00000442031001970000006001000039000000000430004c000008b10000613d0000003f013000390000000504000029000000000441016f000000400100043d0000000004410019000000000514004b000000000500001900000001050040390000046e0640009c000009510000213d0000000105500190000009510000c13d000000400040043f0000000003310436000000030400036700000001060000310000001f0560018f0000000506600272000008a20000613d000000000700001900000005087002100000000009830019000000000884034f000000000808043b00000000008904350000000107700039000000000867004b0000089a0000413d000000000750004c000008b10000613d0000000506600210000000000464034f00000000036300190000000305500210000000000603043300000000065601cf000000000656022f000000000404043b0000010005500089000000000454022f00000000045401cf000000000464019f000000000043043500000001022001900000098d0000c13d0000000012010434000000000320004c000008ca0000613d0000044303000041000000200420008c000000000400001900000000040340190000044302200197000000000520004c000000000300a019000004430220009c00000000020400190000000002036019000000000220004c0000094f0000c13d0000000001010433000000000210004c0000000002000019000000010200c039000000000221004b0000094f0000c13d000000000110004c000009bd0000613d000004850100004100000000001004390000000400a0044300000442010000410000000002000414000004420320009c0000000001024019000000c00110021000000486011001c70000800202000039110110fc0000040f0000000703000029000000080400002900000001022001900000094f0000613d000000000101043b000000000110004c0000094f0000613d000000400900043d00000487010000410000000000190435000000040290003900000000010004140000000000320435000000040240008c000008e60000c13d0000000103000031000009180000013d0000044202000041000004420310009c0000000001028019000004420390009c00000000020940190000004002200210000000c001100210000000000121019f00000447011001c70000000002040019000800000009001d110110fc0000040f0000000809000029000000000301001900000060033002700000044203300197000000200430008c000000200500003900000000050340190000001f0450018f0000000505500272000009050000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b000008fd0000413d000000000640004c000009140000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f000300000001035500000001022001900000099e0000613d0000001f013000390000000502000029000000000221016f0000000001920019000000000221004b000000000200001900000001020040390000046e0310009c000009510000213d0000000102200190000009510000c13d000000400010043f00000443020000410000000103000031000000200430008c000000000400001900000000040240190000044303300197000000000530004c000000000200a019000004430330009c000000000204c019000000000220004c0000094f0000c13d00000000020904330000000104000029000000000342004b000009570000413d00000000024200490000000403000029000000000232004b0000095d0000413d000000200210003900000000003204350000000602000029000000000021043500000442020000410000000003000414000004420430009c0000000003028019000004420410009c00000000010280190000004001100210000000c002300210000000000112019f0000046b011001c70000800d0200003900000003030000390000048d0400004100000002050000290000000306000029110110f70000040f00000001012001900000094f0000613d000000000001042d00000000010000190000110300010430000004460100004100000000001004350000004101000039000000040010043f00000447010000410000110300010430000004460100004100000000001004350000001101000039000000040010043f0000044701000041000011030001043000000044021000390000048e030000410000000000320435000000240210003900000017030000390000000000320435000004720200004100000000002104350000000402100039000000200300003900000000003204350000044202000041000004420310009c0000000001028019000000400110021000000473011001c700001103000104300000001f0430018f0000000502300272000009790000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b000009720000413d000000000340004c000009870000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000442010000410000000102000031000004420320009c000000000102401900000060011002100000110300010430000000400100043d00000044021000390000048c03000041000000000032043500000472020000410000000000210435000000240210003900000020030000390000000000320435000000040210003900000000003204350000044202000041000004420310009c0000000001028019000000400110021000000473011001c700001103000104300000001f0430018f0000000502300272000009a90000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b000009a20000413d000000000340004c000009b70000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000442010000410000000102000031000004420320009c000000000102401900000060011002100000110300010430000000400100043d00000064021000390000048a03000041000000000032043500000044021000390000048b03000041000000000032043500000024021000390000002a030000390000000000320435000004720200004100000000002104350000000402100039000000200300003900000000003204350000044202000041000004420310009c0000000001028019000000400110021000000476011001c700001103000104300000000002010019000000400100043d0000048f0310009c00000a110000813d0000008003100039000000400030043f0000004203000039000000000331043600000000040000310000000204400367000000000500001900000005065002100000000007630019000000000664034f000000000606043b00000000006704350000000105500039000000030650008c000009dd0000413d0000000004010433000000000440004c00000a0b0000613d00000000040304330000047b044001970000047c044001c700000000004304350000000004010433000000020440008c00000a0b0000413d000000210410003900000000050404330000047b055001970000047d055001c70000000000540435000000410400003900000000050200190000000002010433000000000242004b00000a0b0000a13d0000000f0250018f0000000302200210000000f80220015f0000047e06000041000000000226022f000000000634001900000000070604330000047b07700197000000f802200210000000000227019f00000000002604350000000402500270000000010440008a000000010640008c000009f50000213d000000100250008c00000a170000813d000000000001042d000004460100004100000000001004350000003201000039000000040010043f00000447010000410000110300010430000004460100004100000000001004350000004101000039000000040010043f00000447010000410000110300010430000000400100043d00000044021000390000049003000041000000000032043500000472020000410000000000210435000000240210003900000020030000390000000000320435000000040210003900000000003204350000044202000041000004420310009c0000000001028019000000400110021000000473011001c700001103000104300004000000000002000300000001001d0000000000000435000000200000043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f000000010220019000000b010000613d000000000101043b0000000101100039000000000101041a000100000001001d0000000000100435000000200000043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f000000010220019000000b010000613d000000000101043b0000000002000411000200000002001d0000044402200197000400000002001d0000000000200435000000200010043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f000000010220019000000b010000613d000000000101043b000000000101041a000000ff0110019000000b030000613d0000000000000435000000200000043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f000000010220019000000b010000613d000000000101043b00000003020000290000044402200197000100000002001d0000000000200435000000200010043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f000000010220019000000b010000613d000000000101043b000000000101041a000000ff0110019000000aaf0000c13d0000000000000435000000200000043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f000000010220019000000b010000613d000000000101043b00000001020000290000000000200435000000200010043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f000000010220019000000b010000613d000000000101043b000000000201041a000001000300008a000000000232016f00000001022001bf000000000021041b000000400100043d00000442020000410000000003000414000004420430009c0000000003028019000004420410009c00000000010280190000004001100210000000c002300210000000000112019f0000046c011001c70000800d0200003900000004030000390000046d04000041000000000500001900000003060000290000000207000029110110f70000040f000000010120019000000b010000613d0000000000000435000000200000043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f000000010220019000000b010000613d000000000101043b00000004020000290000000000200435000000200010043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f000000010220019000000b010000613d000000000101043b000000000101041a000000ff0110019000000b000000613d0000000000000435000000200000043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f000000010220019000000b010000613d000000000101043b00000004020000290000000000200435000000200010043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f000000010220019000000b010000613d000000000101043b000000000201041a000001000300008a000000000232016f000000000021041b000000400100043d00000442020000410000000003000414000004420430009c0000000003028019000004420410009c00000000010280190000004001100210000000c002300210000000000112019f0000046c011001c70000800d0200003900000004030000390000048104000041000000000500001900000002060000290000000007060019110110f70000040f000000010120019000000b010000613d000000000001042d00000000010000190000110300010430000000400100043d00000000070100190000047a0110009c00000b0d0000413d000004460100004100000000001004350000004101000039000000040010043f0000044701000041000011030001043000000000020700190000006001200039000000400010043f0000002a01000039000000000112043600000000020000310000000202200367000000000300001900000005043002100000000005410019000000000442034f000000000404043b00000000004504350000000103300039000000020430008c00000b150000413d0000000002070433000000000220004c00000b270000613d00000000020104330000047b022001970000047c022001c700000000002104350000000002070433000000020220008c00000b2d0000813d000004460100004100000000001004350000003201000039000000040010043f00000447010000410000110300010430000000210270003900000000030204330000047b033001970000047d033001c700000000003204350000002902000039000000020500002900000000030500190000000004070433000000000424004b00000b270000a13d0000000f0430018f0000000304400210000000f80440015f0000047e05000041000000000445022f000000000512001900000000060504330000047b06600197000000f804400210000000000446019f00000000004504350000000405300270000000010220008a000000010420008c00000b340000213d000000100130008c00000000010000190000000101004039000300000007001d110110e30000040f0000000101000029110109d20000040f000000400400043d000400000004001d00000020024000390000047f030000410000000000320435000200000001001d00000037024000390000000301000029110104940000040f0000048002000041000000000021043500000011021000390000000201000029110104940000040f00000004030000290000000002310049000000200120008a00000000001304350000000001030019110104bd0000040f0000047201000041000000400200043d000300000002001d000000000012043500000004012000390000000402000029110104a50000040f000000030400002900000000014100490000044202000041000004420310009c0000000001028019000004420340009c000000000204401900000040022002100000006001100210000000000121019f000011030001043000000444022001970000000000200435000000200010043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f000000010220019000000b830000613d000000000101043b000000000001042d000000000100001900001103000104300000000000100435000000200000043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f000000010220019000000b930000613d000000000101043b000000000001042d000000000100001900001103000104300001000000000002000100000001001d00000463010000410000000000100435000000200000043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f000000010220019000000bd00000613d000000000101043b000000000200041100000444022001970000000000200435000000200010043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f000000010220019000000bd00000613d000000000101043b000000000101041a000000ff0110019000000bd20000613d0000000102000029000000000120004c00000be70000613d0000000101000039000000000021041b000000400100043d000000000021043500000442020000410000000003000414000004420430009c0000000003028019000004420410009c00000000010280190000004001100210000000c002300210000000000112019f0000046f011001c70000800d02000039000000020300003900000470040000410000000005000410110110f70000040f000000010120019000000bd00000613d000000000001042d00000000010000190000110300010430000000400100043d000000640210003900000474030000410000000000320435000000440210003900000475030000410000000000320435000000240210003900000028030000390000000000320435000004720200004100000000002104350000000402100039000000200300003900000000003204350000044202000041000004420310009c0000000001028019000000400110021000000476011001c70000110300010430000000400100043d000000440210003900000471030000410000000000320435000000240210003900000014030000390000000000320435000004720200004100000000002104350000000402100039000000200300003900000000003204350000044202000041000004420310009c0000000001028019000000400110021000000473011001c700001103000104300002000000000002000200000002001d000100000001001d00000463010000410000000000100435000000200000043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f000000010220019000000c900000613d000000000101043b000000000200041100000444022001970000000000200435000000200010043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f000000010220019000000c900000613d000000400300043d000000000101043b000000000101041a000000ff0110019000000c980000613d000000200130003900000491020000410000000000210435000000020200002900000444022001970000002404300039000000000024043500000044020000390000000000230435000000440230003900000000000204350000048f0230009c00000c920000813d0000008002300039000000400020043f000000000400041400000001020000290000044402200197000000040520008c00000c340000c13d0000000103000031000000000200001900000c480000013d0000044205000041000004420610009c000000000105801900000040011002100000000003030433000004420630009c00000000030580190000006003300210000000000113019f000004420340009c00000000030500190000000003044019000000c003300210000000000131019f110110f70000040f000000010220015f00030000000103550000006001100270000104420010019d00000442031001970000006001000039000000000430004c00000c760000613d0000003f01300039000000200400008a000000000441016f000000400100043d0000000004410019000000000514004b000000000500001900000001050040390000046e0640009c00000c920000213d000000010550019000000c920000c13d000000400040043f0000000003310436000000030400036700000001060000310000001f0560018f000000050660027200000c670000613d000000000700001900000005087002100000000009830019000000000884034f000000000808043b00000000008904350000000107700039000000000867004b00000c5f0000413d000000000750004c00000c760000613d0000000506600210000000000464034f00000000036300190000000305500210000000000603043300000000065601cf000000000656022f000000000404043b0000010005500089000000000454022f00000000045401cf000000000464019f0000000000430435000000010220019000000cac0000c13d0000000012010434000000000320004c00000c8f0000613d0000044303000041000000200420008c000000000400001900000000040340190000044302200197000000000520004c000000000300a019000004430220009c00000000020400190000000002036019000000000220004c00000c900000c13d0000000001010433000000000210004c0000000002000019000000010200c039000000000221004b00000c900000c13d000000000110004c00000cbd0000613d000000000001042d00000000010000190000110300010430000004460100004100000000001004350000004101000039000000040010043f00000447010000410000110300010430000000640130003900000474020000410000000000210435000000440130003900000475020000410000000000210435000000240130003900000028020000390000000000210435000004720100004100000000001304350000000401300039000000200200003900000000002104350000044201000041000004420230009c0000000001034019000000400110021000000476011001c70000110300010430000000400100043d00000044021000390000048c03000041000000000032043500000472020000410000000000210435000000240210003900000020030000390000000000320435000000040210003900000000003204350000044202000041000004420310009c0000000001028019000000400110021000000473011001c70000110300010430000000400100043d00000064021000390000048a03000041000000000032043500000044021000390000048b03000041000000000032043500000024021000390000002a030000390000000000320435000004720200004100000000002104350000000402100039000000200300003900000000003204350000044202000041000004420310009c0000000001028019000000400110021000000476011001c700001103000104300003000000000002000300000002001d000200000001001d00000463010000410000000000100435000000200000043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f000000010220019000000d800000613d000000000101043b00000000020004110000044402200197000100000002001d0000000000200435000000200010043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f000000010220019000000d800000613d000000000101043b000000000101041a000000ff0110019000000d880000613d0000000303000029000000000130004c00000d9d0000613d000000400100043d0000004402100039000000000032043500000020031000390000048802000041000000000023043500000024021000390000000104000029000000000042043500000044020000390000000000210435000000020200002900000444022001970000048f0410009c00000d820000813d0000008004100039000000400040043f0000000004000414000000040520008c00000d100000c13d0000000103000031000000000200001900000d240000013d0000044205000041000004420630009c000000000305801900000040033002100000000001010433000004420610009c00000000010580190000006001100210000000000131019f000004420340009c00000000030500190000000003044019000000c003300210000000000131019f110110f70000040f000000010220015f00030000000103550000006001100270000104420010019d00000442031001970000006001000039000000000430004c00000d520000613d0000003f01300039000000200400008a000000000441016f000000400100043d0000000004410019000000000514004b000000000500001900000001050040390000046e0640009c00000d820000213d000000010550019000000d820000c13d000000400040043f0000000003310436000000030400036700000001060000310000001f0560018f000000050660027200000d430000613d000000000700001900000005087002100000000009830019000000000884034f000000000808043b00000000008904350000000107700039000000000867004b00000d3b0000413d000000000750004c00000d520000613d0000000506600210000000000464034f00000000036300190000000305500210000000000603043300000000065601cf000000000656022f000000000404043b0000010005500089000000000454022f00000000045401cf000000000464019f0000000000430435000000010220019000000daf0000c13d0000000012010434000000000320004c00000d6b0000613d0000044303000041000000200420008c000000000400001900000000040340190000044302200197000000000520004c000000000300a019000004430220009c00000000020400190000000002036019000000000220004c00000d800000c13d0000000001010433000000000210004c0000000002000019000000010200c039000000000221004b00000d800000c13d000000000110004c00000dc00000613d000000400100043d0000000302000029000000000021043500000442020000410000000003000414000004420430009c0000000003028019000004420410009c00000000010280190000004001100210000000c002300210000000000112019f0000046f011001c70000800d02000039000000020300003900000492040000410000000205000029110110f70000040f000000010120019000000d800000613d000000000001042d00000000010000190000110300010430000004460100004100000000001004350000004101000039000000040010043f00000447010000410000110300010430000000400100043d000000640210003900000474030000410000000000320435000000440210003900000475030000410000000000320435000000240210003900000028030000390000000000320435000004720200004100000000002104350000000402100039000000200300003900000000003204350000044202000041000004420310009c0000000001028019000000400110021000000476011001c70000110300010430000000400100043d00000044021000390000049303000041000000000032043500000024021000390000001e030000390000000000320435000004720200004100000000002104350000000402100039000000200300003900000000003204350000044202000041000004420310009c0000000001028019000000400110021000000473011001c70000110300010430000000400100043d00000044021000390000048c03000041000000000032043500000472020000410000000000210435000000240210003900000020030000390000000000320435000000040210003900000000003204350000044202000041000004420310009c0000000001028019000000400110021000000473011001c70000110300010430000000400100043d00000064021000390000048a03000041000000000032043500000044021000390000048b03000041000000000032043500000024021000390000002a030000390000000000320435000004720200004100000000002104350000000402100039000000200300003900000000003204350000044202000041000004420310009c0000000001028019000000400110021000000476011001c700001103000104300002000000000002000200000001001d00000463010000410000000000100435000000200000043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f000000010220019000000e590000613d000000000101043b0000000002000411000100000002001d00000444022001970000000000200435000000200010043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f000000010220019000000e590000613d000000000101043b000000000101041a000000ff0110019000000e5b0000613d0000000209000029000000000190004c000000010400002900000e700000613d0000000001000414000000040240008c00000e020000c13d0000000102000039000000010100003100000e160000013d0000044202000041000000400300043d000004420530009c0000000003028019000004420510009c0000000001028019000000c0011002100000004002300210000000000112019f0000046c011001c7000080090200003900000000030900190000000005000019110110f70000040f0000000209000029000000010220018f00030000000103550000006001100270000104420010019d0000044201100197000000000310004c00000e430000613d0000003f03100039000000200400008a000000000443016f000000400300043d0000000004430019000000000534004b000000000500001900000001050040390000046e0640009c00000e930000213d000000010550019000000e930000c13d000000400040043f0000000001130436000000030300036700000001050000310000001f0450018f000000050550027200000e340000613d000000000600001900000005076002100000000008710019000000000773034f000000000707043b00000000007804350000000106600039000000000756004b00000e2c0000413d000000000640004c00000e430000613d0000000505500210000000000353034f00000000015100190000000304400210000000000501043300000000054501cf000000000545022f000000000303043b0000010004400089000000000343022f00000000034301cf000000000353019f0000000000310435000000400100043d000000000220004c00000e820000613d000000000091043500000442020000410000000003000414000004420430009c0000000003028019000004420410009c00000000010280190000004001100210000000c002300210000000000112019f0000046f011001c70000800d02000039000000020300003900000492040000410000000005000019110110f70000040f000000010120019000000e590000613d000000000001042d00000000010000190000110300010430000000400100043d000000640210003900000474030000410000000000320435000000440210003900000475030000410000000000320435000000240210003900000028030000390000000000320435000004720200004100000000002104350000000402100039000000200300003900000000003204350000044202000041000004420310009c0000000001028019000000400110021000000476011001c70000110300010430000000400100043d00000044021000390000049303000041000000000032043500000024021000390000001e030000390000000000320435000004720200004100000000002104350000000402100039000000200300003900000000003204350000044202000041000004420310009c0000000001028019000000400110021000000473011001c70000110300010430000000440210003900000494030000410000000000320435000000240210003900000010030000390000000000320435000004720200004100000000002104350000000402100039000000200300003900000000003204350000044202000041000004420310009c0000000001028019000000400110021000000473011001c70000110300010430000004460100004100000000001004350000004101000039000000040010043f000004470100004100001103000104300004000000000002000300000002001d000400000001001d0000000000100435000000200000043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f000000010220019000000f230000613d000000000101043b0000000101100039000000000101041a000100000001001d0000000000100435000000200000043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f000000010220019000000f230000613d000000000101043b0000000002000411000200000002001d00000444022001970000000000200435000000200010043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f000000010220019000000f230000613d000000000101043b000000000101041a000000ff0110019000000f250000613d00000004010000290000000000100435000000200000043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f000000010220019000000f230000613d000000000101043b00000003020000290000044402200197000100000002001d0000000000200435000000200010043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f000000010220019000000f230000613d000000000101043b000000000101041a000000ff0110019000000f220000c13d00000004010000290000000000100435000000200000043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f000000010220019000000f230000613d000000000101043b00000001020000290000000000200435000000200010043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f000000010220019000000f230000613d000000000101043b000000000201041a000001000300008a000000000232016f00000001022001bf000000000021041b000000400100043d00000442020000410000000003000414000004420430009c0000000003028019000004420410009c00000000010280190000004001100210000000c002300210000000000112019f0000046c011001c70000800d0200003900000004030000390000046d04000041000000040500002900000003060000290000000207000029110110f70000040f000000010120019000000f230000613d000000000001042d00000000010000190000110300010430000000400100043d00000000070100190000047a0110009c00000f2f0000413d000004460100004100000000001004350000004101000039000000040010043f0000044701000041000011030001043000000000020700190000006001200039000000400010043f0000002a01000039000000000112043600000000020000310000000202200367000000000300001900000005043002100000000005410019000000000442034f000000000404043b00000000004504350000000103300039000000020430008c00000f370000413d0000000002070433000000000220004c00000f490000613d00000000020104330000047b022001970000047c022001c700000000002104350000000002070433000000020220008c00000f4f0000813d000004460100004100000000001004350000003201000039000000040010043f00000447010000410000110300010430000000210270003900000000030204330000047b033001970000047d033001c700000000003204350000002902000039000000020500002900000000030500190000000004070433000000000424004b00000f490000a13d0000000f0430018f0000000304400210000000f80440015f0000047e05000041000000000445022f000000000512001900000000060504330000047b06600197000000f804400210000000000446019f00000000004504350000000405300270000000010220008a000000010420008c00000f560000213d000000100130008c00000000010000190000000101004039000300000007001d110110e30000040f0000000101000029110109d20000040f000000400400043d000400000004001d00000020024000390000047f030000410000000000320435000200000001001d00000037024000390000000301000029110104940000040f0000048002000041000000000021043500000011021000390000000201000029110104940000040f00000004030000290000000002310049000000200120008a00000000001304350000000001030019110104bd0000040f0000047201000041000000400200043d000300000002001d000000000012043500000004012000390000000402000029110104a50000040f000000030400002900000000014100490000044202000041000004420310009c0000000001028019000004420340009c000000000204401900000040022002100000006001100210000000000121019f00001103000104300004000000000002000300000002001d000400000001001d0000000000100435000000200000043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f00000001022001900000101f0000613d000000000101043b0000000101100039000000000101041a000100000001001d0000000000100435000000200000043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f00000001022001900000101f0000613d000000000101043b0000000002000411000200000002001d00000444022001970000000000200435000000200010043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f00000001022001900000101f0000613d000000000101043b000000000101041a000000ff01100190000010210000613d00000004010000290000000000100435000000200000043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f00000001022001900000101f0000613d000000000101043b00000003020000290000044402200197000100000002001d0000000000200435000000200010043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f00000001022001900000101f0000613d000000000101043b000000000101041a000000ff011001900000101e0000613d00000004010000290000000000100435000000200000043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f00000001022001900000101f0000613d000000000101043b00000001020000290000000000200435000000200010043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f00000001022001900000101f0000613d000000000101043b000000000201041a000001000300008a000000000232016f000000000021041b000000400100043d00000442020000410000000003000414000004420430009c0000000003028019000004420410009c00000000010280190000004001100210000000c002300210000000000112019f0000046c011001c70000800d0200003900000004030000390000048104000041000000040500002900000003060000290000000207000029110110f70000040f00000001012001900000101f0000613d000000000001042d00000000010000190000110300010430000000400100043d00000000070100190000047a0110009c0000102b0000413d000004460100004100000000001004350000004101000039000000040010043f0000044701000041000011030001043000000000020700190000006001200039000000400010043f0000002a01000039000000000112043600000000020000310000000202200367000000000300001900000005043002100000000005410019000000000442034f000000000404043b00000000004504350000000103300039000000020430008c000010330000413d0000000002070433000000000220004c000010450000613d00000000020104330000047b022001970000047c022001c700000000002104350000000002070433000000020220008c0000104b0000813d000004460100004100000000001004350000003201000039000000040010043f00000447010000410000110300010430000000210270003900000000030204330000047b033001970000047d033001c700000000003204350000002902000039000000020500002900000000030500190000000004070433000000000424004b000010450000a13d0000000f0430018f0000000304400210000000f80440015f0000047e05000041000000000445022f000000000512001900000000060504330000047b06600197000000f804400210000000000446019f00000000004504350000000405300270000000010220008a000000010420008c000010520000213d000000100130008c00000000010000190000000101004039000300000007001d110110e30000040f0000000101000029110109d20000040f000000400400043d000400000004001d00000020024000390000047f030000410000000000320435000200000001001d00000037024000390000000301000029110104940000040f0000048002000041000000000021043500000011021000390000000201000029110104940000040f00000004030000290000000002310049000000200120008a00000000001304350000000001030019110104bd0000040f0000047201000041000000400200043d000300000002001d000000000012043500000004012000390000000402000029110104a50000040f000000030400002900000000014100490000044202000041000004420310009c0000000001028019000004420340009c000000000204401900000040022002100000006001100210000000000121019f000011030001043000030000000000020000000202000039000000000102041a000000010310019000000001041002700000007f0540018f000000000604001900000000060560190000001f0460008c00000000040000190000000104002039000000010440018f000000000443004b000010d50000c13d000000400500043d0000000004650436000000000330004c000010a90000c13d000001000200008a000000000121016f00000000001404350000004002000039000010ca0000013d000100000004001d000200000006001d000300000005001d000000000020043500000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046f011001c70000801002000039110110fc0000040f0000000102200190000010e10000613d00000020020000390000000206000029000000000360004c0000000305000029000010ca0000613d000000000101043b0000000003000019000000010700002900000000020300190000000003720019000000000401041a000000000043043500000001011000390000002003200039000000000463004b000010bf0000413d0000005f01200039000000200200008a000000000221016f0000000001520019000000000221004b000000000200001900000001020040390000046e0310009c000010db0000213d0000000102200190000010db0000c13d000000400010043f0000000001050019000000000001042d000004460100004100000000001004350000002201000039000000040010043f00000447010000410000110300010430000004460100004100000000001004350000004101000039000000040010043f0000044701000041000011030001043000000000010000190000110300010430000000000110004c000010e60000613d000000000001042d000000400100043d00000044021000390000049003000041000000000032043500000472020000410000000000210435000000240210003900000020030000390000000000320435000000040210003900000000003204350000044202000041000004420310009c0000000001028019000000400110021000000473011001c70000110300010430000010fa002104210000000102000039000000000001042d0000000002000019000000000001042d000010ff002104230000000102000039000000000001042d0000000002000019000000000001042d0000110100000432000011020001042e0000110300010430000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffffffffffff00000002000000000000000000000000000000800000010000000000000000004e487b71000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024000000000000000000000000000000000000000000000000000000000000000000000000000000008980f11e00000000000000000000000000000000000000000000000000000000d8baf7ce00000000000000000000000000000000000000000000000000000000ef99893900000000000000000000000000000000000000000000000000000000ef99893a00000000000000000000000000000000000000000000000000000000f2fde38b00000000000000000000000000000000000000000000000000000000f874225400000000000000000000000000000000000000000000000000000000d8baf7cf00000000000000000000000000000000000000000000000000000000eab90da60000000000000000000000000000000000000000000000000000000091d148530000000000000000000000000000000000000000000000000000000091d1485400000000000000000000000000000000000000000000000000000000a217fddf00000000000000000000000000000000000000000000000000000000d547741f000000000000000000000000000000000000000000000000000000008980f11f000000000000000000000000000000000000000000000000000000008bb9c5bf000000000000000000000000000000000000000000000000000000004ebb7915000000000000000000000000000000000000000000000000000000006b453c1e000000000000000000000000000000000000000000000000000000006b453c1f000000000000000000000000000000000000000000000000000000007ae267730000000000000000000000000000000000000000000000000000000084a33e63000000000000000000000000000000000000000000000000000000004ebb79160000000000000000000000000000000000000000000000000000000069cff80d00000000000000000000000000000000000000000000000000000000248a9ca200000000000000000000000000000000000000000000000000000000248a9ca3000000000000000000000000000000000000000000000000000000002f2ff15d0000000000000000000000000000000000000000000000000000000036568abe0000000000000000000000000000000000000000000000000000000001ffc9a70000000000000000000000000000000000000000000000000000000006fdde03339759585899103d2ace64958e37e18ccb0504652c81d4a1b8aa80fe2126ab950000000000000000000000000000000000000020000000000000000000000000ffffffff0000000000000000000000000000000000000000000000000000000001ffc9a7000000000000000000000000000000000000000000000000000000007965db0b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000800000000000000000000000000000000000000000000000000000000000000000ffffffffffffffc05741766178416461707465720000000000000000000000000000000000000000020000000000000000000000000000000000004000000000000000000000000002000000000000000000000000000000000000000000000000000000000000002f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d000000000000000000000000000000000000000000000000ffffffffffffffff0200000000000000000000000000000000000020000000000000000000000000f43f23b7a28e6f8ce6843a21bd7b48bce778aa913b8c8cf459edf7d770e8d38a496e76616c6964206761732d657374696d61746500000000000000000000000008c379a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000064000000000000000000000000696e7461696e65720000000000000000000000000000000000000000000000004d61696e7461696e61626c653a2043616c6c6572206973206e6f742061206d610000000000000000000000000000000000000084000000000000000000000000496e76616c69642061646170746572206e616d65000000000000000000000000310ab089e4439a4c15d089f94afb7896ff553aecb10793d0ab882de59d99a32e0200000200000000000000000000000000000044000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffa000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff300000000000000000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000000000000000003031323334353637383961626364656600000000000000000000000000000000416363657373436f6e74726f6c3a206163636f756e7420000000000000000000206973206d697373696e6720726f6c6520000000000000000000000000000000f6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b000000000000000000000001000000000000000000000000000000000000000020726f6c657320666f722073656c660000000000000000000000000000000000416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e63651806aa1896bbf26568e884a7374b41e002500962caba6a15023a8d90e8508b83020000020000000000000000000000000000002400000000000000000000000070a0823100000000000000000000000000000000000000000000000000000000a9059cbb00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffff7f6f742073756363656564000000000000000000000000000000000000000000005361666545524332303a204552433230206f7065726174696f6e20646964206e5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564e2bdbc6b7225eb0a972ac943c485a6cc05f7c6811838bce8903f23200fb744fa496e73756666696369656e7420616d6f756e742d6f7574000000000000000000000000000000000000000000000000000000000000000000ffffffffffffff80537472696e67733a20686578206c656e67746820696e73756666696369656e74095ea7b3000000000000000000000000000000000000000000000000000000008c1256b8896378cd5044f80c202f9772b9d77dc85c8a6eb51967210b09bfaa2859616b416461707465723a204e6f7468696e6720746f207265636f76657200005472616e73666572206661696c65642e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007a83d6c30a1ce2203255e75a725f3057f02b9dc979f00fe31364174597a15951", + "deployedBytecode": "0x0004000000000002000100000000000200000000030100190000006003300270000004420430019700030000004103550002000000010355000004420030019d000100000000001f00000001012001900000002b0000c13d0000008001000039000000400010043f0000000001000031000000040210008c0000003c0000413d0000000201000367000000000101043b000000e001100270000004480210009c000000400000213d000004560210009c000000840000213d0000045d0210009c000000d40000a13d0000045e0210009c000001470000613d0000045f0210009c000001640000613d000004600110009c000000820000c13d0000000001000416000000000110004c000000820000c13d00000000010000311101042b0000040f1101076e0000040f0000044201000041000000400200043d000004420320009c00000000010240190000004001100210000011020001042e000000a001000039000000400010043f0000000001000416000000000110004c000000820000c13d0000000001000031000000bf02100039000000200300008a000000000232016f0000009f0320008c000000560000213d000004460100004100000000001004350000004101000039000000040010043f00000447010000410000110300010430000000000110004c000000820000c13d0000000001000019000011020001042e000004490210009c000000a70000213d000004500210009c000000f90000a13d000004510210009c000001700000613d000004520210009c000001850000613d000004530110009c000000820000c13d0000000001000416000000000110004c000000820000c13d00000000010000311101042b0000040f11010f960000040f0000044201000041000000400200043d000004420320009c00000000010240190000004001100210000011020001042e000000400020043f0000001f0210018f00000002030003670000000504100272000000640000613d00000000050000190000000506500210000000000763034f000000000707043b000000a00660003900000000007604350000000105500039000000000645004b0000005c0000413d000000000520004c000000730000613d0000000504400210000000000343034f0000000302200210000000a004400039000000000504043300000000052501cf000000000525022f000000000303043b0000010002200089000000000323022f00000000022301cf000000000252019f00000000002404350000044302000041000000400310008c000000000300001900000000030240190000044301100197000000000410004c000000000200a019000004430110009c00000000010300190000000001026019000000000110004c000000820000c13d000000a00100043d000004440210009c000000c90000a13d00000000010000190000110300010430000004570210009c000001180000a13d000004580210009c0000019e0000613d000004590210009c000001aa0000613d0000045a0110009c000000820000c13d0000000001000416000000000110004c000000820000c13d000000040100008a00000000011000310000044302000041000000200310008c000000000300001900000000030240190000044301100197000000000410004c000000000200a019000004430110009c00000000010300190000000001026019000000000110004c000000820000c13d00000004010000390000000201100367000000000101043b11010b950000040f0000044201000041000000400200043d000004420320009c00000000010240190000004001100210000011020001042e0000044a0210009c000001370000a13d0000044b0210009c000001b60000613d0000044c0210009c000001c40000613d0000044d0110009c000000820000c13d0000000001000416000000000110004c000000820000c13d000000040100008a00000000011000310000044302000041000000000310004c000000000300001900000000030240190000044301100197000000000410004c000000000200a019000004430110009c00000000010300190000000001026019000000000110004c000000820000c13d000000400100043d000004630200004100000000002104350000044202000041000004420310009c0000000001028019000000400110021000000464011001c7000011020001042e000000c00200043d110102140000040f000000800100043d0000014000000443000001600010044300000020010000390000010000100443000000010100003900000120001004430000044501000041000011020001042e000004610210009c000001d00000613d000004620110009c000000820000c13d0000000001000416000000000110004c000000820000c13d000000040100008a00000000011000310000044302000041000000000310004c000000000300001900000000030240190000044301100197000000000410004c000000000200a019000004430110009c00000000010300190000000001026019000000000110004c000000820000c13d110110920000040f0000000002010019000000400100043d000100000001001d110104a50000040f000000010400002900000000014100490000044202000041000004420310009c0000000001028019000004420340009c000000000204401900000040022002100000006001100210000000000121019f000011020001042e000004540210009c000001e10000613d000004550110009c000000820000c13d0000000001000416000000000110004c000000820000c13d000000040100008a00000000011000310000044302000041000000200310008c000000000300001900000000030240190000044301100197000000000410004c000000000200a019000004430110009c00000000010300190000000001026019000000000110004c000000820000c13d00000004010000390000000201100367000000000101043b110106fc0000040f0000044201000041000000400200043d000004420320009c00000000010240190000004001100210000011020001042e0000045b0210009c000001ed0000613d0000045c0110009c000000820000c13d0000000001000416000000000110004c000000820000c13d000000040100008a00000000011000310000044302000041000000000310004c000000000300001900000000030240190000044301100197000000000410004c000000000200a019000004430110009c00000000010300190000000001026019000000000110004c000000820000c13d0000000101000039000000000101041a000000400200043d00000000001204350000044201000041000004420320009c0000000001024019000000400110021000000464011001c7000011020001042e0000044e0210009c000002080000613d0000044f0110009c000000820000c13d0000000001000416000000000110004c000000820000c13d0000000001000031110104730000040f110107e00000040f0000044201000041000000400200043d000004420320009c00000000010240190000004001100210000011020001042e0000000001000416000000000110004c000000820000c13d000000040100008a00000000011000310000044302000041000000200310008c000000000300001900000000030240190000044301100197000000000410004c000000000200a019000004430110009c00000000010300190000000001026019000000000110004c000000820000c13d00000004010000390000000201100367000000000101043b110105ee0000040f000000400200043d00000000001204350000044201000041000004420320009c0000000001024019000000400110021000000464011001c7000011020001042e0000000001000416000000000110004c000000820000c13d00000000010000311101042b0000040f11010e990000040f0000044201000041000000400200043d000004420320009c00000000010240190000004001100210000011020001042e0000000001000416000000000110004c000000820000c13d00000000010000311101042b0000040f000100000002001d11010b850000040f000000010200002911010b740000040f000000000101041a000000ff011001900000000001000019000000010100c039000000400200043d00000000001204350000044201000041000004420320009c0000000001024019000000400110021000000464011001c7000011020001042e0000000001000416000000000110004c000000820000c13d000000040100008a00000000011000310000044302000041000000000310004c000000000300001900000000030240190000044301100197000000000410004c000000000200a019000004430110009c00000000010300190000000001026019000000000110004c000000820000c13d000000400100043d00000000000104350000044202000041000004420310009c0000000001028019000000400110021000000464011001c7000011020001042e0000000001000416000000000110004c000000820000c13d0000000001000031110103e60000040f110104f10000040f0000044201000041000000400200043d000004420320009c00000000010240190000004001100210000011020001042e0000000001000416000000000110004c000000820000c13d0000000001000031110103fb0000040f11010bf90000040f0000044201000041000000400200043d000004420320009c00000000010240190000004001100210000011020001042e0000000001000416000000000110004c000000820000c13d0000000001000031110104580000040f110104d00000040f000000400200043d00000000001204350000044201000041000004420320009c0000000001024019000000400110021000000464011001c7000011020001042e0000000001000416000000000110004c000000820000c13d0000000001000031110103e60000040f11010a280000040f0000044201000041000000400200043d000004420320009c00000000010240190000004001100210000011020001042e0000000001000416000000000110004c000000820000c13d0000000001000031110104420000040f0000046501100197000004660210009c00000000020000190000000102006039000004670110009c00000000010000190000000101006039000000000121019f000000010110018f000000800010043f0000046801000041000011020001042e0000000001000416000000000110004c000000820000c13d0000000001000031110104140000040f11010cd20000040f0000044201000041000000400200043d000004420320009c00000000010240190000004001100210000011020001042e0000000001000416000000000110004c000000820000c13d000000040100008a00000000011000310000044302000041000000200310008c000000000300001900000000030240190000044301100197000000000410004c000000000200a019000004430110009c00000000010300190000000001026019000000000110004c000000820000c13d00000004010000390000000201100367000000000101043b11010dd50000040f0000044201000041000000400200043d000004420320009c00000000010240190000004001100210000011020001042e0000000001000416000000000110004c000000820000c13d0000000001000031110103e60000040f110106000000040f0000044201000041000000400200043d000004420320009c00000000010240190000004001100210000011020001042e0008000000000002000700000002001d000500000001001d000000400200043d000004690120009c000003a10000813d0000004001200039000000400010043f0000000c01000039000600000002001d00000000021204360000046a01000041000300000002001d00000000001204350000000000000435000000200000043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f00000001022001900000039f0000613d000000000101043b0000000002000411000400000002001d0000044402200197000800000002001d0000000000200435000000200010043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f00000001022001900000039f0000613d000000000101043b000000000101041a000000ff01100190000002770000c13d0000000000000435000000200000043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f00000001022001900000039f0000613d000000000101043b00000008020000290000000000200435000000200010043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f00000001022001900000039f0000613d000000000101043b000000000201041a000001000300008a000000000232016f00000001022001bf000000000021041b000000400100043d00000442020000410000000003000414000004420430009c0000000003028019000004420410009c00000000010280190000004001100210000000c002300210000000000112019f0000046c011001c70000800d0200003900000004030000390000046d04000041000000000500001900000004060000290000000007060019110110f70000040f00000001012001900000039f0000613d00000463010000410000000000100435000000200000043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f00000001022001900000039f0000613d000000000101043b00000008020000290000000000200435000000200010043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f00000001022001900000039f0000613d000000000101043b000000000101041a000000ff01100190000002cb0000c13d00000463010000410000000000100435000000200000043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f00000001022001900000039f0000613d000000000101043b00000008020000290000000000200435000000200010043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f00000001022001900000039f0000613d000000000101043b000000000201041a000001000300008a000000000232016f00000001022001bf000000000021041b000000400100043d00000442020000410000000003000414000004420430009c0000000003028019000004420410009c00000000010280190000004001100210000000c002300210000000000112019f0000046c011001c70000800d0200003900000004030000390000046d04000041000004630500004100000004060000290000000007060019110110f70000040f00000001012001900000039f0000613d00000006060000290000000008060433000000000180004c000003bc0000613d0000046e0180009c000003a10000213d0000000207000039000000000107041a000000010210019000000001011002700000007f0310018f000000000401001900000000040360190000001f0140008c00000000010000190000000101002039000000010110018f000000000112004b000003ce0000c13d000000000184019f000000200110008c0000000001000019000002f50000413d000100000004001d000200000008001d000400000007001d000000000070043500000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046f011001c70000801002000039110110fc0000040f00000001022001900000039f0000613d000000000101043b0000000606000029000000040700002900000002080000290000000104000029000000200240008c000003060000413d0000001f028000390000000502200270000000200380008c000000000302001900000000030040190000001f02400039000000050220027000000000022100190000000003310019000000000423004b000003060000813d000000000003041b0000000103300039000000000423004b000003020000413d0000001f0280008c000003240000a13d000000200200008a00000000032801700000002002000039000003160000613d0000002002000039000000000400001900000000056200190000000005050433000000000051041b000000200220003900000001011000390000002004400039000000000534004b0000030e0000413d000000000383004b000003210000813d0000000303800210000000f80330018f000000010400008a000000000334022f000000000343013f00000000026200190000000002020433000000000232016f000000000021041b000000010100003900000001028002100000032c0000013d0000000301800210000000010200008a000000000112022f000000000121013f00000003020000290000000002020433000000000212016f0000000101800210000000000112019f000000000017041b00000463010000410000000000100435000000200000043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f00000001022001900000039f0000613d000000000101043b00000008020000290000000000200435000000200010043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f00000001022001900000039f0000613d000000000101043b000000000101041a000000ff01100190000003a70000613d0000000702000029000000000120004c000003d40000613d0000000101000039000400000001001d000000000021041b000000400100043d000000000021043500000442020000410000000003000414000004420430009c0000000003028019000004420410009c00000000010280190000004001100210000000c002300210000000000112019f0000046f011001c70000800d02000039000000020300003900000470040000410000000005000410000600000005001d110110f70000040f00000001012001900000039f0000613d0000000501000029000000800010043f00000463010000410000000000100435000000200000043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f00000001022001900000039f0000613d000000000101043b00000008020000290000000000200435000000200010043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f00000001022001900000039f0000613d000000000101043b000000000101041a000000ff01100190000003a70000613d00000007020000290000000401000029000000000021041b000000400100043d000000000021043500000442020000410000000003000414000004420430009c0000000003028019000004420410009c00000000010280190000004001100210000000c002300210000000000112019f0000046f011001c70000800d02000039000000020300003900000470040000410000000605000029110110f70000040f00000001012001900000039f0000613d000000000001042d00000000010000190000110300010430000004460100004100000000001004350000004101000039000000040010043f00000447010000410000110300010430000000400100043d000000640210003900000474030000410000000000320435000000440210003900000475030000410000000000320435000000240210003900000028030000390000000000320435000004720200004100000000002104350000000402100039000000200300003900000000003204350000044202000041000004420310009c0000000001028019000000400110021000000476011001c70000110300010430000000400100043d000000440210003900000477030000410000000000320435000000240210003900000014030000390000000000320435000004720200004100000000002104350000000402100039000000200300003900000000003204350000044202000041000004420310009c0000000001028019000000400110021000000473011001c70000110300010430000004460100004100000000001004350000002201000039000000040010043f00000447010000410000110300010430000000400100043d000000440210003900000471030000410000000000320435000000240210003900000014030000390000000000320435000004720200004100000000002104350000000402100039000000200300003900000000003204350000044202000041000004420310009c0000000001028019000000400110021000000473011001c70000110300010430000000040110008a00000443020000410000001f0310008c000000000300001900000000030220190000044301100197000000000410004c0000000002008019000004430110009c00000000010300190000000001026019000000000110004c000003f90000613d00000004010000390000000201100367000000000101043b000004440210009c000003f90000213d000000000001042d00000000010000190000110300010430000000040110008a00000443020000410000003f0310008c000000000300001900000000030220190000044301100197000000000410004c0000000002008019000004430110009c00000000010300190000000001026019000000000110004c000004120000613d00000002020003670000000401200370000000000101043b000004440310009c000004120000213d0000002402200370000000000202043b000004440320009c000004120000213d000000000001042d00000000010000190000110300010430000000040110008a00000443020000410000003f0310008c000000000300001900000000030220190000044301100197000000000410004c0000000002008019000004430110009c00000000010300190000000001026019000000000110004c000004290000613d00000002020003670000000401200370000000000101043b000004440310009c000004290000213d0000002402200370000000000202043b000000000001042d00000000010000190000110300010430000000040110008a00000443020000410000003f0310008c000000000300001900000000030220190000044301100197000000000410004c0000000002008019000004430110009c00000000010300190000000001026019000000000110004c000004400000613d00000002010003670000002402100370000000000202043b000004440320009c000004400000213d0000000401100370000000000101043b000000000001042d00000000010000190000110300010430000000040110008a00000443020000410000001f0310008c000000000300001900000000030220190000044301100197000000000410004c0000000002008019000004430110009c00000000010300190000000001026019000000000110004c000004560000613d00000004010000390000000201100367000000000101043b0000046502100197000000000221004b000004560000c13d000000000001042d00000000010000190000110300010430000000040110008a00000443020000410000005f0310008c000000000300001900000000030220190000044301100197000000000410004c0000000002008019000004430110009c00000000010300190000000001026019000000000110004c000004710000613d00000002030003670000000401300370000000000101043b0000002402300370000000000202043b000004440420009c000004710000213d0000004403300370000000000303043b000004440430009c000004710000213d000000000001042d00000000010000190000110300010430000000040110008a00000443020000410000009f0310008c000000000300001900000000030220190000044301100197000000000410004c0000000002008019000004430110009c00000000010300190000000001026019000000000110004c000004920000613d00000002050003670000002401500370000000000201043b0000000401500370000000000101043b0000004403500370000000000303043b000004440430009c000004920000213d0000006404500370000000000404043b000004440640009c000004920000213d0000008405500370000000000505043b000004440650009c000004920000213d000000000001042d0000000001000019000011030001043000000000030100190000000004030433000000000140004c0000000001240019000004a40000613d000000000500001900000000062500190000002005500039000000000735001900000000070704330000000000760435000000000645004b0000049a0000413d000000000245004b000004a40000a13d0000000000010435000000000001042d00000020030000390000000004310436000000000302043300000000003404350000004001100039000000000430004c000004b80000613d000000000400001900000000051400190000002004400039000000000624001900000000060604330000000000650435000000000534004b000004ad0000413d000000000234004b000004b80000a13d000000000213001900000000000204350000001f02300039000000200300008a000000000232016f0000000001210019000000000001042d0000001f02200039000000200300008a000000000232016f0000000001120019000000000221004b000000000200001900000001020040390000046e0310009c000004ca0000213d0000000102200190000004ca0000c13d000000400010043f000000000001042d000004460100004100000000001004350000004101000039000000040010043f000004470100004100001103000104300003000000000002000100000003001d000200000002001d000300000001001d0000047801000041000000000010043900000000010004120000000400100443000000240000044300000442010000410000000002000414000004420320009c0000000001024019000000c00110021000000479011001c70000800502000039110110fc0000040f0000000102200190000004ef0000613d00000001020000290000044402200197000000000101043b0000044401100197000000000212013f00000002030000290000044403300197000000000113013f00000000012101a00000000301000029000000000100c019000000000001042d000000000100001900001103000104300003000000000002000300000001001d00000463010000410000000000100435000000200000043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f00000001022001900000057b0000613d000000000101043b0000000101100039000000000101041a000100000001001d0000000000100435000000200000043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f00000001022001900000057b0000613d000000000101043b0000000002000411000200000002001d00000444022001970000000000200435000000200010043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f00000001022001900000057b0000613d000000000101043b000000000101041a000000ff011001900000057d0000613d00000463010000410000000000100435000000200000043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f00000001022001900000057b0000613d000000000101043b00000003020000290000044402200197000100000002001d0000000000200435000000200010043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f00000001022001900000057b0000613d000000000101043b000000000101041a000000ff011001900000057a0000c13d00000463010000410000000000100435000000200000043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f00000001022001900000057b0000613d000000000101043b00000001020000290000000000200435000000200010043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f00000001022001900000057b0000613d000000000101043b000000000201041a000001000300008a000000000232016f00000001022001bf000000000021041b000000400100043d00000442020000410000000003000414000004420430009c0000000003028019000004420410009c00000000010280190000004001100210000000c002300210000000000112019f0000046c011001c70000800d0200003900000004030000390000046d04000041000004630500004100000003060000290000000207000029110110f70000040f00000001012001900000057b0000613d000000000001042d00000000010000190000110300010430000000400100043d00000000070100190000047a0110009c000005870000413d000004460100004100000000001004350000004101000039000000040010043f0000044701000041000011030001043000000000020700190000006001200039000000400010043f0000002a01000039000000000112043600000000020000310000000202200367000000000300001900000005043002100000000005410019000000000442034f000000000404043b00000000004504350000000103300039000000020430008c0000058f0000413d0000000002070433000000000220004c000005a10000613d00000000020104330000047b022001970000047c022001c700000000002104350000000002070433000000020220008c000005a70000813d000004460100004100000000001004350000003201000039000000040010043f00000447010000410000110300010430000000210270003900000000030204330000047b033001970000047d033001c700000000003204350000002902000039000000020500002900000000030500190000000004070433000000000424004b000005a10000a13d0000000f0430018f0000000304400210000000f80440015f0000047e05000041000000000445022f000000000512001900000000060504330000047b06600197000000f804400210000000000446019f00000000004504350000000405300270000000010220008a000000010420008c000005ae0000213d000000100130008c00000000010000190000000101004039000200000007001d110110e30000040f0000000101000029110109d20000040f000000400400043d000300000004001d00000020024000390000047f030000410000000000320435000100000001001d00000037024000390000000201000029110104940000040f0000048002000041000000000021043500000011021000390000000101000029110104940000040f00000003030000290000000002310049000000200120008a00000000001304350000000001030019110104bd0000040f0000047201000041000000400200043d000200000002001d000000000012043500000004012000390000000302000029110104a50000040f000000020400002900000000014100490000044202000041000004420310009c0000000001028019000004420340009c000000000204401900000040022002100000006001100210000000000121019f00001103000104300000000000100435000000200000043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f0000000102200190000005fe0000613d000000000101043b0000000101100039000000000101041a000000000001042d000000000100001900001103000104300003000000000002000300000001001d00000463010000410000000000100435000000200000043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f0000000102200190000006890000613d000000000101043b0000000101100039000000000101041a000100000001001d0000000000100435000000200000043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f0000000102200190000006890000613d000000000101043b0000000002000411000200000002001d00000444022001970000000000200435000000200010043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f0000000102200190000006890000613d000000000101043b000000000101041a000000ff011001900000068b0000613d00000463010000410000000000100435000000200000043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f0000000102200190000006890000613d000000000101043b00000003020000290000044402200197000100000002001d0000000000200435000000200010043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f0000000102200190000006890000613d000000000101043b000000000101041a000000ff01100190000006880000613d00000463010000410000000000100435000000200000043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f0000000102200190000006890000613d000000000101043b00000001020000290000000000200435000000200010043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f0000000102200190000006890000613d000000000101043b000000000201041a000001000300008a000000000232016f000000000021041b000000400100043d00000442020000410000000003000414000004420430009c0000000003028019000004420410009c00000000010280190000004001100210000000c002300210000000000112019f0000046c011001c70000800d0200003900000004030000390000048104000041000004630500004100000003060000290000000207000029110110f70000040f0000000101200190000006890000613d000000000001042d00000000010000190000110300010430000000400100043d00000000070100190000047a0110009c000006950000413d000004460100004100000000001004350000004101000039000000040010043f0000044701000041000011030001043000000000020700190000006001200039000000400010043f0000002a01000039000000000112043600000000020000310000000202200367000000000300001900000005043002100000000005410019000000000442034f000000000404043b00000000004504350000000103300039000000020430008c0000069d0000413d0000000002070433000000000220004c000006af0000613d00000000020104330000047b022001970000047c022001c700000000002104350000000002070433000000020220008c000006b50000813d000004460100004100000000001004350000003201000039000000040010043f00000447010000410000110300010430000000210270003900000000030204330000047b033001970000047d033001c700000000003204350000002902000039000000020500002900000000030500190000000004070433000000000424004b000006af0000a13d0000000f0430018f0000000304400210000000f80440015f0000047e05000041000000000445022f000000000512001900000000060504330000047b06600197000000f804400210000000000446019f00000000004504350000000405300270000000010220008a000000010420008c000006bc0000213d000000100130008c00000000010000190000000101004039000200000007001d110110e30000040f0000000101000029110109d20000040f000000400400043d000300000004001d00000020024000390000047f030000410000000000320435000100000001001d00000037024000390000000201000029110104940000040f0000048002000041000000000021043500000011021000390000000101000029110104940000040f00000003030000290000000002310049000000200120008a00000000001304350000000001030019110104bd0000040f0000047201000041000000400200043d000200000002001d000000000012043500000004012000390000000302000029110104a50000040f000000020400002900000000014100490000044202000041000004420310009c0000000001028019000004420340009c000000000204401900000040022002100000006001100210000000000121019f0000110300010430000300000000000200000000030004110000044402300197000300000002001d000100000003001d000004820230009c000007590000813d000200000001001d0000000000100435000000200000043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f0000000102200190000007570000613d000000000101043b00000003020000290000000000200435000000200010043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f0000000102200190000007570000613d000000000101043b000000000101041a000000ff01100190000007560000613d00000002010000290000000000100435000000200000043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f0000000102200190000007570000613d000000000101043b00000003020000290000000000200435000000200010043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f0000000102200190000007570000613d000000000101043b000000000201041a000001000300008a000000000232016f000000000021041b000000400100043d00000442020000410000000003000414000004420430009c0000000003028019000004420410009c00000000010280190000004001100210000000c002300210000000000112019f0000046c011001c70000800d0200003900000004030000390000048104000041000000020500002900000001060000290000000307000029110110f70000040f0000000101200190000007570000613d000000000001042d00000000010000190000110300010430000000400100043d00000064021000390000048303000041000000000032043500000044021000390000048403000041000000000032043500000024021000390000002f030000390000000000320435000004720200004100000000002104350000000402100039000000200300003900000000003204350000044202000041000004420310009c0000000001028019000000400110021000000476011001c700001103000104300003000000000002000100000002001d00000444022001970000000003000411000300000002001d000000000232004b000007cb0000c13d000200000001001d0000000000100435000000200000043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f0000000102200190000007c90000613d000000000101043b00000003020000290000000000200435000000200010043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f0000000102200190000007c90000613d000000000101043b000000000101041a000000ff01100190000007c80000613d00000002010000290000000000100435000000200000043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f0000000102200190000007c90000613d000000000101043b00000003020000290000000000200435000000200010043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f0000000102200190000007c90000613d000000000101043b000000000201041a000001000300008a000000000232016f000000000021041b000000400100043d00000442020000410000000003000414000004420430009c0000000003028019000004420410009c00000000010280190000004001100210000000c002300210000000000112019f0000046c011001c70000800d0200003900000004030000390000048104000041000000020500002900000001060000290000000307000029110110f70000040f0000000101200190000007c90000613d000000000001042d00000000010000190000110300010430000000400100043d00000064021000390000048303000041000000000032043500000044021000390000048403000041000000000032043500000024021000390000002f030000390000000000320435000004720200004100000000002104350000000402100039000000200300003900000000003204350000044202000041000004420310009c0000000001028019000000400110021000000476011001c700001103000104300008000000000002000700000005001d000200000003001d000400000002001d000600000001001d00000485010000410000000000100439000300000004001d0000044401400197000800000001001d000000040010044300000442010000410000000002000414000004420320009c0000000001024019000000c00110021000000486011001c70000800202000039110110fc0000040f000000080a00002900000001022001900000094f0000613d000000000101043b000000000110004c0000094f0000613d000000400900043d000004870100004100000000001904350000000701000029000004440b100197000000040290003900000000010004140000000000b204350000000402a0008c00070000000b001d000008060000c13d00000001030000310000083a0000013d0000044202000041000004420310009c0000000001028019000004420390009c00000000020940190000004002200210000000c001100210000000000121019f00000447011001c700000000020a0019000500000009001d110110fc0000040f0000000509000029000000000301001900000060033002700000044203300197000000200430008c000000200500003900000000050340190000001f0450018f0000000505500272000008250000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b0000081d0000413d000000000640004c000008340000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f00030000000103550000000102200190000000080a000029000000070b0000290000096e0000613d0000001f01300039000000200200008a000500000002001d000000000221016f0000000001920019000000000221004b000000000200001900000001020040390000046e0310009c000009510000213d0000000102200190000009510000c13d000000400010043f00000443020000410000000103000031000000200430008c000000000400001900000000040240190000044303300197000000000530004c000000000200a019000004430330009c000000000204c019000000000220004c0000094f0000c13d0000000002090433000100000002001d00000000020004100000000002b2004b000008ca0000613d00000044021000390000000603000029000000000032043500000020021000390000048803000041000000000032043500000024031000390000000000b3043500000044030000390000000000310435000004890310009c000009510000213d0000008003100039000000400030043f00000000030004140000000404a0008c0000086c0000c13d00000001030000310000000002000019000008830000013d0000044204000041000004420520009c000000000204801900000040022002100000000001010433000004420510009c00000000010480190000006001100210000000000121019f000004420230009c00000000020400190000000002034019000000c002200210000000000121019f00000000020a0019110110f70000040f000000070b000029000000080a000029000000010220015f00030000000103550000006001100270000104420010019d00000442031001970000006001000039000000000430004c000008b10000613d0000003f013000390000000504000029000000000441016f000000400100043d0000000004410019000000000514004b000000000500001900000001050040390000046e0640009c000009510000213d0000000105500190000009510000c13d000000400040043f0000000003310436000000030400036700000001060000310000001f0560018f0000000506600272000008a20000613d000000000700001900000005087002100000000009830019000000000884034f000000000808043b00000000008904350000000107700039000000000867004b0000089a0000413d000000000750004c000008b10000613d0000000506600210000000000464034f00000000036300190000000305500210000000000603043300000000065601cf000000000656022f000000000404043b0000010005500089000000000454022f00000000045401cf000000000464019f000000000043043500000001022001900000098d0000c13d0000000012010434000000000320004c000008ca0000613d0000044303000041000000200420008c000000000400001900000000040340190000044302200197000000000520004c000000000300a019000004430220009c00000000020400190000000002036019000000000220004c0000094f0000c13d0000000001010433000000000210004c0000000002000019000000010200c039000000000221004b0000094f0000c13d000000000110004c000009bd0000613d000004850100004100000000001004390000000400a0044300000442010000410000000002000414000004420320009c0000000001024019000000c00110021000000486011001c70000800202000039110110fc0000040f0000000703000029000000080400002900000001022001900000094f0000613d000000000101043b000000000110004c0000094f0000613d000000400900043d00000487010000410000000000190435000000040290003900000000010004140000000000320435000000040240008c000008e60000c13d0000000103000031000009180000013d0000044202000041000004420310009c0000000001028019000004420390009c00000000020940190000004002200210000000c001100210000000000121019f00000447011001c70000000002040019000800000009001d110110fc0000040f0000000809000029000000000301001900000060033002700000044203300197000000200430008c000000200500003900000000050340190000001f0450018f0000000505500272000009050000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b000008fd0000413d000000000640004c000009140000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f000300000001035500000001022001900000099e0000613d0000001f013000390000000502000029000000000221016f0000000001920019000000000221004b000000000200001900000001020040390000046e0310009c000009510000213d0000000102200190000009510000c13d000000400010043f00000443020000410000000103000031000000200430008c000000000400001900000000040240190000044303300197000000000530004c000000000200a019000004430330009c000000000204c019000000000220004c0000094f0000c13d00000000020904330000000104000029000000000342004b000009570000413d00000000024200490000000403000029000000000232004b0000095d0000413d000000200210003900000000003204350000000602000029000000000021043500000442020000410000000003000414000004420430009c0000000003028019000004420410009c00000000010280190000004001100210000000c002300210000000000112019f0000046b011001c70000800d0200003900000003030000390000048d0400004100000002050000290000000306000029110110f70000040f00000001012001900000094f0000613d000000000001042d00000000010000190000110300010430000004460100004100000000001004350000004101000039000000040010043f00000447010000410000110300010430000004460100004100000000001004350000001101000039000000040010043f0000044701000041000011030001043000000044021000390000048e030000410000000000320435000000240210003900000017030000390000000000320435000004720200004100000000002104350000000402100039000000200300003900000000003204350000044202000041000004420310009c0000000001028019000000400110021000000473011001c700001103000104300000001f0430018f0000000502300272000009790000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b000009720000413d000000000340004c000009870000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000442010000410000000102000031000004420320009c000000000102401900000060011002100000110300010430000000400100043d00000044021000390000048c03000041000000000032043500000472020000410000000000210435000000240210003900000020030000390000000000320435000000040210003900000000003204350000044202000041000004420310009c0000000001028019000000400110021000000473011001c700001103000104300000001f0430018f0000000502300272000009a90000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b000009a20000413d000000000340004c000009b70000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000442010000410000000102000031000004420320009c000000000102401900000060011002100000110300010430000000400100043d00000064021000390000048a03000041000000000032043500000044021000390000048b03000041000000000032043500000024021000390000002a030000390000000000320435000004720200004100000000002104350000000402100039000000200300003900000000003204350000044202000041000004420310009c0000000001028019000000400110021000000476011001c700001103000104300000000002010019000000400100043d0000048f0310009c00000a110000813d0000008003100039000000400030043f0000004203000039000000000331043600000000040000310000000204400367000000000500001900000005065002100000000007630019000000000664034f000000000606043b00000000006704350000000105500039000000030650008c000009dd0000413d0000000004010433000000000440004c00000a0b0000613d00000000040304330000047b044001970000047c044001c700000000004304350000000004010433000000020440008c00000a0b0000413d000000210410003900000000050404330000047b055001970000047d055001c70000000000540435000000410400003900000000050200190000000002010433000000000242004b00000a0b0000a13d0000000f0250018f0000000302200210000000f80220015f0000047e06000041000000000226022f000000000634001900000000070604330000047b07700197000000f802200210000000000227019f00000000002604350000000402500270000000010440008a000000010640008c000009f50000213d000000100250008c00000a170000813d000000000001042d000004460100004100000000001004350000003201000039000000040010043f00000447010000410000110300010430000004460100004100000000001004350000004101000039000000040010043f00000447010000410000110300010430000000400100043d00000044021000390000049003000041000000000032043500000472020000410000000000210435000000240210003900000020030000390000000000320435000000040210003900000000003204350000044202000041000004420310009c0000000001028019000000400110021000000473011001c700001103000104300004000000000002000300000001001d0000000000000435000000200000043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f000000010220019000000b010000613d000000000101043b0000000101100039000000000101041a000100000001001d0000000000100435000000200000043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f000000010220019000000b010000613d000000000101043b0000000002000411000200000002001d0000044402200197000400000002001d0000000000200435000000200010043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f000000010220019000000b010000613d000000000101043b000000000101041a000000ff0110019000000b030000613d0000000000000435000000200000043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f000000010220019000000b010000613d000000000101043b00000003020000290000044402200197000100000002001d0000000000200435000000200010043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f000000010220019000000b010000613d000000000101043b000000000101041a000000ff0110019000000aaf0000c13d0000000000000435000000200000043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f000000010220019000000b010000613d000000000101043b00000001020000290000000000200435000000200010043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f000000010220019000000b010000613d000000000101043b000000000201041a000001000300008a000000000232016f00000001022001bf000000000021041b000000400100043d00000442020000410000000003000414000004420430009c0000000003028019000004420410009c00000000010280190000004001100210000000c002300210000000000112019f0000046c011001c70000800d0200003900000004030000390000046d04000041000000000500001900000003060000290000000207000029110110f70000040f000000010120019000000b010000613d0000000000000435000000200000043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f000000010220019000000b010000613d000000000101043b00000004020000290000000000200435000000200010043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f000000010220019000000b010000613d000000000101043b000000000101041a000000ff0110019000000b000000613d0000000000000435000000200000043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f000000010220019000000b010000613d000000000101043b00000004020000290000000000200435000000200010043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f000000010220019000000b010000613d000000000101043b000000000201041a000001000300008a000000000232016f000000000021041b000000400100043d00000442020000410000000003000414000004420430009c0000000003028019000004420410009c00000000010280190000004001100210000000c002300210000000000112019f0000046c011001c70000800d0200003900000004030000390000048104000041000000000500001900000002060000290000000007060019110110f70000040f000000010120019000000b010000613d000000000001042d00000000010000190000110300010430000000400100043d00000000070100190000047a0110009c00000b0d0000413d000004460100004100000000001004350000004101000039000000040010043f0000044701000041000011030001043000000000020700190000006001200039000000400010043f0000002a01000039000000000112043600000000020000310000000202200367000000000300001900000005043002100000000005410019000000000442034f000000000404043b00000000004504350000000103300039000000020430008c00000b150000413d0000000002070433000000000220004c00000b270000613d00000000020104330000047b022001970000047c022001c700000000002104350000000002070433000000020220008c00000b2d0000813d000004460100004100000000001004350000003201000039000000040010043f00000447010000410000110300010430000000210270003900000000030204330000047b033001970000047d033001c700000000003204350000002902000039000000020500002900000000030500190000000004070433000000000424004b00000b270000a13d0000000f0430018f0000000304400210000000f80440015f0000047e05000041000000000445022f000000000512001900000000060504330000047b06600197000000f804400210000000000446019f00000000004504350000000405300270000000010220008a000000010420008c00000b340000213d000000100130008c00000000010000190000000101004039000300000007001d110110e30000040f0000000101000029110109d20000040f000000400400043d000400000004001d00000020024000390000047f030000410000000000320435000200000001001d00000037024000390000000301000029110104940000040f0000048002000041000000000021043500000011021000390000000201000029110104940000040f00000004030000290000000002310049000000200120008a00000000001304350000000001030019110104bd0000040f0000047201000041000000400200043d000300000002001d000000000012043500000004012000390000000402000029110104a50000040f000000030400002900000000014100490000044202000041000004420310009c0000000001028019000004420340009c000000000204401900000040022002100000006001100210000000000121019f000011030001043000000444022001970000000000200435000000200010043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f000000010220019000000b830000613d000000000101043b000000000001042d000000000100001900001103000104300000000000100435000000200000043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f000000010220019000000b930000613d000000000101043b000000000001042d000000000100001900001103000104300001000000000002000100000001001d00000463010000410000000000100435000000200000043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f000000010220019000000bd00000613d000000000101043b000000000200041100000444022001970000000000200435000000200010043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f000000010220019000000bd00000613d000000000101043b000000000101041a000000ff0110019000000bd20000613d0000000102000029000000000120004c00000be70000613d0000000101000039000000000021041b000000400100043d000000000021043500000442020000410000000003000414000004420430009c0000000003028019000004420410009c00000000010280190000004001100210000000c002300210000000000112019f0000046f011001c70000800d02000039000000020300003900000470040000410000000005000410110110f70000040f000000010120019000000bd00000613d000000000001042d00000000010000190000110300010430000000400100043d000000640210003900000474030000410000000000320435000000440210003900000475030000410000000000320435000000240210003900000028030000390000000000320435000004720200004100000000002104350000000402100039000000200300003900000000003204350000044202000041000004420310009c0000000001028019000000400110021000000476011001c70000110300010430000000400100043d000000440210003900000471030000410000000000320435000000240210003900000014030000390000000000320435000004720200004100000000002104350000000402100039000000200300003900000000003204350000044202000041000004420310009c0000000001028019000000400110021000000473011001c700001103000104300002000000000002000200000002001d000100000001001d00000463010000410000000000100435000000200000043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f000000010220019000000c900000613d000000000101043b000000000200041100000444022001970000000000200435000000200010043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f000000010220019000000c900000613d000000400300043d000000000101043b000000000101041a000000ff0110019000000c980000613d000000200130003900000491020000410000000000210435000000020200002900000444022001970000002404300039000000000024043500000044020000390000000000230435000000440230003900000000000204350000048f0230009c00000c920000813d0000008002300039000000400020043f000000000400041400000001020000290000044402200197000000040520008c00000c340000c13d0000000103000031000000000200001900000c480000013d0000044205000041000004420610009c000000000105801900000040011002100000000003030433000004420630009c00000000030580190000006003300210000000000113019f000004420340009c00000000030500190000000003044019000000c003300210000000000131019f110110f70000040f000000010220015f00030000000103550000006001100270000104420010019d00000442031001970000006001000039000000000430004c00000c760000613d0000003f01300039000000200400008a000000000441016f000000400100043d0000000004410019000000000514004b000000000500001900000001050040390000046e0640009c00000c920000213d000000010550019000000c920000c13d000000400040043f0000000003310436000000030400036700000001060000310000001f0560018f000000050660027200000c670000613d000000000700001900000005087002100000000009830019000000000884034f000000000808043b00000000008904350000000107700039000000000867004b00000c5f0000413d000000000750004c00000c760000613d0000000506600210000000000464034f00000000036300190000000305500210000000000603043300000000065601cf000000000656022f000000000404043b0000010005500089000000000454022f00000000045401cf000000000464019f0000000000430435000000010220019000000cac0000c13d0000000012010434000000000320004c00000c8f0000613d0000044303000041000000200420008c000000000400001900000000040340190000044302200197000000000520004c000000000300a019000004430220009c00000000020400190000000002036019000000000220004c00000c900000c13d0000000001010433000000000210004c0000000002000019000000010200c039000000000221004b00000c900000c13d000000000110004c00000cbd0000613d000000000001042d00000000010000190000110300010430000004460100004100000000001004350000004101000039000000040010043f00000447010000410000110300010430000000640130003900000474020000410000000000210435000000440130003900000475020000410000000000210435000000240130003900000028020000390000000000210435000004720100004100000000001304350000000401300039000000200200003900000000002104350000044201000041000004420230009c0000000001034019000000400110021000000476011001c70000110300010430000000400100043d00000044021000390000048c03000041000000000032043500000472020000410000000000210435000000240210003900000020030000390000000000320435000000040210003900000000003204350000044202000041000004420310009c0000000001028019000000400110021000000473011001c70000110300010430000000400100043d00000064021000390000048a03000041000000000032043500000044021000390000048b03000041000000000032043500000024021000390000002a030000390000000000320435000004720200004100000000002104350000000402100039000000200300003900000000003204350000044202000041000004420310009c0000000001028019000000400110021000000476011001c700001103000104300003000000000002000300000002001d000200000001001d00000463010000410000000000100435000000200000043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f000000010220019000000d800000613d000000000101043b00000000020004110000044402200197000100000002001d0000000000200435000000200010043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f000000010220019000000d800000613d000000000101043b000000000101041a000000ff0110019000000d880000613d0000000303000029000000000130004c00000d9d0000613d000000400100043d0000004402100039000000000032043500000020031000390000048802000041000000000023043500000024021000390000000104000029000000000042043500000044020000390000000000210435000000020200002900000444022001970000048f0410009c00000d820000813d0000008004100039000000400040043f0000000004000414000000040520008c00000d100000c13d0000000103000031000000000200001900000d240000013d0000044205000041000004420630009c000000000305801900000040033002100000000001010433000004420610009c00000000010580190000006001100210000000000131019f000004420340009c00000000030500190000000003044019000000c003300210000000000131019f110110f70000040f000000010220015f00030000000103550000006001100270000104420010019d00000442031001970000006001000039000000000430004c00000d520000613d0000003f01300039000000200400008a000000000441016f000000400100043d0000000004410019000000000514004b000000000500001900000001050040390000046e0640009c00000d820000213d000000010550019000000d820000c13d000000400040043f0000000003310436000000030400036700000001060000310000001f0560018f000000050660027200000d430000613d000000000700001900000005087002100000000009830019000000000884034f000000000808043b00000000008904350000000107700039000000000867004b00000d3b0000413d000000000750004c00000d520000613d0000000506600210000000000464034f00000000036300190000000305500210000000000603043300000000065601cf000000000656022f000000000404043b0000010005500089000000000454022f00000000045401cf000000000464019f0000000000430435000000010220019000000daf0000c13d0000000012010434000000000320004c00000d6b0000613d0000044303000041000000200420008c000000000400001900000000040340190000044302200197000000000520004c000000000300a019000004430220009c00000000020400190000000002036019000000000220004c00000d800000c13d0000000001010433000000000210004c0000000002000019000000010200c039000000000221004b00000d800000c13d000000000110004c00000dc00000613d000000400100043d0000000302000029000000000021043500000442020000410000000003000414000004420430009c0000000003028019000004420410009c00000000010280190000004001100210000000c002300210000000000112019f0000046f011001c70000800d02000039000000020300003900000492040000410000000205000029110110f70000040f000000010120019000000d800000613d000000000001042d00000000010000190000110300010430000004460100004100000000001004350000004101000039000000040010043f00000447010000410000110300010430000000400100043d000000640210003900000474030000410000000000320435000000440210003900000475030000410000000000320435000000240210003900000028030000390000000000320435000004720200004100000000002104350000000402100039000000200300003900000000003204350000044202000041000004420310009c0000000001028019000000400110021000000476011001c70000110300010430000000400100043d00000044021000390000049303000041000000000032043500000024021000390000001e030000390000000000320435000004720200004100000000002104350000000402100039000000200300003900000000003204350000044202000041000004420310009c0000000001028019000000400110021000000473011001c70000110300010430000000400100043d00000044021000390000048c03000041000000000032043500000472020000410000000000210435000000240210003900000020030000390000000000320435000000040210003900000000003204350000044202000041000004420310009c0000000001028019000000400110021000000473011001c70000110300010430000000400100043d00000064021000390000048a03000041000000000032043500000044021000390000048b03000041000000000032043500000024021000390000002a030000390000000000320435000004720200004100000000002104350000000402100039000000200300003900000000003204350000044202000041000004420310009c0000000001028019000000400110021000000476011001c700001103000104300002000000000002000200000001001d00000463010000410000000000100435000000200000043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f000000010220019000000e590000613d000000000101043b0000000002000411000100000002001d00000444022001970000000000200435000000200010043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f000000010220019000000e590000613d000000000101043b000000000101041a000000ff0110019000000e5b0000613d0000000209000029000000000190004c000000010400002900000e700000613d0000000001000414000000040240008c00000e020000c13d0000000102000039000000010100003100000e160000013d0000044202000041000000400300043d000004420530009c0000000003028019000004420510009c0000000001028019000000c0011002100000004002300210000000000112019f0000046c011001c7000080090200003900000000030900190000000005000019110110f70000040f0000000209000029000000010220018f00030000000103550000006001100270000104420010019d0000044201100197000000000310004c00000e430000613d0000003f03100039000000200400008a000000000443016f000000400300043d0000000004430019000000000534004b000000000500001900000001050040390000046e0640009c00000e930000213d000000010550019000000e930000c13d000000400040043f0000000001130436000000030300036700000001050000310000001f0450018f000000050550027200000e340000613d000000000600001900000005076002100000000008710019000000000773034f000000000707043b00000000007804350000000106600039000000000756004b00000e2c0000413d000000000640004c00000e430000613d0000000505500210000000000353034f00000000015100190000000304400210000000000501043300000000054501cf000000000545022f000000000303043b0000010004400089000000000343022f00000000034301cf000000000353019f0000000000310435000000400100043d000000000220004c00000e820000613d000000000091043500000442020000410000000003000414000004420430009c0000000003028019000004420410009c00000000010280190000004001100210000000c002300210000000000112019f0000046f011001c70000800d02000039000000020300003900000492040000410000000005000019110110f70000040f000000010120019000000e590000613d000000000001042d00000000010000190000110300010430000000400100043d000000640210003900000474030000410000000000320435000000440210003900000475030000410000000000320435000000240210003900000028030000390000000000320435000004720200004100000000002104350000000402100039000000200300003900000000003204350000044202000041000004420310009c0000000001028019000000400110021000000476011001c70000110300010430000000400100043d00000044021000390000049303000041000000000032043500000024021000390000001e030000390000000000320435000004720200004100000000002104350000000402100039000000200300003900000000003204350000044202000041000004420310009c0000000001028019000000400110021000000473011001c70000110300010430000000440210003900000494030000410000000000320435000000240210003900000010030000390000000000320435000004720200004100000000002104350000000402100039000000200300003900000000003204350000044202000041000004420310009c0000000001028019000000400110021000000473011001c70000110300010430000004460100004100000000001004350000004101000039000000040010043f000004470100004100001103000104300004000000000002000300000002001d000400000001001d0000000000100435000000200000043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f000000010220019000000f230000613d000000000101043b0000000101100039000000000101041a000100000001001d0000000000100435000000200000043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f000000010220019000000f230000613d000000000101043b0000000002000411000200000002001d00000444022001970000000000200435000000200010043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f000000010220019000000f230000613d000000000101043b000000000101041a000000ff0110019000000f250000613d00000004010000290000000000100435000000200000043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f000000010220019000000f230000613d000000000101043b00000003020000290000044402200197000100000002001d0000000000200435000000200010043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f000000010220019000000f230000613d000000000101043b000000000101041a000000ff0110019000000f220000c13d00000004010000290000000000100435000000200000043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f000000010220019000000f230000613d000000000101043b00000001020000290000000000200435000000200010043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f000000010220019000000f230000613d000000000101043b000000000201041a000001000300008a000000000232016f00000001022001bf000000000021041b000000400100043d00000442020000410000000003000414000004420430009c0000000003028019000004420410009c00000000010280190000004001100210000000c002300210000000000112019f0000046c011001c70000800d0200003900000004030000390000046d04000041000000040500002900000003060000290000000207000029110110f70000040f000000010120019000000f230000613d000000000001042d00000000010000190000110300010430000000400100043d00000000070100190000047a0110009c00000f2f0000413d000004460100004100000000001004350000004101000039000000040010043f0000044701000041000011030001043000000000020700190000006001200039000000400010043f0000002a01000039000000000112043600000000020000310000000202200367000000000300001900000005043002100000000005410019000000000442034f000000000404043b00000000004504350000000103300039000000020430008c00000f370000413d0000000002070433000000000220004c00000f490000613d00000000020104330000047b022001970000047c022001c700000000002104350000000002070433000000020220008c00000f4f0000813d000004460100004100000000001004350000003201000039000000040010043f00000447010000410000110300010430000000210270003900000000030204330000047b033001970000047d033001c700000000003204350000002902000039000000020500002900000000030500190000000004070433000000000424004b00000f490000a13d0000000f0430018f0000000304400210000000f80440015f0000047e05000041000000000445022f000000000512001900000000060504330000047b06600197000000f804400210000000000446019f00000000004504350000000405300270000000010220008a000000010420008c00000f560000213d000000100130008c00000000010000190000000101004039000300000007001d110110e30000040f0000000101000029110109d20000040f000000400400043d000400000004001d00000020024000390000047f030000410000000000320435000200000001001d00000037024000390000000301000029110104940000040f0000048002000041000000000021043500000011021000390000000201000029110104940000040f00000004030000290000000002310049000000200120008a00000000001304350000000001030019110104bd0000040f0000047201000041000000400200043d000300000002001d000000000012043500000004012000390000000402000029110104a50000040f000000030400002900000000014100490000044202000041000004420310009c0000000001028019000004420340009c000000000204401900000040022002100000006001100210000000000121019f00001103000104300004000000000002000300000002001d000400000001001d0000000000100435000000200000043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f00000001022001900000101f0000613d000000000101043b0000000101100039000000000101041a000100000001001d0000000000100435000000200000043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f00000001022001900000101f0000613d000000000101043b0000000002000411000200000002001d00000444022001970000000000200435000000200010043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f00000001022001900000101f0000613d000000000101043b000000000101041a000000ff01100190000010210000613d00000004010000290000000000100435000000200000043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f00000001022001900000101f0000613d000000000101043b00000003020000290000044402200197000100000002001d0000000000200435000000200010043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f00000001022001900000101f0000613d000000000101043b000000000101041a000000ff011001900000101e0000613d00000004010000290000000000100435000000200000043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f00000001022001900000101f0000613d000000000101043b00000001020000290000000000200435000000200010043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f00000001022001900000101f0000613d000000000101043b000000000201041a000001000300008a000000000232016f000000000021041b000000400100043d00000442020000410000000003000414000004420430009c0000000003028019000004420410009c00000000010280190000004001100210000000c002300210000000000112019f0000046c011001c70000800d0200003900000004030000390000048104000041000000040500002900000003060000290000000207000029110110f70000040f00000001012001900000101f0000613d000000000001042d00000000010000190000110300010430000000400100043d00000000070100190000047a0110009c0000102b0000413d000004460100004100000000001004350000004101000039000000040010043f0000044701000041000011030001043000000000020700190000006001200039000000400010043f0000002a01000039000000000112043600000000020000310000000202200367000000000300001900000005043002100000000005410019000000000442034f000000000404043b00000000004504350000000103300039000000020430008c000010330000413d0000000002070433000000000220004c000010450000613d00000000020104330000047b022001970000047c022001c700000000002104350000000002070433000000020220008c0000104b0000813d000004460100004100000000001004350000003201000039000000040010043f00000447010000410000110300010430000000210270003900000000030204330000047b033001970000047d033001c700000000003204350000002902000039000000020500002900000000030500190000000004070433000000000424004b000010450000a13d0000000f0430018f0000000304400210000000f80440015f0000047e05000041000000000445022f000000000512001900000000060504330000047b06600197000000f804400210000000000446019f00000000004504350000000405300270000000010220008a000000010420008c000010520000213d000000100130008c00000000010000190000000101004039000300000007001d110110e30000040f0000000101000029110109d20000040f000000400400043d000400000004001d00000020024000390000047f030000410000000000320435000200000001001d00000037024000390000000301000029110104940000040f0000048002000041000000000021043500000011021000390000000201000029110104940000040f00000004030000290000000002310049000000200120008a00000000001304350000000001030019110104bd0000040f0000047201000041000000400200043d000300000002001d000000000012043500000004012000390000000402000029110104a50000040f000000030400002900000000014100490000044202000041000004420310009c0000000001028019000004420340009c000000000204401900000040022002100000006001100210000000000121019f000011030001043000030000000000020000000202000039000000000102041a000000010310019000000001041002700000007f0540018f000000000604001900000000060560190000001f0460008c00000000040000190000000104002039000000010440018f000000000443004b000010d50000c13d000000400500043d0000000004650436000000000330004c000010a90000c13d000001000200008a000000000121016f00000000001404350000004002000039000010ca0000013d000100000004001d000200000006001d000300000005001d000000000020043500000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046f011001c70000801002000039110110fc0000040f0000000102200190000010e10000613d00000020020000390000000206000029000000000360004c0000000305000029000010ca0000613d000000000101043b0000000003000019000000010700002900000000020300190000000003720019000000000401041a000000000043043500000001011000390000002003200039000000000463004b000010bf0000413d0000005f01200039000000200200008a000000000221016f0000000001520019000000000221004b000000000200001900000001020040390000046e0310009c000010db0000213d0000000102200190000010db0000c13d000000400010043f0000000001050019000000000001042d000004460100004100000000001004350000002201000039000000040010043f00000447010000410000110300010430000004460100004100000000001004350000004101000039000000040010043f0000044701000041000011030001043000000000010000190000110300010430000000000110004c000010e60000613d000000000001042d000000400100043d00000044021000390000049003000041000000000032043500000472020000410000000000210435000000240210003900000020030000390000000000320435000000040210003900000000003204350000044202000041000004420310009c0000000001028019000000400110021000000473011001c70000110300010430000010fa002104210000000102000039000000000001042d0000000002000019000000000001042d000010ff002104230000000102000039000000000001042d0000000002000019000000000001042d0000110100000432000011020001042e0000110300010430000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffffffffffff00000002000000000000000000000000000000800000010000000000000000004e487b71000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024000000000000000000000000000000000000000000000000000000000000000000000000000000008980f11e00000000000000000000000000000000000000000000000000000000d8baf7ce00000000000000000000000000000000000000000000000000000000ef99893900000000000000000000000000000000000000000000000000000000ef99893a00000000000000000000000000000000000000000000000000000000f2fde38b00000000000000000000000000000000000000000000000000000000f874225400000000000000000000000000000000000000000000000000000000d8baf7cf00000000000000000000000000000000000000000000000000000000eab90da60000000000000000000000000000000000000000000000000000000091d148530000000000000000000000000000000000000000000000000000000091d1485400000000000000000000000000000000000000000000000000000000a217fddf00000000000000000000000000000000000000000000000000000000d547741f000000000000000000000000000000000000000000000000000000008980f11f000000000000000000000000000000000000000000000000000000008bb9c5bf000000000000000000000000000000000000000000000000000000004ebb7915000000000000000000000000000000000000000000000000000000006b453c1e000000000000000000000000000000000000000000000000000000006b453c1f000000000000000000000000000000000000000000000000000000007ae267730000000000000000000000000000000000000000000000000000000084a33e63000000000000000000000000000000000000000000000000000000004ebb79160000000000000000000000000000000000000000000000000000000069cff80d00000000000000000000000000000000000000000000000000000000248a9ca200000000000000000000000000000000000000000000000000000000248a9ca3000000000000000000000000000000000000000000000000000000002f2ff15d0000000000000000000000000000000000000000000000000000000036568abe0000000000000000000000000000000000000000000000000000000001ffc9a70000000000000000000000000000000000000000000000000000000006fdde03339759585899103d2ace64958e37e18ccb0504652c81d4a1b8aa80fe2126ab950000000000000000000000000000000000000020000000000000000000000000ffffffff0000000000000000000000000000000000000000000000000000000001ffc9a7000000000000000000000000000000000000000000000000000000007965db0b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000800000000000000000000000000000000000000000000000000000000000000000ffffffffffffffc05741766178416461707465720000000000000000000000000000000000000000020000000000000000000000000000000000004000000000000000000000000002000000000000000000000000000000000000000000000000000000000000002f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d000000000000000000000000000000000000000000000000ffffffffffffffff0200000000000000000000000000000000000020000000000000000000000000f43f23b7a28e6f8ce6843a21bd7b48bce778aa913b8c8cf459edf7d770e8d38a496e76616c6964206761732d657374696d61746500000000000000000000000008c379a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000064000000000000000000000000696e7461696e65720000000000000000000000000000000000000000000000004d61696e7461696e61626c653a2043616c6c6572206973206e6f742061206d610000000000000000000000000000000000000084000000000000000000000000496e76616c69642061646170746572206e616d65000000000000000000000000310ab089e4439a4c15d089f94afb7896ff553aecb10793d0ab882de59d99a32e0200000200000000000000000000000000000044000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffa000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff300000000000000000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000000000000000003031323334353637383961626364656600000000000000000000000000000000416363657373436f6e74726f6c3a206163636f756e7420000000000000000000206973206d697373696e6720726f6c6520000000000000000000000000000000f6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b000000000000000000000001000000000000000000000000000000000000000020726f6c657320666f722073656c660000000000000000000000000000000000416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e63651806aa1896bbf26568e884a7374b41e002500962caba6a15023a8d90e8508b83020000020000000000000000000000000000002400000000000000000000000070a0823100000000000000000000000000000000000000000000000000000000a9059cbb00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffff7f6f742073756363656564000000000000000000000000000000000000000000005361666545524332303a204552433230206f7065726174696f6e20646964206e5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564e2bdbc6b7225eb0a972ac943c485a6cc05f7c6811838bce8903f23200fb744fa496e73756666696369656e7420616d6f756e742d6f7574000000000000000000000000000000000000000000000000000000000000000000ffffffffffffff80537472696e67733a20686578206c656e67746820696e73756666696369656e74095ea7b3000000000000000000000000000000000000000000000000000000008c1256b8896378cd5044f80c202f9772b9d77dc85c8a6eb51967210b09bfaa2859616b416461707465723a204e6f7468696e6720746f207265636f76657200005472616e73666572206661696c65642e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007a83d6c30a1ce2203255e75a725f3057f02b9dc979f00fe31364174597a15951", + "devdoc": { + "kind": "dev", + "methods": { + "getRoleAdmin(bytes32)": { + "details": "Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}." + }, + "grantRole(bytes32,address)": { + "details": "Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event." + }, + "hasRole(bytes32,address)": { + "details": "Returns `true` if `account` has been granted `role`." + }, + "renounceRole(bytes32,address)": { + "details": "Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event." + }, + "revokeRole(bytes32,address)": { + "details": "Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event." + }, + "supportsInterface(bytes4)": { + "details": "See {IERC165-supportsInterface}." + } + }, + "version": 1 + }, + "userdoc": { + "kind": "user", + "methods": {}, + "version": 1 + }, + "storageLayout": { + "storage": [ + { + "astId": 24, + "contract": "src/contracts/adapters/WNativeAdapter.sol:WNativeAdapter", + "label": "_roles", + "offset": 0, + "slot": "0", + "type": "t_mapping(t_bytes32,t_struct(RoleData)19_storage)" + }, + { + "astId": 718, + "contract": "src/contracts/adapters/WNativeAdapter.sol:WNativeAdapter", + "label": "swapGasEstimate", + "offset": 0, + "slot": "1", + "type": "t_uint256" + }, + { + "astId": 720, + "contract": "src/contracts/adapters/WNativeAdapter.sol:WNativeAdapter", + "label": "name", + "offset": 0, + "slot": "2", + "type": "t_string_storage" + } + ], + "types": { + "t_address": { + "encoding": "inplace", + "label": "address", + "numberOfBytes": "20" + }, + "t_bool": { + "encoding": "inplace", + "label": "bool", + "numberOfBytes": "1" + }, + "t_bytes32": { + "encoding": "inplace", + "label": "bytes32", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_bool)": { + "encoding": "mapping", + "key": "t_address", + "label": "mapping(address => bool)", + "numberOfBytes": "32", + "value": "t_bool" + }, + "t_mapping(t_bytes32,t_struct(RoleData)19_storage)": { + "encoding": "mapping", + "key": "t_bytes32", + "label": "mapping(bytes32 => struct AccessControl.RoleData)", + "numberOfBytes": "32", + "value": "t_struct(RoleData)19_storage" + }, + "t_string_storage": { + "encoding": "bytes", + "label": "string", + "numberOfBytes": "32" + }, + "t_struct(RoleData)19_storage": { + "encoding": "inplace", + "label": "struct AccessControl.RoleData", + "members": [ + { + "astId": 16, + "contract": "src/contracts/adapters/WNativeAdapter.sol:WNativeAdapter", + "label": "members", + "offset": 0, + "slot": "0", + "type": "t_mapping(t_address,t_bool)" + }, + { + "astId": 18, + "contract": "src/contracts/adapters/WNativeAdapter.sol:WNativeAdapter", + "label": "adminRole", + "offset": 0, + "slot": "1", + "type": "t_bytes32" + } + ], + "numberOfBytes": "64" + }, + "t_uint256": { + "encoding": "inplace", + "label": "uint256", + "numberOfBytes": "32" + } + } + }, + "factoryDeps": [ + "0x0004000000000002000100000000000200000000030100190000006003300270000004420430019700030000004103550002000000010355000004420030019d000100000000001f00000001012001900000002b0000c13d0000008001000039000000400010043f0000000001000031000000040210008c0000003c0000413d0000000201000367000000000101043b000000e001100270000004480210009c000000400000213d000004560210009c000000840000213d0000045d0210009c000000d40000a13d0000045e0210009c000001470000613d0000045f0210009c000001640000613d000004600110009c000000820000c13d0000000001000416000000000110004c000000820000c13d00000000010000311101042b0000040f1101076e0000040f0000044201000041000000400200043d000004420320009c00000000010240190000004001100210000011020001042e000000a001000039000000400010043f0000000001000416000000000110004c000000820000c13d0000000001000031000000bf02100039000000200300008a000000000232016f0000009f0320008c000000560000213d000004460100004100000000001004350000004101000039000000040010043f00000447010000410000110300010430000000000110004c000000820000c13d0000000001000019000011020001042e000004490210009c000000a70000213d000004500210009c000000f90000a13d000004510210009c000001700000613d000004520210009c000001850000613d000004530110009c000000820000c13d0000000001000416000000000110004c000000820000c13d00000000010000311101042b0000040f11010f960000040f0000044201000041000000400200043d000004420320009c00000000010240190000004001100210000011020001042e000000400020043f0000001f0210018f00000002030003670000000504100272000000640000613d00000000050000190000000506500210000000000763034f000000000707043b000000a00660003900000000007604350000000105500039000000000645004b0000005c0000413d000000000520004c000000730000613d0000000504400210000000000343034f0000000302200210000000a004400039000000000504043300000000052501cf000000000525022f000000000303043b0000010002200089000000000323022f00000000022301cf000000000252019f00000000002404350000044302000041000000400310008c000000000300001900000000030240190000044301100197000000000410004c000000000200a019000004430110009c00000000010300190000000001026019000000000110004c000000820000c13d000000a00100043d000004440210009c000000c90000a13d00000000010000190000110300010430000004570210009c000001180000a13d000004580210009c0000019e0000613d000004590210009c000001aa0000613d0000045a0110009c000000820000c13d0000000001000416000000000110004c000000820000c13d000000040100008a00000000011000310000044302000041000000200310008c000000000300001900000000030240190000044301100197000000000410004c000000000200a019000004430110009c00000000010300190000000001026019000000000110004c000000820000c13d00000004010000390000000201100367000000000101043b11010b950000040f0000044201000041000000400200043d000004420320009c00000000010240190000004001100210000011020001042e0000044a0210009c000001370000a13d0000044b0210009c000001b60000613d0000044c0210009c000001c40000613d0000044d0110009c000000820000c13d0000000001000416000000000110004c000000820000c13d000000040100008a00000000011000310000044302000041000000000310004c000000000300001900000000030240190000044301100197000000000410004c000000000200a019000004430110009c00000000010300190000000001026019000000000110004c000000820000c13d000000400100043d000004630200004100000000002104350000044202000041000004420310009c0000000001028019000000400110021000000464011001c7000011020001042e000000c00200043d110102140000040f000000800100043d0000014000000443000001600010044300000020010000390000010000100443000000010100003900000120001004430000044501000041000011020001042e000004610210009c000001d00000613d000004620110009c000000820000c13d0000000001000416000000000110004c000000820000c13d000000040100008a00000000011000310000044302000041000000000310004c000000000300001900000000030240190000044301100197000000000410004c000000000200a019000004430110009c00000000010300190000000001026019000000000110004c000000820000c13d110110920000040f0000000002010019000000400100043d000100000001001d110104a50000040f000000010400002900000000014100490000044202000041000004420310009c0000000001028019000004420340009c000000000204401900000040022002100000006001100210000000000121019f000011020001042e000004540210009c000001e10000613d000004550110009c000000820000c13d0000000001000416000000000110004c000000820000c13d000000040100008a00000000011000310000044302000041000000200310008c000000000300001900000000030240190000044301100197000000000410004c000000000200a019000004430110009c00000000010300190000000001026019000000000110004c000000820000c13d00000004010000390000000201100367000000000101043b110106fc0000040f0000044201000041000000400200043d000004420320009c00000000010240190000004001100210000011020001042e0000045b0210009c000001ed0000613d0000045c0110009c000000820000c13d0000000001000416000000000110004c000000820000c13d000000040100008a00000000011000310000044302000041000000000310004c000000000300001900000000030240190000044301100197000000000410004c000000000200a019000004430110009c00000000010300190000000001026019000000000110004c000000820000c13d0000000101000039000000000101041a000000400200043d00000000001204350000044201000041000004420320009c0000000001024019000000400110021000000464011001c7000011020001042e0000044e0210009c000002080000613d0000044f0110009c000000820000c13d0000000001000416000000000110004c000000820000c13d0000000001000031110104730000040f110107e00000040f0000044201000041000000400200043d000004420320009c00000000010240190000004001100210000011020001042e0000000001000416000000000110004c000000820000c13d000000040100008a00000000011000310000044302000041000000200310008c000000000300001900000000030240190000044301100197000000000410004c000000000200a019000004430110009c00000000010300190000000001026019000000000110004c000000820000c13d00000004010000390000000201100367000000000101043b110105ee0000040f000000400200043d00000000001204350000044201000041000004420320009c0000000001024019000000400110021000000464011001c7000011020001042e0000000001000416000000000110004c000000820000c13d00000000010000311101042b0000040f11010e990000040f0000044201000041000000400200043d000004420320009c00000000010240190000004001100210000011020001042e0000000001000416000000000110004c000000820000c13d00000000010000311101042b0000040f000100000002001d11010b850000040f000000010200002911010b740000040f000000000101041a000000ff011001900000000001000019000000010100c039000000400200043d00000000001204350000044201000041000004420320009c0000000001024019000000400110021000000464011001c7000011020001042e0000000001000416000000000110004c000000820000c13d000000040100008a00000000011000310000044302000041000000000310004c000000000300001900000000030240190000044301100197000000000410004c000000000200a019000004430110009c00000000010300190000000001026019000000000110004c000000820000c13d000000400100043d00000000000104350000044202000041000004420310009c0000000001028019000000400110021000000464011001c7000011020001042e0000000001000416000000000110004c000000820000c13d0000000001000031110103e60000040f110104f10000040f0000044201000041000000400200043d000004420320009c00000000010240190000004001100210000011020001042e0000000001000416000000000110004c000000820000c13d0000000001000031110103fb0000040f11010bf90000040f0000044201000041000000400200043d000004420320009c00000000010240190000004001100210000011020001042e0000000001000416000000000110004c000000820000c13d0000000001000031110104580000040f110104d00000040f000000400200043d00000000001204350000044201000041000004420320009c0000000001024019000000400110021000000464011001c7000011020001042e0000000001000416000000000110004c000000820000c13d0000000001000031110103e60000040f11010a280000040f0000044201000041000000400200043d000004420320009c00000000010240190000004001100210000011020001042e0000000001000416000000000110004c000000820000c13d0000000001000031110104420000040f0000046501100197000004660210009c00000000020000190000000102006039000004670110009c00000000010000190000000101006039000000000121019f000000010110018f000000800010043f0000046801000041000011020001042e0000000001000416000000000110004c000000820000c13d0000000001000031110104140000040f11010cd20000040f0000044201000041000000400200043d000004420320009c00000000010240190000004001100210000011020001042e0000000001000416000000000110004c000000820000c13d000000040100008a00000000011000310000044302000041000000200310008c000000000300001900000000030240190000044301100197000000000410004c000000000200a019000004430110009c00000000010300190000000001026019000000000110004c000000820000c13d00000004010000390000000201100367000000000101043b11010dd50000040f0000044201000041000000400200043d000004420320009c00000000010240190000004001100210000011020001042e0000000001000416000000000110004c000000820000c13d0000000001000031110103e60000040f110106000000040f0000044201000041000000400200043d000004420320009c00000000010240190000004001100210000011020001042e0008000000000002000700000002001d000500000001001d000000400200043d000004690120009c000003a10000813d0000004001200039000000400010043f0000000c01000039000600000002001d00000000021204360000046a01000041000300000002001d00000000001204350000000000000435000000200000043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f00000001022001900000039f0000613d000000000101043b0000000002000411000400000002001d0000044402200197000800000002001d0000000000200435000000200010043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f00000001022001900000039f0000613d000000000101043b000000000101041a000000ff01100190000002770000c13d0000000000000435000000200000043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f00000001022001900000039f0000613d000000000101043b00000008020000290000000000200435000000200010043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f00000001022001900000039f0000613d000000000101043b000000000201041a000001000300008a000000000232016f00000001022001bf000000000021041b000000400100043d00000442020000410000000003000414000004420430009c0000000003028019000004420410009c00000000010280190000004001100210000000c002300210000000000112019f0000046c011001c70000800d0200003900000004030000390000046d04000041000000000500001900000004060000290000000007060019110110f70000040f00000001012001900000039f0000613d00000463010000410000000000100435000000200000043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f00000001022001900000039f0000613d000000000101043b00000008020000290000000000200435000000200010043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f00000001022001900000039f0000613d000000000101043b000000000101041a000000ff01100190000002cb0000c13d00000463010000410000000000100435000000200000043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f00000001022001900000039f0000613d000000000101043b00000008020000290000000000200435000000200010043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f00000001022001900000039f0000613d000000000101043b000000000201041a000001000300008a000000000232016f00000001022001bf000000000021041b000000400100043d00000442020000410000000003000414000004420430009c0000000003028019000004420410009c00000000010280190000004001100210000000c002300210000000000112019f0000046c011001c70000800d0200003900000004030000390000046d04000041000004630500004100000004060000290000000007060019110110f70000040f00000001012001900000039f0000613d00000006060000290000000008060433000000000180004c000003bc0000613d0000046e0180009c000003a10000213d0000000207000039000000000107041a000000010210019000000001011002700000007f0310018f000000000401001900000000040360190000001f0140008c00000000010000190000000101002039000000010110018f000000000112004b000003ce0000c13d000000000184019f000000200110008c0000000001000019000002f50000413d000100000004001d000200000008001d000400000007001d000000000070043500000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046f011001c70000801002000039110110fc0000040f00000001022001900000039f0000613d000000000101043b0000000606000029000000040700002900000002080000290000000104000029000000200240008c000003060000413d0000001f028000390000000502200270000000200380008c000000000302001900000000030040190000001f02400039000000050220027000000000022100190000000003310019000000000423004b000003060000813d000000000003041b0000000103300039000000000423004b000003020000413d0000001f0280008c000003240000a13d000000200200008a00000000032801700000002002000039000003160000613d0000002002000039000000000400001900000000056200190000000005050433000000000051041b000000200220003900000001011000390000002004400039000000000534004b0000030e0000413d000000000383004b000003210000813d0000000303800210000000f80330018f000000010400008a000000000334022f000000000343013f00000000026200190000000002020433000000000232016f000000000021041b000000010100003900000001028002100000032c0000013d0000000301800210000000010200008a000000000112022f000000000121013f00000003020000290000000002020433000000000212016f0000000101800210000000000112019f000000000017041b00000463010000410000000000100435000000200000043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f00000001022001900000039f0000613d000000000101043b00000008020000290000000000200435000000200010043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f00000001022001900000039f0000613d000000000101043b000000000101041a000000ff01100190000003a70000613d0000000702000029000000000120004c000003d40000613d0000000101000039000400000001001d000000000021041b000000400100043d000000000021043500000442020000410000000003000414000004420430009c0000000003028019000004420410009c00000000010280190000004001100210000000c002300210000000000112019f0000046f011001c70000800d02000039000000020300003900000470040000410000000005000410000600000005001d110110f70000040f00000001012001900000039f0000613d0000000501000029000000800010043f00000463010000410000000000100435000000200000043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f00000001022001900000039f0000613d000000000101043b00000008020000290000000000200435000000200010043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f00000001022001900000039f0000613d000000000101043b000000000101041a000000ff01100190000003a70000613d00000007020000290000000401000029000000000021041b000000400100043d000000000021043500000442020000410000000003000414000004420430009c0000000003028019000004420410009c00000000010280190000004001100210000000c002300210000000000112019f0000046f011001c70000800d02000039000000020300003900000470040000410000000605000029110110f70000040f00000001012001900000039f0000613d000000000001042d00000000010000190000110300010430000004460100004100000000001004350000004101000039000000040010043f00000447010000410000110300010430000000400100043d000000640210003900000474030000410000000000320435000000440210003900000475030000410000000000320435000000240210003900000028030000390000000000320435000004720200004100000000002104350000000402100039000000200300003900000000003204350000044202000041000004420310009c0000000001028019000000400110021000000476011001c70000110300010430000000400100043d000000440210003900000477030000410000000000320435000000240210003900000014030000390000000000320435000004720200004100000000002104350000000402100039000000200300003900000000003204350000044202000041000004420310009c0000000001028019000000400110021000000473011001c70000110300010430000004460100004100000000001004350000002201000039000000040010043f00000447010000410000110300010430000000400100043d000000440210003900000471030000410000000000320435000000240210003900000014030000390000000000320435000004720200004100000000002104350000000402100039000000200300003900000000003204350000044202000041000004420310009c0000000001028019000000400110021000000473011001c70000110300010430000000040110008a00000443020000410000001f0310008c000000000300001900000000030220190000044301100197000000000410004c0000000002008019000004430110009c00000000010300190000000001026019000000000110004c000003f90000613d00000004010000390000000201100367000000000101043b000004440210009c000003f90000213d000000000001042d00000000010000190000110300010430000000040110008a00000443020000410000003f0310008c000000000300001900000000030220190000044301100197000000000410004c0000000002008019000004430110009c00000000010300190000000001026019000000000110004c000004120000613d00000002020003670000000401200370000000000101043b000004440310009c000004120000213d0000002402200370000000000202043b000004440320009c000004120000213d000000000001042d00000000010000190000110300010430000000040110008a00000443020000410000003f0310008c000000000300001900000000030220190000044301100197000000000410004c0000000002008019000004430110009c00000000010300190000000001026019000000000110004c000004290000613d00000002020003670000000401200370000000000101043b000004440310009c000004290000213d0000002402200370000000000202043b000000000001042d00000000010000190000110300010430000000040110008a00000443020000410000003f0310008c000000000300001900000000030220190000044301100197000000000410004c0000000002008019000004430110009c00000000010300190000000001026019000000000110004c000004400000613d00000002010003670000002402100370000000000202043b000004440320009c000004400000213d0000000401100370000000000101043b000000000001042d00000000010000190000110300010430000000040110008a00000443020000410000001f0310008c000000000300001900000000030220190000044301100197000000000410004c0000000002008019000004430110009c00000000010300190000000001026019000000000110004c000004560000613d00000004010000390000000201100367000000000101043b0000046502100197000000000221004b000004560000c13d000000000001042d00000000010000190000110300010430000000040110008a00000443020000410000005f0310008c000000000300001900000000030220190000044301100197000000000410004c0000000002008019000004430110009c00000000010300190000000001026019000000000110004c000004710000613d00000002030003670000000401300370000000000101043b0000002402300370000000000202043b000004440420009c000004710000213d0000004403300370000000000303043b000004440430009c000004710000213d000000000001042d00000000010000190000110300010430000000040110008a00000443020000410000009f0310008c000000000300001900000000030220190000044301100197000000000410004c0000000002008019000004430110009c00000000010300190000000001026019000000000110004c000004920000613d00000002050003670000002401500370000000000201043b0000000401500370000000000101043b0000004403500370000000000303043b000004440430009c000004920000213d0000006404500370000000000404043b000004440640009c000004920000213d0000008405500370000000000505043b000004440650009c000004920000213d000000000001042d0000000001000019000011030001043000000000030100190000000004030433000000000140004c0000000001240019000004a40000613d000000000500001900000000062500190000002005500039000000000735001900000000070704330000000000760435000000000645004b0000049a0000413d000000000245004b000004a40000a13d0000000000010435000000000001042d00000020030000390000000004310436000000000302043300000000003404350000004001100039000000000430004c000004b80000613d000000000400001900000000051400190000002004400039000000000624001900000000060604330000000000650435000000000534004b000004ad0000413d000000000234004b000004b80000a13d000000000213001900000000000204350000001f02300039000000200300008a000000000232016f0000000001210019000000000001042d0000001f02200039000000200300008a000000000232016f0000000001120019000000000221004b000000000200001900000001020040390000046e0310009c000004ca0000213d0000000102200190000004ca0000c13d000000400010043f000000000001042d000004460100004100000000001004350000004101000039000000040010043f000004470100004100001103000104300003000000000002000100000003001d000200000002001d000300000001001d0000047801000041000000000010043900000000010004120000000400100443000000240000044300000442010000410000000002000414000004420320009c0000000001024019000000c00110021000000479011001c70000800502000039110110fc0000040f0000000102200190000004ef0000613d00000001020000290000044402200197000000000101043b0000044401100197000000000212013f00000002030000290000044403300197000000000113013f00000000012101a00000000301000029000000000100c019000000000001042d000000000100001900001103000104300003000000000002000300000001001d00000463010000410000000000100435000000200000043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f00000001022001900000057b0000613d000000000101043b0000000101100039000000000101041a000100000001001d0000000000100435000000200000043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f00000001022001900000057b0000613d000000000101043b0000000002000411000200000002001d00000444022001970000000000200435000000200010043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f00000001022001900000057b0000613d000000000101043b000000000101041a000000ff011001900000057d0000613d00000463010000410000000000100435000000200000043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f00000001022001900000057b0000613d000000000101043b00000003020000290000044402200197000100000002001d0000000000200435000000200010043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f00000001022001900000057b0000613d000000000101043b000000000101041a000000ff011001900000057a0000c13d00000463010000410000000000100435000000200000043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f00000001022001900000057b0000613d000000000101043b00000001020000290000000000200435000000200010043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f00000001022001900000057b0000613d000000000101043b000000000201041a000001000300008a000000000232016f00000001022001bf000000000021041b000000400100043d00000442020000410000000003000414000004420430009c0000000003028019000004420410009c00000000010280190000004001100210000000c002300210000000000112019f0000046c011001c70000800d0200003900000004030000390000046d04000041000004630500004100000003060000290000000207000029110110f70000040f00000001012001900000057b0000613d000000000001042d00000000010000190000110300010430000000400100043d00000000070100190000047a0110009c000005870000413d000004460100004100000000001004350000004101000039000000040010043f0000044701000041000011030001043000000000020700190000006001200039000000400010043f0000002a01000039000000000112043600000000020000310000000202200367000000000300001900000005043002100000000005410019000000000442034f000000000404043b00000000004504350000000103300039000000020430008c0000058f0000413d0000000002070433000000000220004c000005a10000613d00000000020104330000047b022001970000047c022001c700000000002104350000000002070433000000020220008c000005a70000813d000004460100004100000000001004350000003201000039000000040010043f00000447010000410000110300010430000000210270003900000000030204330000047b033001970000047d033001c700000000003204350000002902000039000000020500002900000000030500190000000004070433000000000424004b000005a10000a13d0000000f0430018f0000000304400210000000f80440015f0000047e05000041000000000445022f000000000512001900000000060504330000047b06600197000000f804400210000000000446019f00000000004504350000000405300270000000010220008a000000010420008c000005ae0000213d000000100130008c00000000010000190000000101004039000200000007001d110110e30000040f0000000101000029110109d20000040f000000400400043d000300000004001d00000020024000390000047f030000410000000000320435000100000001001d00000037024000390000000201000029110104940000040f0000048002000041000000000021043500000011021000390000000101000029110104940000040f00000003030000290000000002310049000000200120008a00000000001304350000000001030019110104bd0000040f0000047201000041000000400200043d000200000002001d000000000012043500000004012000390000000302000029110104a50000040f000000020400002900000000014100490000044202000041000004420310009c0000000001028019000004420340009c000000000204401900000040022002100000006001100210000000000121019f00001103000104300000000000100435000000200000043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f0000000102200190000005fe0000613d000000000101043b0000000101100039000000000101041a000000000001042d000000000100001900001103000104300003000000000002000300000001001d00000463010000410000000000100435000000200000043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f0000000102200190000006890000613d000000000101043b0000000101100039000000000101041a000100000001001d0000000000100435000000200000043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f0000000102200190000006890000613d000000000101043b0000000002000411000200000002001d00000444022001970000000000200435000000200010043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f0000000102200190000006890000613d000000000101043b000000000101041a000000ff011001900000068b0000613d00000463010000410000000000100435000000200000043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f0000000102200190000006890000613d000000000101043b00000003020000290000044402200197000100000002001d0000000000200435000000200010043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f0000000102200190000006890000613d000000000101043b000000000101041a000000ff01100190000006880000613d00000463010000410000000000100435000000200000043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f0000000102200190000006890000613d000000000101043b00000001020000290000000000200435000000200010043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f0000000102200190000006890000613d000000000101043b000000000201041a000001000300008a000000000232016f000000000021041b000000400100043d00000442020000410000000003000414000004420430009c0000000003028019000004420410009c00000000010280190000004001100210000000c002300210000000000112019f0000046c011001c70000800d0200003900000004030000390000048104000041000004630500004100000003060000290000000207000029110110f70000040f0000000101200190000006890000613d000000000001042d00000000010000190000110300010430000000400100043d00000000070100190000047a0110009c000006950000413d000004460100004100000000001004350000004101000039000000040010043f0000044701000041000011030001043000000000020700190000006001200039000000400010043f0000002a01000039000000000112043600000000020000310000000202200367000000000300001900000005043002100000000005410019000000000442034f000000000404043b00000000004504350000000103300039000000020430008c0000069d0000413d0000000002070433000000000220004c000006af0000613d00000000020104330000047b022001970000047c022001c700000000002104350000000002070433000000020220008c000006b50000813d000004460100004100000000001004350000003201000039000000040010043f00000447010000410000110300010430000000210270003900000000030204330000047b033001970000047d033001c700000000003204350000002902000039000000020500002900000000030500190000000004070433000000000424004b000006af0000a13d0000000f0430018f0000000304400210000000f80440015f0000047e05000041000000000445022f000000000512001900000000060504330000047b06600197000000f804400210000000000446019f00000000004504350000000405300270000000010220008a000000010420008c000006bc0000213d000000100130008c00000000010000190000000101004039000200000007001d110110e30000040f0000000101000029110109d20000040f000000400400043d000300000004001d00000020024000390000047f030000410000000000320435000100000001001d00000037024000390000000201000029110104940000040f0000048002000041000000000021043500000011021000390000000101000029110104940000040f00000003030000290000000002310049000000200120008a00000000001304350000000001030019110104bd0000040f0000047201000041000000400200043d000200000002001d000000000012043500000004012000390000000302000029110104a50000040f000000020400002900000000014100490000044202000041000004420310009c0000000001028019000004420340009c000000000204401900000040022002100000006001100210000000000121019f0000110300010430000300000000000200000000030004110000044402300197000300000002001d000100000003001d000004820230009c000007590000813d000200000001001d0000000000100435000000200000043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f0000000102200190000007570000613d000000000101043b00000003020000290000000000200435000000200010043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f0000000102200190000007570000613d000000000101043b000000000101041a000000ff01100190000007560000613d00000002010000290000000000100435000000200000043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f0000000102200190000007570000613d000000000101043b00000003020000290000000000200435000000200010043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f0000000102200190000007570000613d000000000101043b000000000201041a000001000300008a000000000232016f000000000021041b000000400100043d00000442020000410000000003000414000004420430009c0000000003028019000004420410009c00000000010280190000004001100210000000c002300210000000000112019f0000046c011001c70000800d0200003900000004030000390000048104000041000000020500002900000001060000290000000307000029110110f70000040f0000000101200190000007570000613d000000000001042d00000000010000190000110300010430000000400100043d00000064021000390000048303000041000000000032043500000044021000390000048403000041000000000032043500000024021000390000002f030000390000000000320435000004720200004100000000002104350000000402100039000000200300003900000000003204350000044202000041000004420310009c0000000001028019000000400110021000000476011001c700001103000104300003000000000002000100000002001d00000444022001970000000003000411000300000002001d000000000232004b000007cb0000c13d000200000001001d0000000000100435000000200000043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f0000000102200190000007c90000613d000000000101043b00000003020000290000000000200435000000200010043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f0000000102200190000007c90000613d000000000101043b000000000101041a000000ff01100190000007c80000613d00000002010000290000000000100435000000200000043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f0000000102200190000007c90000613d000000000101043b00000003020000290000000000200435000000200010043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f0000000102200190000007c90000613d000000000101043b000000000201041a000001000300008a000000000232016f000000000021041b000000400100043d00000442020000410000000003000414000004420430009c0000000003028019000004420410009c00000000010280190000004001100210000000c002300210000000000112019f0000046c011001c70000800d0200003900000004030000390000048104000041000000020500002900000001060000290000000307000029110110f70000040f0000000101200190000007c90000613d000000000001042d00000000010000190000110300010430000000400100043d00000064021000390000048303000041000000000032043500000044021000390000048403000041000000000032043500000024021000390000002f030000390000000000320435000004720200004100000000002104350000000402100039000000200300003900000000003204350000044202000041000004420310009c0000000001028019000000400110021000000476011001c700001103000104300008000000000002000700000005001d000200000003001d000400000002001d000600000001001d00000485010000410000000000100439000300000004001d0000044401400197000800000001001d000000040010044300000442010000410000000002000414000004420320009c0000000001024019000000c00110021000000486011001c70000800202000039110110fc0000040f000000080a00002900000001022001900000094f0000613d000000000101043b000000000110004c0000094f0000613d000000400900043d000004870100004100000000001904350000000701000029000004440b100197000000040290003900000000010004140000000000b204350000000402a0008c00070000000b001d000008060000c13d00000001030000310000083a0000013d0000044202000041000004420310009c0000000001028019000004420390009c00000000020940190000004002200210000000c001100210000000000121019f00000447011001c700000000020a0019000500000009001d110110fc0000040f0000000509000029000000000301001900000060033002700000044203300197000000200430008c000000200500003900000000050340190000001f0450018f0000000505500272000008250000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b0000081d0000413d000000000640004c000008340000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f00030000000103550000000102200190000000080a000029000000070b0000290000096e0000613d0000001f01300039000000200200008a000500000002001d000000000221016f0000000001920019000000000221004b000000000200001900000001020040390000046e0310009c000009510000213d0000000102200190000009510000c13d000000400010043f00000443020000410000000103000031000000200430008c000000000400001900000000040240190000044303300197000000000530004c000000000200a019000004430330009c000000000204c019000000000220004c0000094f0000c13d0000000002090433000100000002001d00000000020004100000000002b2004b000008ca0000613d00000044021000390000000603000029000000000032043500000020021000390000048803000041000000000032043500000024031000390000000000b3043500000044030000390000000000310435000004890310009c000009510000213d0000008003100039000000400030043f00000000030004140000000404a0008c0000086c0000c13d00000001030000310000000002000019000008830000013d0000044204000041000004420520009c000000000204801900000040022002100000000001010433000004420510009c00000000010480190000006001100210000000000121019f000004420230009c00000000020400190000000002034019000000c002200210000000000121019f00000000020a0019110110f70000040f000000070b000029000000080a000029000000010220015f00030000000103550000006001100270000104420010019d00000442031001970000006001000039000000000430004c000008b10000613d0000003f013000390000000504000029000000000441016f000000400100043d0000000004410019000000000514004b000000000500001900000001050040390000046e0640009c000009510000213d0000000105500190000009510000c13d000000400040043f0000000003310436000000030400036700000001060000310000001f0560018f0000000506600272000008a20000613d000000000700001900000005087002100000000009830019000000000884034f000000000808043b00000000008904350000000107700039000000000867004b0000089a0000413d000000000750004c000008b10000613d0000000506600210000000000464034f00000000036300190000000305500210000000000603043300000000065601cf000000000656022f000000000404043b0000010005500089000000000454022f00000000045401cf000000000464019f000000000043043500000001022001900000098d0000c13d0000000012010434000000000320004c000008ca0000613d0000044303000041000000200420008c000000000400001900000000040340190000044302200197000000000520004c000000000300a019000004430220009c00000000020400190000000002036019000000000220004c0000094f0000c13d0000000001010433000000000210004c0000000002000019000000010200c039000000000221004b0000094f0000c13d000000000110004c000009bd0000613d000004850100004100000000001004390000000400a0044300000442010000410000000002000414000004420320009c0000000001024019000000c00110021000000486011001c70000800202000039110110fc0000040f0000000703000029000000080400002900000001022001900000094f0000613d000000000101043b000000000110004c0000094f0000613d000000400900043d00000487010000410000000000190435000000040290003900000000010004140000000000320435000000040240008c000008e60000c13d0000000103000031000009180000013d0000044202000041000004420310009c0000000001028019000004420390009c00000000020940190000004002200210000000c001100210000000000121019f00000447011001c70000000002040019000800000009001d110110fc0000040f0000000809000029000000000301001900000060033002700000044203300197000000200430008c000000200500003900000000050340190000001f0450018f0000000505500272000009050000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b000008fd0000413d000000000640004c000009140000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f000300000001035500000001022001900000099e0000613d0000001f013000390000000502000029000000000221016f0000000001920019000000000221004b000000000200001900000001020040390000046e0310009c000009510000213d0000000102200190000009510000c13d000000400010043f00000443020000410000000103000031000000200430008c000000000400001900000000040240190000044303300197000000000530004c000000000200a019000004430330009c000000000204c019000000000220004c0000094f0000c13d00000000020904330000000104000029000000000342004b000009570000413d00000000024200490000000403000029000000000232004b0000095d0000413d000000200210003900000000003204350000000602000029000000000021043500000442020000410000000003000414000004420430009c0000000003028019000004420410009c00000000010280190000004001100210000000c002300210000000000112019f0000046b011001c70000800d0200003900000003030000390000048d0400004100000002050000290000000306000029110110f70000040f00000001012001900000094f0000613d000000000001042d00000000010000190000110300010430000004460100004100000000001004350000004101000039000000040010043f00000447010000410000110300010430000004460100004100000000001004350000001101000039000000040010043f0000044701000041000011030001043000000044021000390000048e030000410000000000320435000000240210003900000017030000390000000000320435000004720200004100000000002104350000000402100039000000200300003900000000003204350000044202000041000004420310009c0000000001028019000000400110021000000473011001c700001103000104300000001f0430018f0000000502300272000009790000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b000009720000413d000000000340004c000009870000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000442010000410000000102000031000004420320009c000000000102401900000060011002100000110300010430000000400100043d00000044021000390000048c03000041000000000032043500000472020000410000000000210435000000240210003900000020030000390000000000320435000000040210003900000000003204350000044202000041000004420310009c0000000001028019000000400110021000000473011001c700001103000104300000001f0430018f0000000502300272000009a90000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b000009a20000413d000000000340004c000009b70000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000442010000410000000102000031000004420320009c000000000102401900000060011002100000110300010430000000400100043d00000064021000390000048a03000041000000000032043500000044021000390000048b03000041000000000032043500000024021000390000002a030000390000000000320435000004720200004100000000002104350000000402100039000000200300003900000000003204350000044202000041000004420310009c0000000001028019000000400110021000000476011001c700001103000104300000000002010019000000400100043d0000048f0310009c00000a110000813d0000008003100039000000400030043f0000004203000039000000000331043600000000040000310000000204400367000000000500001900000005065002100000000007630019000000000664034f000000000606043b00000000006704350000000105500039000000030650008c000009dd0000413d0000000004010433000000000440004c00000a0b0000613d00000000040304330000047b044001970000047c044001c700000000004304350000000004010433000000020440008c00000a0b0000413d000000210410003900000000050404330000047b055001970000047d055001c70000000000540435000000410400003900000000050200190000000002010433000000000242004b00000a0b0000a13d0000000f0250018f0000000302200210000000f80220015f0000047e06000041000000000226022f000000000634001900000000070604330000047b07700197000000f802200210000000000227019f00000000002604350000000402500270000000010440008a000000010640008c000009f50000213d000000100250008c00000a170000813d000000000001042d000004460100004100000000001004350000003201000039000000040010043f00000447010000410000110300010430000004460100004100000000001004350000004101000039000000040010043f00000447010000410000110300010430000000400100043d00000044021000390000049003000041000000000032043500000472020000410000000000210435000000240210003900000020030000390000000000320435000000040210003900000000003204350000044202000041000004420310009c0000000001028019000000400110021000000473011001c700001103000104300004000000000002000300000001001d0000000000000435000000200000043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f000000010220019000000b010000613d000000000101043b0000000101100039000000000101041a000100000001001d0000000000100435000000200000043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f000000010220019000000b010000613d000000000101043b0000000002000411000200000002001d0000044402200197000400000002001d0000000000200435000000200010043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f000000010220019000000b010000613d000000000101043b000000000101041a000000ff0110019000000b030000613d0000000000000435000000200000043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f000000010220019000000b010000613d000000000101043b00000003020000290000044402200197000100000002001d0000000000200435000000200010043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f000000010220019000000b010000613d000000000101043b000000000101041a000000ff0110019000000aaf0000c13d0000000000000435000000200000043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f000000010220019000000b010000613d000000000101043b00000001020000290000000000200435000000200010043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f000000010220019000000b010000613d000000000101043b000000000201041a000001000300008a000000000232016f00000001022001bf000000000021041b000000400100043d00000442020000410000000003000414000004420430009c0000000003028019000004420410009c00000000010280190000004001100210000000c002300210000000000112019f0000046c011001c70000800d0200003900000004030000390000046d04000041000000000500001900000003060000290000000207000029110110f70000040f000000010120019000000b010000613d0000000000000435000000200000043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f000000010220019000000b010000613d000000000101043b00000004020000290000000000200435000000200010043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f000000010220019000000b010000613d000000000101043b000000000101041a000000ff0110019000000b000000613d0000000000000435000000200000043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f000000010220019000000b010000613d000000000101043b00000004020000290000000000200435000000200010043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f000000010220019000000b010000613d000000000101043b000000000201041a000001000300008a000000000232016f000000000021041b000000400100043d00000442020000410000000003000414000004420430009c0000000003028019000004420410009c00000000010280190000004001100210000000c002300210000000000112019f0000046c011001c70000800d0200003900000004030000390000048104000041000000000500001900000002060000290000000007060019110110f70000040f000000010120019000000b010000613d000000000001042d00000000010000190000110300010430000000400100043d00000000070100190000047a0110009c00000b0d0000413d000004460100004100000000001004350000004101000039000000040010043f0000044701000041000011030001043000000000020700190000006001200039000000400010043f0000002a01000039000000000112043600000000020000310000000202200367000000000300001900000005043002100000000005410019000000000442034f000000000404043b00000000004504350000000103300039000000020430008c00000b150000413d0000000002070433000000000220004c00000b270000613d00000000020104330000047b022001970000047c022001c700000000002104350000000002070433000000020220008c00000b2d0000813d000004460100004100000000001004350000003201000039000000040010043f00000447010000410000110300010430000000210270003900000000030204330000047b033001970000047d033001c700000000003204350000002902000039000000020500002900000000030500190000000004070433000000000424004b00000b270000a13d0000000f0430018f0000000304400210000000f80440015f0000047e05000041000000000445022f000000000512001900000000060504330000047b06600197000000f804400210000000000446019f00000000004504350000000405300270000000010220008a000000010420008c00000b340000213d000000100130008c00000000010000190000000101004039000300000007001d110110e30000040f0000000101000029110109d20000040f000000400400043d000400000004001d00000020024000390000047f030000410000000000320435000200000001001d00000037024000390000000301000029110104940000040f0000048002000041000000000021043500000011021000390000000201000029110104940000040f00000004030000290000000002310049000000200120008a00000000001304350000000001030019110104bd0000040f0000047201000041000000400200043d000300000002001d000000000012043500000004012000390000000402000029110104a50000040f000000030400002900000000014100490000044202000041000004420310009c0000000001028019000004420340009c000000000204401900000040022002100000006001100210000000000121019f000011030001043000000444022001970000000000200435000000200010043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f000000010220019000000b830000613d000000000101043b000000000001042d000000000100001900001103000104300000000000100435000000200000043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f000000010220019000000b930000613d000000000101043b000000000001042d000000000100001900001103000104300001000000000002000100000001001d00000463010000410000000000100435000000200000043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f000000010220019000000bd00000613d000000000101043b000000000200041100000444022001970000000000200435000000200010043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f000000010220019000000bd00000613d000000000101043b000000000101041a000000ff0110019000000bd20000613d0000000102000029000000000120004c00000be70000613d0000000101000039000000000021041b000000400100043d000000000021043500000442020000410000000003000414000004420430009c0000000003028019000004420410009c00000000010280190000004001100210000000c002300210000000000112019f0000046f011001c70000800d02000039000000020300003900000470040000410000000005000410110110f70000040f000000010120019000000bd00000613d000000000001042d00000000010000190000110300010430000000400100043d000000640210003900000474030000410000000000320435000000440210003900000475030000410000000000320435000000240210003900000028030000390000000000320435000004720200004100000000002104350000000402100039000000200300003900000000003204350000044202000041000004420310009c0000000001028019000000400110021000000476011001c70000110300010430000000400100043d000000440210003900000471030000410000000000320435000000240210003900000014030000390000000000320435000004720200004100000000002104350000000402100039000000200300003900000000003204350000044202000041000004420310009c0000000001028019000000400110021000000473011001c700001103000104300002000000000002000200000002001d000100000001001d00000463010000410000000000100435000000200000043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f000000010220019000000c900000613d000000000101043b000000000200041100000444022001970000000000200435000000200010043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f000000010220019000000c900000613d000000400300043d000000000101043b000000000101041a000000ff0110019000000c980000613d000000200130003900000491020000410000000000210435000000020200002900000444022001970000002404300039000000000024043500000044020000390000000000230435000000440230003900000000000204350000048f0230009c00000c920000813d0000008002300039000000400020043f000000000400041400000001020000290000044402200197000000040520008c00000c340000c13d0000000103000031000000000200001900000c480000013d0000044205000041000004420610009c000000000105801900000040011002100000000003030433000004420630009c00000000030580190000006003300210000000000113019f000004420340009c00000000030500190000000003044019000000c003300210000000000131019f110110f70000040f000000010220015f00030000000103550000006001100270000104420010019d00000442031001970000006001000039000000000430004c00000c760000613d0000003f01300039000000200400008a000000000441016f000000400100043d0000000004410019000000000514004b000000000500001900000001050040390000046e0640009c00000c920000213d000000010550019000000c920000c13d000000400040043f0000000003310436000000030400036700000001060000310000001f0560018f000000050660027200000c670000613d000000000700001900000005087002100000000009830019000000000884034f000000000808043b00000000008904350000000107700039000000000867004b00000c5f0000413d000000000750004c00000c760000613d0000000506600210000000000464034f00000000036300190000000305500210000000000603043300000000065601cf000000000656022f000000000404043b0000010005500089000000000454022f00000000045401cf000000000464019f0000000000430435000000010220019000000cac0000c13d0000000012010434000000000320004c00000c8f0000613d0000044303000041000000200420008c000000000400001900000000040340190000044302200197000000000520004c000000000300a019000004430220009c00000000020400190000000002036019000000000220004c00000c900000c13d0000000001010433000000000210004c0000000002000019000000010200c039000000000221004b00000c900000c13d000000000110004c00000cbd0000613d000000000001042d00000000010000190000110300010430000004460100004100000000001004350000004101000039000000040010043f00000447010000410000110300010430000000640130003900000474020000410000000000210435000000440130003900000475020000410000000000210435000000240130003900000028020000390000000000210435000004720100004100000000001304350000000401300039000000200200003900000000002104350000044201000041000004420230009c0000000001034019000000400110021000000476011001c70000110300010430000000400100043d00000044021000390000048c03000041000000000032043500000472020000410000000000210435000000240210003900000020030000390000000000320435000000040210003900000000003204350000044202000041000004420310009c0000000001028019000000400110021000000473011001c70000110300010430000000400100043d00000064021000390000048a03000041000000000032043500000044021000390000048b03000041000000000032043500000024021000390000002a030000390000000000320435000004720200004100000000002104350000000402100039000000200300003900000000003204350000044202000041000004420310009c0000000001028019000000400110021000000476011001c700001103000104300003000000000002000300000002001d000200000001001d00000463010000410000000000100435000000200000043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f000000010220019000000d800000613d000000000101043b00000000020004110000044402200197000100000002001d0000000000200435000000200010043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f000000010220019000000d800000613d000000000101043b000000000101041a000000ff0110019000000d880000613d0000000303000029000000000130004c00000d9d0000613d000000400100043d0000004402100039000000000032043500000020031000390000048802000041000000000023043500000024021000390000000104000029000000000042043500000044020000390000000000210435000000020200002900000444022001970000048f0410009c00000d820000813d0000008004100039000000400040043f0000000004000414000000040520008c00000d100000c13d0000000103000031000000000200001900000d240000013d0000044205000041000004420630009c000000000305801900000040033002100000000001010433000004420610009c00000000010580190000006001100210000000000131019f000004420340009c00000000030500190000000003044019000000c003300210000000000131019f110110f70000040f000000010220015f00030000000103550000006001100270000104420010019d00000442031001970000006001000039000000000430004c00000d520000613d0000003f01300039000000200400008a000000000441016f000000400100043d0000000004410019000000000514004b000000000500001900000001050040390000046e0640009c00000d820000213d000000010550019000000d820000c13d000000400040043f0000000003310436000000030400036700000001060000310000001f0560018f000000050660027200000d430000613d000000000700001900000005087002100000000009830019000000000884034f000000000808043b00000000008904350000000107700039000000000867004b00000d3b0000413d000000000750004c00000d520000613d0000000506600210000000000464034f00000000036300190000000305500210000000000603043300000000065601cf000000000656022f000000000404043b0000010005500089000000000454022f00000000045401cf000000000464019f0000000000430435000000010220019000000daf0000c13d0000000012010434000000000320004c00000d6b0000613d0000044303000041000000200420008c000000000400001900000000040340190000044302200197000000000520004c000000000300a019000004430220009c00000000020400190000000002036019000000000220004c00000d800000c13d0000000001010433000000000210004c0000000002000019000000010200c039000000000221004b00000d800000c13d000000000110004c00000dc00000613d000000400100043d0000000302000029000000000021043500000442020000410000000003000414000004420430009c0000000003028019000004420410009c00000000010280190000004001100210000000c002300210000000000112019f0000046f011001c70000800d02000039000000020300003900000492040000410000000205000029110110f70000040f000000010120019000000d800000613d000000000001042d00000000010000190000110300010430000004460100004100000000001004350000004101000039000000040010043f00000447010000410000110300010430000000400100043d000000640210003900000474030000410000000000320435000000440210003900000475030000410000000000320435000000240210003900000028030000390000000000320435000004720200004100000000002104350000000402100039000000200300003900000000003204350000044202000041000004420310009c0000000001028019000000400110021000000476011001c70000110300010430000000400100043d00000044021000390000049303000041000000000032043500000024021000390000001e030000390000000000320435000004720200004100000000002104350000000402100039000000200300003900000000003204350000044202000041000004420310009c0000000001028019000000400110021000000473011001c70000110300010430000000400100043d00000044021000390000048c03000041000000000032043500000472020000410000000000210435000000240210003900000020030000390000000000320435000000040210003900000000003204350000044202000041000004420310009c0000000001028019000000400110021000000473011001c70000110300010430000000400100043d00000064021000390000048a03000041000000000032043500000044021000390000048b03000041000000000032043500000024021000390000002a030000390000000000320435000004720200004100000000002104350000000402100039000000200300003900000000003204350000044202000041000004420310009c0000000001028019000000400110021000000476011001c700001103000104300002000000000002000200000001001d00000463010000410000000000100435000000200000043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f000000010220019000000e590000613d000000000101043b0000000002000411000100000002001d00000444022001970000000000200435000000200010043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f000000010220019000000e590000613d000000000101043b000000000101041a000000ff0110019000000e5b0000613d0000000209000029000000000190004c000000010400002900000e700000613d0000000001000414000000040240008c00000e020000c13d0000000102000039000000010100003100000e160000013d0000044202000041000000400300043d000004420530009c0000000003028019000004420510009c0000000001028019000000c0011002100000004002300210000000000112019f0000046c011001c7000080090200003900000000030900190000000005000019110110f70000040f0000000209000029000000010220018f00030000000103550000006001100270000104420010019d0000044201100197000000000310004c00000e430000613d0000003f03100039000000200400008a000000000443016f000000400300043d0000000004430019000000000534004b000000000500001900000001050040390000046e0640009c00000e930000213d000000010550019000000e930000c13d000000400040043f0000000001130436000000030300036700000001050000310000001f0450018f000000050550027200000e340000613d000000000600001900000005076002100000000008710019000000000773034f000000000707043b00000000007804350000000106600039000000000756004b00000e2c0000413d000000000640004c00000e430000613d0000000505500210000000000353034f00000000015100190000000304400210000000000501043300000000054501cf000000000545022f000000000303043b0000010004400089000000000343022f00000000034301cf000000000353019f0000000000310435000000400100043d000000000220004c00000e820000613d000000000091043500000442020000410000000003000414000004420430009c0000000003028019000004420410009c00000000010280190000004001100210000000c002300210000000000112019f0000046f011001c70000800d02000039000000020300003900000492040000410000000005000019110110f70000040f000000010120019000000e590000613d000000000001042d00000000010000190000110300010430000000400100043d000000640210003900000474030000410000000000320435000000440210003900000475030000410000000000320435000000240210003900000028030000390000000000320435000004720200004100000000002104350000000402100039000000200300003900000000003204350000044202000041000004420310009c0000000001028019000000400110021000000476011001c70000110300010430000000400100043d00000044021000390000049303000041000000000032043500000024021000390000001e030000390000000000320435000004720200004100000000002104350000000402100039000000200300003900000000003204350000044202000041000004420310009c0000000001028019000000400110021000000473011001c70000110300010430000000440210003900000494030000410000000000320435000000240210003900000010030000390000000000320435000004720200004100000000002104350000000402100039000000200300003900000000003204350000044202000041000004420310009c0000000001028019000000400110021000000473011001c70000110300010430000004460100004100000000001004350000004101000039000000040010043f000004470100004100001103000104300004000000000002000300000002001d000400000001001d0000000000100435000000200000043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f000000010220019000000f230000613d000000000101043b0000000101100039000000000101041a000100000001001d0000000000100435000000200000043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f000000010220019000000f230000613d000000000101043b0000000002000411000200000002001d00000444022001970000000000200435000000200010043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f000000010220019000000f230000613d000000000101043b000000000101041a000000ff0110019000000f250000613d00000004010000290000000000100435000000200000043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f000000010220019000000f230000613d000000000101043b00000003020000290000044402200197000100000002001d0000000000200435000000200010043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f000000010220019000000f230000613d000000000101043b000000000101041a000000ff0110019000000f220000c13d00000004010000290000000000100435000000200000043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f000000010220019000000f230000613d000000000101043b00000001020000290000000000200435000000200010043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f000000010220019000000f230000613d000000000101043b000000000201041a000001000300008a000000000232016f00000001022001bf000000000021041b000000400100043d00000442020000410000000003000414000004420430009c0000000003028019000004420410009c00000000010280190000004001100210000000c002300210000000000112019f0000046c011001c70000800d0200003900000004030000390000046d04000041000000040500002900000003060000290000000207000029110110f70000040f000000010120019000000f230000613d000000000001042d00000000010000190000110300010430000000400100043d00000000070100190000047a0110009c00000f2f0000413d000004460100004100000000001004350000004101000039000000040010043f0000044701000041000011030001043000000000020700190000006001200039000000400010043f0000002a01000039000000000112043600000000020000310000000202200367000000000300001900000005043002100000000005410019000000000442034f000000000404043b00000000004504350000000103300039000000020430008c00000f370000413d0000000002070433000000000220004c00000f490000613d00000000020104330000047b022001970000047c022001c700000000002104350000000002070433000000020220008c00000f4f0000813d000004460100004100000000001004350000003201000039000000040010043f00000447010000410000110300010430000000210270003900000000030204330000047b033001970000047d033001c700000000003204350000002902000039000000020500002900000000030500190000000004070433000000000424004b00000f490000a13d0000000f0430018f0000000304400210000000f80440015f0000047e05000041000000000445022f000000000512001900000000060504330000047b06600197000000f804400210000000000446019f00000000004504350000000405300270000000010220008a000000010420008c00000f560000213d000000100130008c00000000010000190000000101004039000300000007001d110110e30000040f0000000101000029110109d20000040f000000400400043d000400000004001d00000020024000390000047f030000410000000000320435000200000001001d00000037024000390000000301000029110104940000040f0000048002000041000000000021043500000011021000390000000201000029110104940000040f00000004030000290000000002310049000000200120008a00000000001304350000000001030019110104bd0000040f0000047201000041000000400200043d000300000002001d000000000012043500000004012000390000000402000029110104a50000040f000000030400002900000000014100490000044202000041000004420310009c0000000001028019000004420340009c000000000204401900000040022002100000006001100210000000000121019f00001103000104300004000000000002000300000002001d000400000001001d0000000000100435000000200000043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f00000001022001900000101f0000613d000000000101043b0000000101100039000000000101041a000100000001001d0000000000100435000000200000043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f00000001022001900000101f0000613d000000000101043b0000000002000411000200000002001d00000444022001970000000000200435000000200010043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f00000001022001900000101f0000613d000000000101043b000000000101041a000000ff01100190000010210000613d00000004010000290000000000100435000000200000043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f00000001022001900000101f0000613d000000000101043b00000003020000290000044402200197000100000002001d0000000000200435000000200010043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f00000001022001900000101f0000613d000000000101043b000000000101041a000000ff011001900000101e0000613d00000004010000290000000000100435000000200000043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f00000001022001900000101f0000613d000000000101043b00000001020000290000000000200435000000200010043f00000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046b011001c70000801002000039110110fc0000040f00000001022001900000101f0000613d000000000101043b000000000201041a000001000300008a000000000232016f000000000021041b000000400100043d00000442020000410000000003000414000004420430009c0000000003028019000004420410009c00000000010280190000004001100210000000c002300210000000000112019f0000046c011001c70000800d0200003900000004030000390000048104000041000000040500002900000003060000290000000207000029110110f70000040f00000001012001900000101f0000613d000000000001042d00000000010000190000110300010430000000400100043d00000000070100190000047a0110009c0000102b0000413d000004460100004100000000001004350000004101000039000000040010043f0000044701000041000011030001043000000000020700190000006001200039000000400010043f0000002a01000039000000000112043600000000020000310000000202200367000000000300001900000005043002100000000005410019000000000442034f000000000404043b00000000004504350000000103300039000000020430008c000010330000413d0000000002070433000000000220004c000010450000613d00000000020104330000047b022001970000047c022001c700000000002104350000000002070433000000020220008c0000104b0000813d000004460100004100000000001004350000003201000039000000040010043f00000447010000410000110300010430000000210270003900000000030204330000047b033001970000047d033001c700000000003204350000002902000039000000020500002900000000030500190000000004070433000000000424004b000010450000a13d0000000f0430018f0000000304400210000000f80440015f0000047e05000041000000000445022f000000000512001900000000060504330000047b06600197000000f804400210000000000446019f00000000004504350000000405300270000000010220008a000000010420008c000010520000213d000000100130008c00000000010000190000000101004039000300000007001d110110e30000040f0000000101000029110109d20000040f000000400400043d000400000004001d00000020024000390000047f030000410000000000320435000200000001001d00000037024000390000000301000029110104940000040f0000048002000041000000000021043500000011021000390000000201000029110104940000040f00000004030000290000000002310049000000200120008a00000000001304350000000001030019110104bd0000040f0000047201000041000000400200043d000300000002001d000000000012043500000004012000390000000402000029110104a50000040f000000030400002900000000014100490000044202000041000004420310009c0000000001028019000004420340009c000000000204401900000040022002100000006001100210000000000121019f000011030001043000030000000000020000000202000039000000000102041a000000010310019000000001041002700000007f0540018f000000000604001900000000060560190000001f0460008c00000000040000190000000104002039000000010440018f000000000443004b000010d50000c13d000000400500043d0000000004650436000000000330004c000010a90000c13d000001000200008a000000000121016f00000000001404350000004002000039000010ca0000013d000100000004001d000200000006001d000300000005001d000000000020043500000442010000410000000002000414000004420320009c0000000001024019000000c0011002100000046f011001c70000801002000039110110fc0000040f0000000102200190000010e10000613d00000020020000390000000206000029000000000360004c0000000305000029000010ca0000613d000000000101043b0000000003000019000000010700002900000000020300190000000003720019000000000401041a000000000043043500000001011000390000002003200039000000000463004b000010bf0000413d0000005f01200039000000200200008a000000000221016f0000000001520019000000000221004b000000000200001900000001020040390000046e0310009c000010db0000213d0000000102200190000010db0000c13d000000400010043f0000000001050019000000000001042d000004460100004100000000001004350000002201000039000000040010043f00000447010000410000110300010430000004460100004100000000001004350000004101000039000000040010043f0000044701000041000011030001043000000000010000190000110300010430000000000110004c000010e60000613d000000000001042d000000400100043d00000044021000390000049003000041000000000032043500000472020000410000000000210435000000240210003900000020030000390000000000320435000000040210003900000000003204350000044202000041000004420310009c0000000001028019000000400110021000000473011001c70000110300010430000010fa002104210000000102000039000000000001042d0000000002000019000000000001042d000010ff002104230000000102000039000000000001042d0000000002000019000000000001042d0000110100000432000011020001042e0000110300010430000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffffffffffff00000002000000000000000000000000000000800000010000000000000000004e487b71000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024000000000000000000000000000000000000000000000000000000000000000000000000000000008980f11e00000000000000000000000000000000000000000000000000000000d8baf7ce00000000000000000000000000000000000000000000000000000000ef99893900000000000000000000000000000000000000000000000000000000ef99893a00000000000000000000000000000000000000000000000000000000f2fde38b00000000000000000000000000000000000000000000000000000000f874225400000000000000000000000000000000000000000000000000000000d8baf7cf00000000000000000000000000000000000000000000000000000000eab90da60000000000000000000000000000000000000000000000000000000091d148530000000000000000000000000000000000000000000000000000000091d1485400000000000000000000000000000000000000000000000000000000a217fddf00000000000000000000000000000000000000000000000000000000d547741f000000000000000000000000000000000000000000000000000000008980f11f000000000000000000000000000000000000000000000000000000008bb9c5bf000000000000000000000000000000000000000000000000000000004ebb7915000000000000000000000000000000000000000000000000000000006b453c1e000000000000000000000000000000000000000000000000000000006b453c1f000000000000000000000000000000000000000000000000000000007ae267730000000000000000000000000000000000000000000000000000000084a33e63000000000000000000000000000000000000000000000000000000004ebb79160000000000000000000000000000000000000000000000000000000069cff80d00000000000000000000000000000000000000000000000000000000248a9ca200000000000000000000000000000000000000000000000000000000248a9ca3000000000000000000000000000000000000000000000000000000002f2ff15d0000000000000000000000000000000000000000000000000000000036568abe0000000000000000000000000000000000000000000000000000000001ffc9a70000000000000000000000000000000000000000000000000000000006fdde03339759585899103d2ace64958e37e18ccb0504652c81d4a1b8aa80fe2126ab950000000000000000000000000000000000000020000000000000000000000000ffffffff0000000000000000000000000000000000000000000000000000000001ffc9a7000000000000000000000000000000000000000000000000000000007965db0b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000800000000000000000000000000000000000000000000000000000000000000000ffffffffffffffc05741766178416461707465720000000000000000000000000000000000000000020000000000000000000000000000000000004000000000000000000000000002000000000000000000000000000000000000000000000000000000000000002f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d000000000000000000000000000000000000000000000000ffffffffffffffff0200000000000000000000000000000000000020000000000000000000000000f43f23b7a28e6f8ce6843a21bd7b48bce778aa913b8c8cf459edf7d770e8d38a496e76616c6964206761732d657374696d61746500000000000000000000000008c379a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000064000000000000000000000000696e7461696e65720000000000000000000000000000000000000000000000004d61696e7461696e61626c653a2043616c6c6572206973206e6f742061206d610000000000000000000000000000000000000084000000000000000000000000496e76616c69642061646170746572206e616d65000000000000000000000000310ab089e4439a4c15d089f94afb7896ff553aecb10793d0ab882de59d99a32e0200000200000000000000000000000000000044000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffa000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff300000000000000000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000000000000000003031323334353637383961626364656600000000000000000000000000000000416363657373436f6e74726f6c3a206163636f756e7420000000000000000000206973206d697373696e6720726f6c6520000000000000000000000000000000f6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b000000000000000000000001000000000000000000000000000000000000000020726f6c657320666f722073656c660000000000000000000000000000000000416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e63651806aa1896bbf26568e884a7374b41e002500962caba6a15023a8d90e8508b83020000020000000000000000000000000000002400000000000000000000000070a0823100000000000000000000000000000000000000000000000000000000a9059cbb00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffff7f6f742073756363656564000000000000000000000000000000000000000000005361666545524332303a204552433230206f7065726174696f6e20646964206e5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564e2bdbc6b7225eb0a972ac943c485a6cc05f7c6811838bce8903f23200fb744fa496e73756666696369656e7420616d6f756e742d6f7574000000000000000000000000000000000000000000000000000000000000000000ffffffffffffff80537472696e67733a20686578206c656e67746820696e73756666696369656e74095ea7b3000000000000000000000000000000000000000000000000000000008c1256b8896378cd5044f80c202f9772b9d77dc85c8a6eb51967210b09bfaa2859616b416461707465723a204e6f7468696e6720746f207265636f76657200005472616e73666572206661696c65642e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007a83d6c30a1ce2203255e75a725f3057f02b9dc979f00fe31364174597a15951" + ] +} \ No newline at end of file diff --git a/src/deployments/zksync/YakRouter.json b/src/deployments/zksync/YakRouter.json new file mode 100644 index 00000000..d5272588 --- /dev/null +++ b/src/deployments/zksync/YakRouter.json @@ -0,0 +1,1548 @@ +{ + "address": "0x5c60216A5BF341bbBF5da00187E4B6F9f3401b48", + "abi": [ + { + "inputs": [ + { + "internalType": "address[]", + "name": "_adapters", + "type": "address[]" + }, + { + "internalType": "address[]", + "name": "_trustedTokens", + "type": "address[]" + }, + { + "internalType": "address", + "name": "_feeClaimer", + "type": "address" + }, + { + "internalType": "address", + "name": "_wrapped_native", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "Recovered", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "previousAdminRole", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "newAdminRole", + "type": "bytes32" + } + ], + "name": "RoleAdminChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "RoleGranted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "RoleRevoked", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address[]", + "name": "_newAdapters", + "type": "address[]" + } + ], + "name": "UpdatedAdapters", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_oldFeeClaimer", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_newFeeClaimer", + "type": "address" + } + ], + "name": "UpdatedFeeClaimer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_oldMinFee", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_newMinFee", + "type": "uint256" + } + ], + "name": "UpdatedMinFee", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address[]", + "name": "_newTrustedTokens", + "type": "address[]" + } + ], + "name": "UpdatedTrustedTokens", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_tokenIn", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "_tokenOut", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_amountIn", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_amountOut", + "type": "uint256" + } + ], + "name": "YakSwap", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "ADAPTERS", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "DEFAULT_ADMIN_ROLE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "FEE_CLAIMER", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "FEE_DENOMINATOR", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "MAINTAINER_ROLE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "MIN_FEE", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "NAME", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "NATIVE", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "TRUSTED_TOKENS", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "WNATIVE", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "adaptersCount", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "addedMaintainer", + "type": "address" + } + ], + "name": "addMaintainer", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_amountIn", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_tokenIn", + "type": "address" + }, + { + "internalType": "address", + "name": "_tokenOut", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_maxSteps", + "type": "uint256" + } + ], + "name": "findBestPath", + "outputs": [ + { + "components": [ + { + "internalType": "uint256[]", + "name": "amounts", + "type": "uint256[]" + }, + { + "internalType": "address[]", + "name": "adapters", + "type": "address[]" + }, + { + "internalType": "address[]", + "name": "path", + "type": "address[]" + }, + { + "internalType": "uint256", + "name": "gasEstimate", + "type": "uint256" + } + ], + "internalType": "struct FormattedOffer", + "name": "", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_amountIn", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_tokenIn", + "type": "address" + }, + { + "internalType": "address", + "name": "_tokenOut", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_maxSteps", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_gasPrice", + "type": "uint256" + } + ], + "name": "findBestPathWithGas", + "outputs": [ + { + "components": [ + { + "internalType": "uint256[]", + "name": "amounts", + "type": "uint256[]" + }, + { + "internalType": "address[]", + "name": "adapters", + "type": "address[]" + }, + { + "internalType": "address[]", + "name": "path", + "type": "address[]" + }, + { + "internalType": "uint256", + "name": "gasEstimate", + "type": "uint256" + } + ], + "internalType": "struct FormattedOffer", + "name": "", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + } + ], + "name": "getRoleAdmin", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "grantRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "hasRole", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_amountIn", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_tokenIn", + "type": "address" + }, + { + "internalType": "address", + "name": "_tokenOut", + "type": "address" + }, + { + "internalType": "uint8", + "name": "_index", + "type": "uint8" + } + ], + "name": "queryAdapter", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_amountIn", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_tokenIn", + "type": "address" + }, + { + "internalType": "address", + "name": "_tokenOut", + "type": "address" + }, + { + "internalType": "uint8[]", + "name": "_options", + "type": "uint8[]" + } + ], + "name": "queryNoSplit", + "outputs": [ + { + "components": [ + { + "internalType": "address", + "name": "adapter", + "type": "address" + }, + { + "internalType": "address", + "name": "tokenIn", + "type": "address" + }, + { + "internalType": "address", + "name": "tokenOut", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amountOut", + "type": "uint256" + } + ], + "internalType": "struct Query", + "name": "", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_amountIn", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_tokenIn", + "type": "address" + }, + { + "internalType": "address", + "name": "_tokenOut", + "type": "address" + } + ], + "name": "queryNoSplit", + "outputs": [ + { + "components": [ + { + "internalType": "address", + "name": "adapter", + "type": "address" + }, + { + "internalType": "address", + "name": "tokenIn", + "type": "address" + }, + { + "internalType": "address", + "name": "tokenOut", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amountOut", + "type": "uint256" + } + ], + "internalType": "struct Query", + "name": "", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_tokenAddress", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_tokenAmount", + "type": "uint256" + } + ], + "name": "recoverERC20", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "recoverNative", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "removedMaintainer", + "type": "address" + } + ], + "name": "removeMaintainer", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "renounceRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + } + ], + "name": "renounceRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "revokeRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address[]", + "name": "_adapters", + "type": "address[]" + } + ], + "name": "setAdapters", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_wnative", + "type": "address" + } + ], + "name": "setAllowanceForWrapping", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_claimer", + "type": "address" + } + ], + "name": "setFeeClaimer", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_fee", + "type": "uint256" + } + ], + "name": "setMinFee", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address[]", + "name": "_trustedTokens", + "type": "address[]" + } + ], + "name": "setTrustedTokens", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "amountIn", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amountOut", + "type": "uint256" + }, + { + "internalType": "address[]", + "name": "path", + "type": "address[]" + }, + { + "internalType": "address[]", + "name": "adapters", + "type": "address[]" + } + ], + "internalType": "struct Trade", + "name": "_trade", + "type": "tuple" + }, + { + "internalType": "address", + "name": "_to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_fee", + "type": "uint256" + } + ], + "name": "swapNoSplit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "amountIn", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amountOut", + "type": "uint256" + }, + { + "internalType": "address[]", + "name": "path", + "type": "address[]" + }, + { + "internalType": "address[]", + "name": "adapters", + "type": "address[]" + } + ], + "internalType": "struct Trade", + "name": "_trade", + "type": "tuple" + }, + { + "internalType": "address", + "name": "_to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_fee", + "type": "uint256" + } + ], + "name": "swapNoSplitFromAVAX", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "amountIn", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amountOut", + "type": "uint256" + }, + { + "internalType": "address[]", + "name": "path", + "type": "address[]" + }, + { + "internalType": "address[]", + "name": "adapters", + "type": "address[]" + } + ], + "internalType": "struct Trade", + "name": "_trade", + "type": "tuple" + }, + { + "internalType": "address", + "name": "_to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_fee", + "type": "uint256" + } + ], + "name": "swapNoSplitToAVAX", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "amountIn", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amountOut", + "type": "uint256" + }, + { + "internalType": "address[]", + "name": "path", + "type": "address[]" + }, + { + "internalType": "address[]", + "name": "adapters", + "type": "address[]" + } + ], + "internalType": "struct Trade", + "name": "_trade", + "type": "tuple" + }, + { + "internalType": "address", + "name": "_to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_fee", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_deadline", + "type": "uint256" + }, + { + "internalType": "uint8", + "name": "_v", + "type": "uint8" + }, + { + "internalType": "bytes32", + "name": "_r", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "_s", + "type": "bytes32" + } + ], + "name": "swapNoSplitToAVAXWithPermit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "amountIn", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amountOut", + "type": "uint256" + }, + { + "internalType": "address[]", + "name": "path", + "type": "address[]" + }, + { + "internalType": "address[]", + "name": "adapters", + "type": "address[]" + } + ], + "internalType": "struct Trade", + "name": "_trade", + "type": "tuple" + }, + { + "internalType": "address", + "name": "_to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_fee", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_deadline", + "type": "uint256" + }, + { + "internalType": "uint8", + "name": "_v", + "type": "uint8" + }, + { + "internalType": "bytes32", + "name": "_r", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "_s", + "type": "bytes32" + } + ], + "name": "swapNoSplitWithPermit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "trustedTokensCount", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "stateMutability": "payable", + "type": "receive" + } + ], + "transactionHash": "0x9bf51ba578c98772ce7846a093c8dd93909460aa04019a066ba05e4dac4a0529", + "receipt": { + "to": "0x0000000000000000000000000000000000008006", + "from": "0x1A267D3f9f5116dF6ae00A4aD698CdcF27b71920", + "contractAddress": "0x5c60216A5BF341bbBF5da00187E4B6F9f3401b48", + "transactionIndex": 0, + "gasUsed": "210391982", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0x999039fb59c8bf82590a1c0a85f750e3acd53e9da05a7974a40e58a08818c1a1", + "transactionHash": "0x9bf51ba578c98772ce7846a093c8dd93909460aa04019a066ba05e4dac4a0529", + "logs": [ + { + "transactionIndex": 0, + "blockNumber": 2162892, + "transactionHash": "0x9bf51ba578c98772ce7846a093c8dd93909460aa04019a066ba05e4dac4a0529", + "address": "0x000000000000000000000000000000000000800A", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000001a267d3f9f5116df6ae00a4ad698cdcf27b71920", + "0x0000000000000000000000000000000000000000000000000000000000008001" + ], + "data": "0x000000000000000000000000000000000000000000000000011f9cfc112fdf80", + "logIndex": 0, + "blockHash": "0x999039fb59c8bf82590a1c0a85f750e3acd53e9da05a7974a40e58a08818c1a1" + }, + { + "transactionIndex": 0, + "blockNumber": 2162892, + "transactionHash": "0x9bf51ba578c98772ce7846a093c8dd93909460aa04019a066ba05e4dac4a0529", + "address": "0x0000000000000000000000000000000000008008", + "topics": [ + "0x3a36e47291f4201faf137fab081d92295bce2d53be2c6ca68ba82c7faa9ce241", + "0x000000000000000000000000000000000000000000000000000000000000800e", + "0x053b5eab7a3e342f983cf40bcad463bde75831a2ec4255376fa4f6a2596f994b" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000ba1a0b2c000000000000000000000b8701000041000000000102401900000b870320009c00000000003204350000000102200190000000000101043b00002e1700010430000000c0011002102e152e100000040f0000000002000414000000000110004c0000801002000039000000000010043500000bcd011001c7000000400100043d0000004001100210000004240000c13d000000000102801900000b8702000041000000000021043500000b870310009c000000000001042d00000000010000190000000003000019000000000101041a00000b8e01000041000000040010043f00000b8d01000041000000400200043d000000200000043f000000000020043500002e160001042e2e152e0b0000040f000000000012043500000000020000190000000001000416000000200010043f00000060011002100000000006000019000000000121019f000000200300003900000000040000190000004402100039000000000220004c0000000000310435000000000606043b0000002402100039000000040210003900000bd602000041000000000103001900000b8802000041000000400010043f00030000000103550000196d0000213d0000000001010433000000010200003100000b8b02200197000007370000613d0000004002200210000000ff011001900000004101000039000014b00000c13d00000f2d0000213d000000000065043500000b880110009c00000b8801100197000000000221004b000000000500001900000b8b01100197000000400300043d0000000001000031000000000121034f00000000000104350000000001026019000000000410004c0000000101200190000000400040043f000000000202043300000bd7011001c700000b880220009c00000b880220019700000001030000310000000000230435000014b00000213d0000000000450435000000000200a019000000050220021000000be4011001c700000bdd011001c7000000000651034f0000800d02000039000000000404043b000000000100041400000bc501000041000000000112019f0000000008000019000000400030043f000000000202043b00000000030100190000006402100039000000000303043b00000b870410009c0000000302000029000000000430004c000000000320004c000000000204001900000bce011001c70000000003028019000000000434022f0000010003300089000000010660003900000060033002700000003201000039000000000141019f00000000013101cf000000000131022f00000000043401cf000000000402043300000b890310009c0000000000780435000000200430008c00000bd1011001c7000000000300041400000000020004110000000400100443000100000001001d00000001033000390000000007000019000200000001001d000000000131019f0000004002100039000000010110003900000020021000390000000102004039000000000707043b00000b870430009c00000b870340009c00000000030240190000000001100031000000040100008a0000000507600210000000000043043500000000012100190000800202000039000000c00230021000000b890640009c000000000440004c000025ff0000613d00001ad70000213d000000000906043300000f2b0000613d000000000c000019000000400050043f000000000002043500000020055000390000000304400210000000000310004c00000bc6011001c700000b8803000041000000000112004b00000001055001900000000105004039000000400500043d000000000656022f00000100055000890000000305500210000000050530021000000003010000290000000002010433000000000520004c000000040200002900010b870010019d0000006001100270000400000001001d000000000232016f000000090200002900000000001004390000000401000039000000000340004c000000000330004c000000000756004b000000000200003100000b8807000041000015130000213d000000000003043500000000002004390000000009000019000000020100036700000bd60100004100000b870420009c0000000403000039000000000201041a00000002011003670000000102000029000100000002001d000300000002001d2e15098c0000040f00000000020704330000000003050019000000000a0a0433000000000100a01900000b8801000041000000400330021000000f2d0000c13d000000000550004c0000000303400210000000000523004b00000005023002720000001f0430018f000000280300003900000be20300004100000be10300004100000008040000290000000104400039000000000210004c0000000002036019000000000063043500000b880330009c00000b88033001970000001f01300039000100000003001f000000000771034f00000000087900190000000005034019000000200500003900000b870330019700000b870390009c0000000000190435000000400900043d000000000021041b000001000300008a000000000204401900000000014100490000000000410435000000000605043300000004050000290000000201000029000200000002001d000300000001001d000000000221016f000000000221034f00000bd002000041000000400020043f000000040120003900000004010000290000000001120436000000200420008c0000000002060019000000010400002900000b880440009c00000b8804400197000000000640004c000000000300a01900000000040340190000000505500210ffffffffffffffff00002d840000613d00002c880000613d00001e4d0000613d0000000000040435000000200240003900000001010000290000000205000029000016340000613d00000005054002100000000306000029000000000103c019000000000420004c00000000030140190000000d0c000029000000000700801900000b88066001970000150d0000613d0000000f010000290000002005300039000000600110003900000000033104360000000006030433000000000034043500000000020080190000000003022019000000040110008a0000000204000029000000000321004b0000000002320019000000000040043500000000020380190000004001200039000000000303043300000080031000390000000001920019000001000440008900000005055002720000001f0450018f00000005060000290000000002010019000004240000213d0000000000870435000022260000613d000000400090043f00000005088002700000000078060434000000400400043d00000b880660009c000015130000c13d0000001101000039000000100200002900000000040704330000000101004039000000000332004b00000060033000390000000000540435000000600120003900000000070404330000000000730435000000000867004b0000000107700039000000000302043300000b88050000410000000403000029000100000003001d0000000103000039000000010200c03900000000120104340000006001000039000000c002200210000000000104801900000b870400004100000bd90310009c00000000020904330000000002094019000000240290003900000bd0010000410000000000000435000000000112001900000000001304350000002400000443000000200660003900000b880550009c0000000303300210000000000808043b000000200200008a00000b8704300197000400000000000259616b526f757465000000020200002900000b8b09900197000000000aa9004b000000050aa00270000000000a06043300000001099000390000000000ab0435000000000a7a0019000000000b8a0019000000050a900210000019670000a13d000000000a9a004b0000000109000039000000400990008c00000000009804350000000009070433000019670000613d000000000990004c000000200990008c00000000009b04350000000009c9019f00000000099a01cf000000000a9a022f0000010009900089000000000a0a043b000000000c9c022f000000000c9c01cf000000000c0b04330000000309900210000000000bb80019000000000aba034f000000050bb00210000000000c90004c000000000dbc004b000000010cc000390000000000de0435000000000d0d043b000000000dda034f000000000ed80019000000050dc00210000000050bb00272000000020aa00367000000000a0000310000001f09b0018f0000196d0000c13d000000010aa0019000000b890c90009c000000010a004039000000000a000019000080050200003900000bfd011001c7000000020220036700000002070000290003000000000002000000000524004b00000005024002720000001f0340018f0000001f0140003900010b870030019d00000001040000310000000903000029000000040240008c00000000080720190000000004430019000000000464019f00000000045401cf000000000454022f00000000065601cf0000000003630019000000000464034f0000000506600210000000000750004c0000000000890435000000000884034f0000000009830019000000050870021000000005066002720000001f0560018f00000001060000310000000304000367000000000514004b00000000044100190000003f0130003900000b8703100197000000010220015f000000000660004c0000000102000039000014b00000613d00000005040000290000002004100039000000000a69004b000000000575019f00000000055601cf000000000757022f00000000075701cf0000000004490019000000000641034f00000005044002100000001f05500190000000000746004b0000000504500272000000040290003900000be801000041000000000102041a000000150200002900000006020000290000008002100039000000000505043b00000b8b0320009c000000400060043f000000050300002900000b8b04400197000000000301041a000000000634004b00000b870510009c000000000204c019000000000530004c00000000040240190000000007050433000000040260008c000700000001001d00000000040004142e15099d0000040f000000200310008c000000000404043300000b880600004100000000070100190000296b0000613d000028c70000613d000023a60000613d00000b8701100197000022260000c13d2e150fbb0000040f00001f8d0000613d00001f1b0000613d00000c020400004100000000001604352e150a120000040f000000200120008a0000000002310049000000110210003900000bfc02000041000000370240003900000bfb030000412e1524d00000040f2e152df70000040f000000100130008c000000010420008c000000010220008a0000000405300270000000000446019f000000f80440021000000bf7066001970000000005120019000000000445022f00000bfa05000041000000f80440015f0000000f0430018f000000000424004b000000290200003900000bf9033001c700000bf7033001970000002102700039000000020220008c00000bf8022001c700000bf702200197000000020430008c000000000442034f000000000541001900000005043002100000002a01000039000000000207001900000bf60110009c00000b8b0110009c0000150d0000813d000000000551034f000000000441016f000000c0033002100000000003044019000000000105801900000b870610009c000000000305801900000b870630009c00000b8705000041000000040520008c000000800410003900000000030000310000000a03000029000000010900002900000003040000290000000e0100002900000020043000390000000000050435000000000007043500000000002504350000000003040019000000040320008c00000000010e04330000001903000029000000440290003900000f330000a13d00000bd90110009c00000060031000390000000008060433000000000534004b0000092f0000213d00000000050080190000000701000029000300000004001d0000000102200039000000000201043b000007390000213d0000000000620435000500000001001d000000000001041b00000bcf0400004100000001022001bf000300000003001d000000000100041200000bc70100004100000000060080192e1507d50000040f00000b88040000410200000000000000000027c90000613d000022260000213d0000800902000039000020430000613d000400000004001d00000001060000290000000000a604350000000008020433000000000b58016f00000bff0530009c0000000502000029000000200520003900000003070000290000000303000029000200000007001d00000000040560190000000004060019000000000447013f000000000847004b000000000331034f000000010bb000390000150d0000a13d000000000b0000190000000a020000290000155d0000c13d0000000c0b000029000000200310003900000000060760190000000006080019000000000669013f0000000e02000029000000200500008a0000000f050000292e150a250000040f000100000009001d000000000121004b00000000080804330000000007460019000000400430003900000beb0430009c0000000000a90435000000200880003900000000096800190000000e030000290000000f0300002900000000070304330000000000ba0435000000000b0b04330000002009900039000000000a890019000000200200003900000040053000390000000b020000290000001501000029000000000113004b000000ff0340018f000000000061043500000f2b0000c13d00000016030000290000001703000029000000180600002900008010010000390000002001200039001500000001001d000000070300002900000bd90210009c00000b8b088001970000004003100039000000000508601900000b88055001970000002004400039000000000726004b000000000300801900000000040320190000002a0300003900000bdb0300004100000bda0300004100000024012000390000004401200039000000640120003900000be3030000410000000003050433000000080200002900000b8b02300197000500000003001d000800000001001d000000000362004b000000000031041b000000000343019f000000000405043300000bde03300197000000000260004c0000000501000029000200000004001d000000000132004b000000000024041b000000000304041a0000000801000029000000000103801900000b87030000410000000001210049000000000161043600000b8b0660019700000008050000290000000803000029000000000353019f00000000034301cf000000000343022f000000000545022f00000000054501cf000000000353034f000000000773034f00000001050000310000000303000367000000000474019f00000000044601cf000000000646022f000000000747022f00000000074701cf000000000559001900000b8b02100197000500000002001d00000001030000292e1508520000040f00000001010000390000002001000039000000000042043500000005064002100000000004008019000000000650004c000000000035043500000002040003670000000202000367000100000000000253616665455243320200000200000000000000000000000100002bbe0000613d00002ae50000613d00002a200000613d000029c40000613d000027c90000c13d000027cb0000213d0002000000000002000300000007001d00000002060000290000249e0000613d000000100300003900000c0f0300004100000000050104330000000001510019000000000871001900000000011304360000003f03100039000000400230021000000b870530009c00000001010000310000000702000029000022280000c13d000022280000213d0000000002000410000000000230004c0000000400200443000000000341034f00001d910000613d00001d930000213d00001c8e0000613d000a00000001001d00001c900000213d00000be70410009c00001b8a0000613d00001ad10000a13d00001ad10000613d00001ad70000c13d00000004015000390000000000150435000000000998004b0000000509900270000000010880003900000000009a043500000000090904330000000509800210000000000989004b00000000090304330000000108000039000000400880008c000000000880004c000000200880008c00000000008a04350000000008b8019f00000000088901cf000000000989022f0000010008800089000000000909043b000000000b8b022f000000000b8b01cf000000000b0a043300000003088002100000000009a9034f000000050aa00210000000000b80004c000000000cab004b0000000000cd0435000000000c0c043b000000000cc9034f000000050cb00210000000050aa00272000000020990036700000000090000310000001f08a0018f0000000109900190000000010900403900000c000380009c00000b8b0aa00197000000000902043300000000060104330000000000710435000000200320003900000b880720019700000b880880009c000000000a49004b0000000a06000029000015570000613d0000000704000029000000060300002900000b88064001970000000b0300002900000b8b0140009c000000000401043b000000000131034f0000000005060019000000000642004b000000000556013f000000000856004b0000156e0000013d000c0000000b001d000000000064043500000b8809500197000000000865004b000000000242004b000000000958004b00000060041000390000000b06000029000900000001001d0000000203000029000000000225001900000000050304330000000c03000029000000000948004b00000020035000390000000000530435000000000a79004b00000bea011001c7000000000309401900000f390000613d0000001402000029001700000001001d00000040041000390000004003200039000000600220003900000000005604350000000105500039000000200400008a0000000006040433000000000213001900000000060604330000098a0000213d000000000504043b00000b880800004100000b8b0530009c00000044034003700000002402400370000000000503043b000008db0000213d00000b8b0420009c000000000620004c000000000510004c0000000001020019000000000302043b00000000060580190000084a0000213d00000009010000290000000705000029000000000012041b000000010300008a000007370000c13d0000000209000029000000060100002900000bc5050000410000000007060019000900000002001d000600000004001d000000020100003900000b870230009c00000b8b0430009c000000000706801900000b890450009c0000000006560019000000400070043f0000006d0000213d2e15087f0000040f00000000040104336e6565647320746f723a205061746820416363657373436f66696369656e7420723a20496e73756600000004000000000000004400000000ffffffff000000000000002000000000000000240000000000000000ffffffff00002ba80000613d000000120300003900000c140300004100000c1304000041000000020300003900002ae50000c13d00002ab70000613d0000294e0000813d000028aa0000813d00000c110120009c000027af0000613d000027cb0000c13d0000000000300435000000000212004b000000000203041a00000c1003000041000100000004001d0000249e0000c13d0000249e0000213d000023a30000613d000400000005001d000023770000013d000023a80000c13d000023a80000213d0000000001050019000023a60000c13d000023a60000213d0000001f0410008a000000270300003900000c0d0300004100000c0c03000041000000000443016f000022230000613d000021f60000013d00000b8b0140019700000b8e011001c700000c0e0100004100000bc70200004100000b890540009c0000000001a20019000000000208001900000c0b011001c700000000020a401900000b8703a0009c0000000403a000390000002403a000390000004403a000390000006403a000390000008404a00039000000a403a00039000000c403a0003900000000001a043500000c0a01000041000000400a00043d0000000a09000029000500000006001d000000040040044300000000040cc0190000000008bd013f0000000008bd004b00000b880d20019700000b880bb00197000000000c0420190000000008b2004b000000000b820049000000050830021000000b890830009c0000000004930019000000000408601900000000040c001900000000044d013f00000000080b201900000000084d004b00000b880d300197000000000c0b4019000000000843004b00000b880b0000410000000009010019000000000a04001900000000016200190000000404000029000000400600043d000020430000c13d000020430000213d000000000500a019000000000605401900050000000000020000002f0300003900000c050300004100000c04030000410000000003000411000600000001001d000000ff0120008c000000000131004b000080020100003900000b8b0120019700000b8b013001970000002001400039000000400140003900000060014000390000008001400039000700000005001d00001ac10000413d00001a760000413d00001a2b0000413d000000400800043d0000000000a50435000000200650003900000040065000390000008006500039000000000105401900000b870250009c0000001c02000039000000240150003900000c0102000041000000440150003900000000005104350000006006200039000000800620003900000bd90620009c0000000009690019000000000a79001900000000090504330000000008050433000019570000413d000000000aa70019000000000dc700190000000007750436000000400080043f000000050770027000000b890b80009c0000000008850019000000000858016f0000003f08a00039000000000a57016f00000c000870009c0000000067020434000000000a04043300000000090404330000190c0000413d00000000088404360000000009940019000000000954016f0000003f04b0003900000c000480009c000000000a030433000018c10000413d0000000008830436000000000a39004b0000000009930019000000000953016f0000003f03b00039000000800530003900000bd90530009c0000000002040433000000000232004b0000182e0000413d000017e30000413d000017970000413d000000000b18016f00000bff0520009c0000000806000029000018520000613d000000000082043500000beb0320009c00000040015000390000002001500039000000800150003900000bd90150009c0000000000720435000600000002001d000800000000000200000003030000390000000000240435000000000421034f0000000000170435000000400700043d0000000c05000029000000000661034f000000000770004c000000200320008c0000000406000029000500000005001d0000000004420019000000000662004900000b88053001970000000003320019000000000402043b0000129d0000613d000012b60000613d000012400000613d000000000507c019000000000668013f000000000968004b0000000007052019000000000451034f00000000054500190000000f0400002900000b8808500197000000000745004b00000060055000390000000006630049000000000251034f000000000607801900000000080740190000000b04000029000011490000613d0000116b0000c13d0000116b0000613d000010e80000613d000000090d00002900090000000d001d000000a00410003900000bee0410009c0000006404000039000000240410003900000044051000390000000000570435000000640710003900000bed0700004100000bd90410009c00000044040000390000002405100039000000440610003900000bef060000410000000007d6004b00000b8b06b0019700000000050504330000000e05000029000000020400003900000b880770009c00000b8807700197000000050750021000000b890750009c00000000066500190000000f0600002900000000080780190000000a050000290000000004000031000015570000413d0000000000670435000000050650021000000b890630009c000800000005001d00000000030660190000000003070019000000000735004b000000000552001900000b8808200197000000000752004b000000000442004b00000f390000413d0000000b05000029000000010200008a000000180400002900000019010000290000000001090433000000120c000029000000160d000029000000110e000029000000090f000029001800000002001d00000c870000613d000f00000001001d0000000001c1001900000f390000213d000000010100008a0000000c02000029000000010330019000000b890420009c00000001030040390000003f022000390000000003450019000000000356004b000000000836001900000000042400190000000005420019000000000526004b000000000856001900000000020504330000000000140435000000000554004b00000000043500190000003f0440003900000000044700190000000005670019000000000578004b000000000978004b000000000a5800190000000006460019000000000870004c0000000007640019000000000748004b000000000a780019000000000840004c0000002006300039000000400350003900000beb0350009c000000010660019000000b890730009c0000000106004039000000000663004b00000000035600190000003f0330003900000000036700190000000003870019000000000379004b000000000b3900190000000008680019000000000970004c0000000007860019000000000769004b000000000b790019000000000960004c00000000060704330000002008500039000000400220003900000beb0230009c00000b8b04200197000000000104c0190000000004014019000000010110019000000b890230009c0000000003910019000000170200002900000be901000041000000190d000029000000180e000029000000600e10003900000012010000290000000104300039000000ff0130008c00000015030000290000001303000029001800000001001d0000001802000029000000000141004b001800000004001d001900000003001d001600000001001d0000000d0100002900000c690000613d001200000001001d00000080012000390000006002100039000e00000001001d000900000005001d000400000003001d0000004005200039000c00000001001d000700000003001d00000be70210009c000a00000003001d00000b8b03300197000000800110003900000000050404330000000007060433000000200300008a00000000062400190000000007070433000000000140004c00000000040304330000096b0000213d00000064044003700000094c0000213d00000004014003700000007f0310008c0000000008008019000000000602043b000008f60000213d00000044033003700000002402300370000000000205001900000000021200490000000401100039000008a70000213d0000000401300370000000020300036700000000010360190000000001040019000000040120008a0000000005020019000000000130004c000000000554001900000b890860009c000000040210008a0000003f0310008c0000001f0310008c000000360300003900000bd50300004100000bd403000041000800000004001d000007180000813d000000040400003900000be00400004100000bde0110019700000bdf0400004100000b8b04100197000006530000813d000000030400003900000b8a0120009c00000bdc04000041000000000502043300000b890530009c000005cf0000613d000400000002001d000000010220018f0000000002034019000000000204801900000b870520009c000000040460008c0000004403000039000000240310003900000bd803000041000007390000c13d000000000271016f000000200700008a00000bd3011001c70000000403900039000000000100041000000bd2010000410000073f0000613d000800000002001d2e1509b50000040f000000800010043f000000000103401900000044020000392e1509f00000040f000000030100003900000000007604350000000004066019000000000407001900000b8808300197000000000846004b000000c0055000390000006d0000c13d000000010880019000000b890970009c00000001080040392e1508010000040f2e1508a90000040f000000000106001900000b8807300197000000000631004b000000000454034fdb736e83bc33103e5f535c57e1fcb579b1cc1c942b18ad6d60329457004306356572000000000000746f207265636f764e6f7468696e67201967210b09bfaa28b9d77dc85c8a6eb55044f80c202f97728c1256b8896378cd6abdab19966f5b706e4e710873989bfc853a4836042f5a724bb8a6184424e4bb6666696369656e7467746820696e737520686578206c656e537472696e67733a206661696c65642e5472616e736665722e1a7d4d0000000020656e64207769746820574156415800000000e400000000d505accf00000000d0e30db00000000020626567696e20775800000000000000697468205741564172656e6f756e6365616e206f6e6c79206e74726f6c3a20636f722073656c660020726f6c657320660000000100000000eb21e047a839171bb53935d1edc7fd642a47ea670b442974f6391f5c32d9c69d74657073000000006964206d61782d73723a20496e76616c000000000000001fffffffffffffffdf0de0b6b3a76400002000000000000000696e6720726f6c65206973206d69737363636f756e7420006e74726f6c3a2061383961626364656630313233343536377800000000000000300000000000000000ffffffffffffffffffffffffffffa06f757470757420616d6f756e74000000000000a400000000eab90da6000000005cb230f7379544028788e749e5d7a24f087d5e6e1c1aafa39fc8352e52998db46665650000000000a9059cbb00000000ffffffffffffff5f23b872dd00000000000000003b9aca00ffffffffffffffbf69cff80d00000000ef99893a00000000ffffffffffffff807200000000000000ffffffffffffffc000000064000000006c206661696c65646576656c2063616c303a206c6f772d6c6e6f742061206d616c6c65722069732061626c653a2043614d61696e7461696e696e7461696e6572d841b1296a9225fe907ed31d8768e6c238809c69f8b02a7cebf7325f48e05e5e47f5ad2a8c76f4e2036e542a79acae16058c43d8018d077ab2c853ac4d80d18dd8613484c1a586479003f50042df96528f426cb10c052ec2658ff1688002926d6f6e20646964206e206f706572617469303a20455243323065640000000000006f74207375636365ffffffffffffff7f095ea7b300000000000000840000000008c379a0000000006e6f6e2d7a65726f76652066726f6d20303a20617070726f6f77616e636500007a65726f20616c6c20746f206e6f6e2ddd62ed3e00000000023a8d90e8508b8302500962caba6a1568e884a7374b41e01806aa1896bbf265304540a733656f0d7c78024a5027094082e926ec794901d12f8788117e7eff1d000000400000000000000020000000807965db0b0000000001ffc9a700000000ab882de59d99a32eff553aecb10793d015d089f94afb7896310ab089e4439a4cb8aa80fe2126ab95cb0504652c81d4a12ace64958e37e18c339759585899103d0000000001ffc9a70000000000b99e36000000001e189dc200000000061b15e700000000061b15e6000000002f2ff15d00000000248a9ca3000000003a9a40810000000036568abe0000000031ac99200000000031ac991f00000000248a9ca20000000052a52ab0000000004c09cf4e0000000075d19947000000006bf2df86000000006b453c1f000000006b453c1e0000000076ebe69c0000000076c7a3c7000000008980f11f00000000809356aa000000007c7a561b000000007c7a561a0000000076c7a3c6000000004c09cf4d0000000091d14854000000008bb9c5bf00000000a0cf0aea00000000952e90120000000092f5d88a0000000092f5d88900000000a3f4df7e00000000a217fddf00000000c3accd4800000000b381cf4000000000aede369300000000aede369200000000a217fdde00000000d547741f00000000c8a3a5c600000000dd8544b300000000d8baf7cf00000000d73792a900000000d73792a800000000f035038200000000dede7f1500000000fe38c5e600000000f874225400000000f2fde38b00000000f2fde38a00000000dede7f1400000000c8a3a5c5000000008bb9c5be4e487b710000000000000080000001000000000200000000800000000000000000002e150000043200002e130021042300002e0e0021042100002dfa0000613d00002db70000213d00002daa0000a13d00002db00000813d00002daa0000613d00002d980000413d00002d900000413d00002d830000613d00002d860000613d00002cbb0000213d00002cae0000a13d00002cb40000813d00002cae0000613d00002c9c0000413d00002c940000413d00002c870000c13d00002c8a0000613d000000000091043500002be70000613d00002b910000413d00002b990000613d00002bf80000c13d00002bf80000213d000000000309001900002b7b0000013d00002b670000c13d00002bd50000613d000000000190004c00002bc00000613d00002b250000613d00002ad00000613d00002b140000c13d00002aa00000413d00002aa80000613d00002ae70000c13d00002ae70000213d00002a890000013d00002a750000c13d00002ae70000813d00000bef0200004100002b020000613d00002aed0000613d00002a220000613d00000c1204000041000000c002500210000000000501801900000b870450009c0000000005000414000000000103041a000029c60000613d0000295f0000413d0000296a0000613d0000294a0000413d000029810000813d0000290f0000413d000029160000613d0000296d0000613d000028bb0000413d000028c60000613d000028a60000413d000028dd0000813d0000286b0000413d000028720000613d000028c90000613d000028390000613d000028240000413d0000282b0000613d0000280b0000613d000027c80000613d000027fa0000c13d000027980000413d000027a00000613d000000000471016f000027820000013d0000276b0000c13d000027e60000c13d000028200000613d000027370000613d000027200000413d000027280000613d0000273c0000013d000027090000c13d000027d10000613d000026c30000613d000026b30000613d000026a20000613d000026a20000a13d000026890000613d000026890000a13d000026320000213d000026250000a13d0000262b0000813d000026250000613d000026130000413d0000260b0000413d000025fe0000613d000025ad0000c13d000026010000613d000025150000813d000000100250008c000024f30000213d000000010640008c000000010440008a00000004025002700000000000260435000000000227019f000000f80220021000000bf7077001970000000006340019000000000226022f00000bfa06000041000000f80220015f00000003022002100000000f0250018f000025090000a13d000000410400003900000bf9055001c700000bf7055001970000002104100039000025090000413d000000020440008c00000bf8044001c700000bf704400197000025090000613d000024db0000413d000000030650008c000000000664034f0000000007630019000000020440036700000042030000390000250f0000813d00000be70310009c00000000030200190000000004030019000024c50000613d000024b00000413d000024b70000613d000024a60000c13d000024a60000213d000024ac0000613d000000040a00002900040000000a001d0000000002090019000024800000013d000024690000c13d000000040290008c00000b8b026001970000000006000411000000000083043500000002025003670000000208000029000300000006001d00050000000a001d000800000009001d000024a00000613d00000040039000390000000001920049000023e20000613d000023cd0000413d000023d40000613d000023e80000613d0000238c0000413d000023940000613d000000000453016f000023700000613d000023590000c13d000023a50000613d000000000251016f000023c90000613d000400000006001d000000000306401900000b870360009c000023360000013d000023220000c13d00000004016000390000000003000410000023b40000c13d00040000000b001d0000000002a50019000023ae0000613d000000000240004c0000000002076019000000000226013f000000000926004b000000000826004b0000002006a0003900000000025200490000000004a1034f000000000ab9001900000b8807900197000000000649004b000000000905043b0000004005b000390000000001b20049000000000b010019000022870000613d000022720000413d000022790000613d000022680000613d000022530000413d0000225a0000613d0000228d0000613d0000220c0000413d000022140000613d000021f00000613d000021db0000c13d000022250000613d00000000015200190000226e0000613d000000000305401900000b870350009c000021b80000013d000021a40000c13d0000223a0000c13d000022340000613d00000000030760190000000003080019000000000336013f000000000936004b000000000836004b00000020062000390000000003530049000000000292001900000000041300190000224f0000613d000000080a00002900080000000a001d0000210e0000013d000020f90000c13d000000040280008c0000000202900367000000090500002900000004070000290000000308000029000400000007001d00090000000a001d000a00000009001d0000222e0000613d000700000002001d000000400290003900000000049100490000001f0100008a000200000003001d000a0000000000020000207f0000613d0000206a0000413d000020710000613d000000290300003900000c070300004100000c0603000041000020600000c13d000020600000213d000020660000613d0000201d0000013d00000c09011001c70000201a0000613d0000000002064019000100000006001d00000b870560009c000020250000013d0000200a0000c13d00000c08010000410000204b0000c13d000020450000613d000000000406c019000000000557013f000000000857004b0000000006042019000000000652004b0000000005520049000000000643004b0000001f0430008a000000000312004900001f8c0000613d00001f8f0000c13d00001f1a0000613d00001f1d0000813d00000c030230009c00001e800000213d00001e730000a13d00001e790000813d00001e730000613d00001e610000413d00001e590000413d00001e4c0000613d00001e4f0000613d00001dbe0000613d00001da90000413d00001db00000613d00001ced0000413d000000ff0230018f000000010320003900001d990000613d00001d870000a13d00001d790000613d00001d910000c13d00001d930000c13d00001da50000613d00001d530000613d00001d3c0000413d00001d440000613d00001d580000013d00001d260000c13d00001d9f0000a13d000b00000002001d00001d8f0000613d00001d930000813d000b00000000000200001cbb0000613d00001ca60000413d00001cad0000613d00001be30000413d000000ff0210018f000000010120003900001c960000613d00001c840000a13d00001c760000613d00001c8e0000c13d00001c900000c13d00001ca20000613d00001c500000613d00001c390000413d00001c410000613d00001c550000013d00001c230000c13d000b00000001001d00001c9c0000a13d000b00000003001d00001c8e0000813d000001000130008c000000000301043b0000000501200210000c00000002001d00001c8c0000613d00001c900000813d000c00000000000200001bb10000613d00001b9c0000413d00001ba30000613d00001b8a0000c13d00001b920000c13d00001b920000213d00001b980000613d00001b6c0000613d00001b550000413d00001b5d0000613d0000000409000029000400000009001d00001b700000013d00001b3e0000c13d0000002403900039000000440390003900001b8c0000a13d00001afe0000613d00001ab30000413d00001aa60000613d00001a8f0000413d00001a970000613d00001a680000413d00001a5b0000613d00001a440000413d00001a4c0000613d00001a1e0000413d00001a120000613d000019fb0000413d00001a030000613d000019d50000c13d00010000000a001d000000000086043500000000002904350000002009800039000000400980003900000beb0980009c000000000085043500000020070000390000002007800039000000400780003900000beb0780009c000000600750003900000bd90650009c00001add0000a13d000000000676004b000000050700008a000000050640008a000000600a00003900001ad70000813d00000be70650009c000019490000413d0000193c0000613d000019250000413d0000192d0000613d000018fe0000413d000018f10000613d000018da0000413d000018e20000613d000018b40000413d000018a80000613d000018910000413d000018990000613d0000186b0000c13d00000bec1610012a00000000212100a9000019860000413d00000000321200d90000184f0000613d000019860000613d00000000010704330000000001030433000000400170003900000000002704350000000000f1043500000020017000390000006006700039000000800670003900000bd90670009c000018200000413d0000000009790019000000000a190019000000000081043500000000080704330000000008030433000000000aa10019000018130000613d000017fc0000413d000000000dc10019000018040000613d000000000183043600000b890b10009c000000000931004b0000000001130019000000000113016f0000003f03a00039000000000a18016f000017d50000413d000000000a0f043300000000090f04330000000105000029000017c70000613d000017b00000413d000017b80000613d00000000088f0436000000000af9004b00000000099f0019000000400f00043d000000000919016f0000003f09b0003900000c000980009c00000000060f04330000178a0000413d000000000a0204330000177e0000613d000017670000413d0000176f0000613d0000000008820436000000000a29004b0000000009920019000000000912016f0000003f02b00039000000200100008a00000c000280009c000000800520003900000bd90520009c000017400000c13d00000000020f0433000000200f10003900000bfe0100004100000bfe060000410000006003500039000019840000613d000100000005001d000300000008001d000800000007001d00000006060000290000002008000039000000070600002900000060025000390000000000750435000019730000a13d000000050200008a000000050140008a00000060070000390000196d0000813d000016670000213d0000165a0000a13d000016600000813d0000165a0000613d000016480000413d000016400000413d000016330000c13d000016360000613d0000001b0300003900000bf003000041000000250300003900000bf50300004100000bf403000041000015510000613d0000153c0000413d000015430000613d000015320000613d0000151d0000413d000015240000613d000000050110021000000bf104000041000000000201801900000b8b0260009c000000000224001900000b8b0350009c00000b8809300197000000000863004b000000000643004900000005045002100000000002420019000013cc0000613d0000000001720019000015380000613d0000000707000029000700000007001d00000bf3011001c7000000000207401900000b870370009c000014970000013d000014810000c13d0000000402700039000000240270003900000044027000390000006402700039000000840370003900000bf201000041000300000005001d00040000000f001d00050000000e001d000c0000000d001d0000000400e00443000000000243001900000000026d004b00000b8b0250009c000000000502043b0000000002530019000000000262004b000000000709c01900000000088a013f000000000b8a004b00000b880a30019700000b88088001970000000009072019000000000983004b000000200370003900000000088300490000000508600210000000000671034f00000000077600190000000f07000029000600000007001d0000000007c400190000000504d0021000000000040760190000000004080019000000000449013f00000b8809600197000700000006001d0000000006c500190000000006d6004b000000010d2000390000000e0600002900000b8b06e0009c000000000e06043b000000050520021000000b8b05f0009c000000000f05043b00000000055600190000000505700210000000000557004b0000000107200039000014080000813d000000010f000029000000000772004b000000010750008a000014b20000813d0000000007086019000000000709001900000000077a013f000000000b7a004b00000b880a6001970000000009082019000000000976004b0000000007730049000000000561034f000000000609601900000000060700190000000007088019000000000667013f0000000009084019000000000967004b00000b8807500197000015830000413d0000002003300039000014b00000013d000012cd0000c13d00000000060740190000000001b1004b000015190000613d000013800000613d000013690000413d000013710000613d0000000709000029000700000009001d000013860000013d000013530000c13d0000000000520435000000050500002900060000000c001d00070000000a001d0000000400a004430000000503b0021000000000033b004b00000b8b0450009c000000000441034f00000000053b004b000000000762004b00000020025000390000000506300210000000000351034f0000000005350019000000000c0304330000000003c40019000000000338013f000000000938004b0000000005b5004b00000b8b05a0009c000000000a05043b0000000504b00210000013bd0000813d00000000044b004b0000156e0000613d000012860000413d0000128e0000613d000012b60000c13d000012290000413d000012310000613d0000126f0000013d0000125a0000c13d000012120000013d000011fd0000c13d000011e90000c13d00000000050c0433000000000763004b000000000448013f00000b8b0520009c000000050620021000000b890620009c00000b880620019700000b880540019700000000001c0435000011320000413d0000113a0000613d000010d10000413d000010d90000613d0000111b0000013d000011020000c13d000010ba0000013d000010a10000c13d0000108d0000c13d0000000005310049000000000531004b000000000404041a000000000242034f000000000608c019000000000779013f00000b88094001970000000008062019000000000874004b00000020046000390000000007740049000000000562034f000000000552034f00000000003c0435000027102320011a00000000322100a9000000000323004b00000000431300d9000010380000613d0000271002400089000015570000813d000027110240008c000015980000213d000000000202041a000011630000613d000010240000c13d000d0000000c001d000000000d000410000000000151019f00000000011301cf000000000313022f0000010001100089000000000515022f00000000051501cf000000030110021000000000022c0019000000000323034f0000101c0000613d000010050000413d000000000625004b000000000663034f00000000076c00190000100d0000613d000000050220027200000002033003670000001f0120018f000000000c130436000000000553004b000e00000005001d0000000003350019000000000353016f0000003f03200039000000000335013f000000000835004b00000000070620190000000003230049000000050210021000000b890210009c000000000151034f00000000050660190000000005070019000000000558013f000000000600a01900000000070640190000000005530019000b00000005001d000a00000002001d00000000051200490000001f0200008a000000000b020019000f00000000000200000fb50000613d00000fa00000413d00000fa70000613d00000f960000613d00000f810000413d00000f880000613d00000f770000613d00000f620000413d00000f690000613d00000f580000613d00000f430000413d00000f4a0000613d0000000c0100002900000c870000013d00000c870000213d000000000343004b00000bec5330012a00000000535300a9000000000442004900000f390000013d00000f1f0000813d000000000434004b00000000545400d900000f1c0000613d000000000450004c000000000334004900000f260000a13d00000c870000a13d00000c870000c13d00000b8b03400198000000000442013f0000000a0400002900000000022300190000001605000029001900000001001d00000000001f043500000000010f0433000000000221013f00000000001d04350000000003c2016f00000ec40000a13d00000eb90000413d00000ec40000613d00000eb40000a13d00000ea90000413d00000eb40000613d00000000050d04330000000005c4016f00000e8b0000a13d00000e800000413d00000e8b0000613d00000e7b0000a13d00000e700000413d00000e7b0000613d00000018030000290000000006c3016f00000e510000a13d00000e460000413d00000e510000613d00000e410000a13d00000e360000413d00000e410000613d00000000070104330000000001c1016f00000f7d0000613d00000e000000613d00000de60000413d00000dee0000613d00000e1e0000013d00000e050000013d00000dd00000c13d00090000000f001d00110000000e001d00120000000c001d00000dce0000613d00160000000d001d0000000b0100002900000000022d0436001900000004001d0000004004d0003900000000004f0435000000600fd000390000008005d0003900000bd901d0009c000000400d00043d00000c830000613d00000cdd0000413d00000d760000a13d00000d680000613d0000000002c1016f000000200c00008a00000f3f0000613d00000d420000613d00000d2b0000413d00000d330000613d0000001109000029001100000009001d00000d470000013d00000d150000c13d0000000d02000029001000000002001d00000f290000813d00000c8c0000013d000d00000001001d00000f290000613d00000f290000213d0000000502200270000000020110008a00000f290000a13d000000010110008c00090000000c001d00000000030e043300000000021c013f0000000003d2016f00000c500000a13d00000c450000413d00000c500000613d00000c400000a13d00000c350000413d00000c400000613d0000000e040000290000000005d4016f00000c160000a13d00000c0b0000413d00000c160000613d00000c060000a13d00000bfb0000413d00000c060000613d0000000006d3016f00000bdc0000a13d00000bd10000413d00000bdc0000613d00000bcc0000a13d00000bc10000413d00000bcc0000613d00000000070204330000000f02000029000000000c0904330000000001d1016f00000f9c0000613d00000b8c0000613d00000b740000413d00000b7c0000613d0000001709000029001700000009001d00000baa0000013d00000b910000013d00000b5d0000c13d00180000000e001d00190000000d001d00000b5a0000613d00000a8d0000413d00000b260000a13d00000b180000613d0000000002d1016f000000200d00008a00000f5e0000613d00000af20000613d00000adb0000413d00000ae30000613d0000001009000029001000000009001d00000af70000013d00000ac50000c13d0000001102000029001100000001001d0000000a01000029001400000002001d00000004020000390000000001160436000f00000004001d0000004004600039000000600560003900000080056000390000000c06000029000200000005001d000000000203043300000060042000390000000031020434000000600300003900000f2d0000813d001300000001001d000d00000002001d000600000005001d000b00000006001d001900000000000200000a1f0000c13d00000a1f0000213d0000001f02200039000000090200003900000be60300004100000a0c0000813d00000be50210009c0000000043020434000009e30000413d000000000373043600000b8b07700197000009ea0000613d0000000003530436000000600610003900000040042000390000000005340019000009d20000413d000000000875004b0000000003830436000009d90000613d000000000570004c000000000375043600000000075400190000000004140049000009c10000413d00000000058504360000000008040433000009c70000613d000000000760004c000000c005100039000000a0051000390000008006000039000000003402043400000000053104360000001f02300039000009b00000a13d000000000234004b000009a50000413d0000000005140019000009b00000613d000000400110003900000000043104360000099c0000a13d000000000245004b000009920000413d000000000645004b000000000735001900000000062500190000099c0000613d0000000001240019000000ff0540008c0000098a0000613d0000008405500370000000640450037000000044035003700000002402500370000000040150037000000002050003670000096b0000613d0000009f0310008c0000094c0000613d000000000117004b00000000078400190000002404700039000000050850021000000004057000390000092f0000c13d00000000050900190000000005a5013f000000000ba5004b00000b880a1001970000000009088019000000000915004b000000230570003900000b890570009c000000000705043b000000640540037000000004024003700000092f0000613d0000007f0420008c000008f60000613d0000005f0310008c000000c407700370000000a40670037000000064047003700000004403700370000000ff0350008c00000084037003700000002402700370000008db0000c13d000000800420008c00000004017003700000000207000367000008db0000613d000000df0410008c000008a70000c13d0000000002046019000000000400a0190000000005044019000000800520008c00000b890410009c000008a70000613d0000005f0410008c0000087d0000c13d00000bc8021001970000087d0000613d0000000401100370000008670000213d0000002402100370000008670000613d0000083e0000413d00000b8b0760009c0000000206400367000008480000613d000000000115004b00000024044000390000084c0000c13d00000001077001900000084c0000213d00000001070040390000000006620019000000000662016f000000200600008a0000003f025000390000084c0000813d00000b8a0230009c000000000232034f00000004034000390000084a0000c13d00000000030560190000000003060019000000000373013f000000000873004b00000b8807100197000000000613004b000000230340003900000b890340009c000000000403043b00000004032003700000084a0000613d0000001f0420008c0000002402200370000007ff0000213d00000b8b0310009c0000000401200370000007ff0000613d000007e80000213d00000b8b0210009c000007e80000613d000007cf0000613d000007ba0000413d000007c10000613d000007290000413d000007340000613d0000000906000029000007140000413d000006d90000413d000006e00000613d0000078d0000613d000006640000413d0000066f0000613d0000064f0000413d000006140000413d0000061b0000613d000007790000613d000007a10000613d000005e90000613d000007680000613d0000000002520019000005b80000413d0000000008720019000005c00000613d000000000221043600000001044001900000000104004039000000000413004b0000000003310019000000000371016f0000003f0120003900000b87021001970000000507000029000500000007001d000005a20000013d0000058a0000c13d000007540000c13d000007b60000613d000005570000613d000005400000413d000005480000613d000200000009001d0000055c0000013d000005290000c13d000004e50000c13d000004910000c13d0009000000000002000004350000613d000000000203001900000bcc011000410000006002200210000000000104401900000b870540009c2e1516a70000040f2e15094e0000040f2e151cc10000040f2e1508dd0000040f2e151aee0000040f2e15283f0000040f2e15198c0000040f2e1509310000040f2e151ec00000040f00000bcb0100004100000bc5020000412e1525260000040f2e151b000000040f2e15096d0000040f2e1504260000040f00008005010000392e152b3a0000040f2e151f320000040f2e1529870000040f2e151dc40000040f00002710020000392e1524cb0000040f2e1515aa0000040f2e1526720000040f2e151bb70000040f2e1508f80000040f2e1520850000040f00000bc20120009c0000040f0000613d00000bc10120009c2e15229f0000040f00000b970120009c000003fa0000613d00000b960120009c00000bb20120009c000003df0000613d00000bb10120009c2e150a010000040f00000ba40120009c000003c60000613d00000ba30120009c2e152bfe0000040f00000bbf0120009c000003a90000613d00000bbe0120009c2e152cfb0000040f00000b9d0120009c0000039d0000613d00000b9c0120009c2e15268b0000040f00000bb80120009c000003880000613d00000bb70120009c000000010100c0392e1526a40000040f2e1526b50000040f00000baa0120009c0000036d0000613d00000ba90120009c000000010110018f000000010100603900000bca0110009c000000010200603900000bc90210009c00000bc8011001972e1508690000040f00000bc40120009c000003560000613d00000bc30120009c000002200000213d00000bc00120009c00000b8c010000410000012000100443000001000010044300000160001004430000014000000443000000800100043d2e1504370000040f00000b8b0540009c000001000400043d000000e00300043d0000013d0000413d000000000743004b00000b8b0870009c00000000570504340000000006020019000001450000613d000000000336004b000000000827004b0000000007720019000000000727016f0000003f07600039000000a004500039000000000484013f000000000984004b000000000734004b000000bf04500039000000c00500043d000001090000413d000000200770003900000b8b0980009c0000000058050434000001110000613d000000000636004b000000000817004b0000000007710019000000000721016f0000003f016000392e151fa40000040f00000b950220009c0000033c0000613d00000b940320009c000003300000613d00000b930320009c000002100000a13d00000b920320009c2e152a370000040f2e1507ea0000040f00000bb00120009c000003220000613d00000baf0120009c000003070000613d00000bae0120009c000001f10000a13d00000bad0120009c2e1529db0000040f00000ba20120009c000002e30000613d00000ba10120009c000002c80000613d00000ba00120009c000001cc0000a13d00000b9f0120009c2e1528e30000040f00000bbd0120009c000002bc0000613d00000bbc0120009c000002a10000613d00000bbb0120009c000001bc0000a13d00000bba0120009c000001550000a13d00000bb90120009c2e1526c50000040f00000b9b0120009c000002950000613d00000b9a0120009c0000027b0000613d00000b990120009c000001ac0000a13d00000b980120009c000000e30000213d00000b910320009c2e1523fa0000040f00000bb60120009c0000026f0000613d00000bb50120009c000002630000613d00000bb40120009c0000018a0000a13d00000bb30120009c000000cf0000213d00000bac0120009c000000a50000a13d00000bab0120009c000000f30000413d00000b8a0140009c000000a0015000390000000001046019000000000171013f000000000871004b0000000006048019000000bf01500039000000a00310003900000b890350009c000000a00500043d000000000304c01900000b8805100197000000800410008c000000000363019f00000000033401cf000000000636022f00000000063601cf000000a0055000390000004b0000613d000000000630004c000000340000413d000000a007700039000000000874034f0000003c0000613d00000005051002720000001f0310018f000000000323016f000000bf03100039000000a001000039000003c90000013d00000ba80120009c000002450000613d00000ba70120009c000002300000613d00000ba60120009c000001710000a13d00000ba50120009c000000bb0000213d00000b9e0120009c0000008f0000213d00000b900320009c000000770000a13d00000b8f0320009c000000e002200270000000730000413d000000040210008c0000008001000039000000250000c13d000100000000001f00000b870030019d00020000000103550003000000410355015802bf0063007001570b2b0b2a0b290b28004c0b270b26003400470b250b2402be00620b230b220b210b200b1f0b1e0b1d0b1c0b1b0b1a0b190b180b170b1600110024000b00110b150b1400340024000b001100470b1301560b1200610b1102bd0b100b0f0027008d0b0e01550b0d012a006f00b50b0c0b0b0b0a00ff052f01540b0900eb0b080b07005c006e006d0b060b0502bc009f0b04002a00fe0b0302bb00fd01530b0200b400110b010b0001290aff0afe0238052e00270afd052d00420afc02ba0afb0041052c0afa000b00110af903670af80af7001c000d003d001b001a0007000b0011001700200af60af50af40af30af20af10af00aef0aee0aed0aec00110024000b00110047052b0aeb0001001d00030002001000200aea0ae90ae80ae70ae60ae50ae40ae30ae200110024000b0011004702370ae10001001d00030002001000200ae00adf0ade0add0adc0adb0ada0ad90ad800110024000b00110047052a0ad70001001d00030002001000200ad60ad50ad40ad30ad20ad10ad000110024000b0011004702370acf0001001d00030002001000200ace0acd0acc0acb0aca0ac90ac800110024000b001100470ac70ac60001001d00030002001000200ac50ac40ac30ac20ac10ac00abf001103660abe0001001d000300020010002002b90abd0abc000f0abb0aba006005290528036505270526036400ea052503630ab9012900fc0ab8002701d80ab70ab601290ab5012a006f05240ab40ab3036201290ab201d70ab100800361052300fb0ab002360aaf00fa05220521009300110aae01d60092036502b90aad0aac001d0aab0aaa006005290528036505270526036402b8052503630aa9012900b30aa800180aa70aa60aa5012901520520007f0aa40aa30aa2036001290aa10aa001290a9f0a9e0a9d0a9c02b70a9b02b60a9a0a9900200a980a970a960a950a9400110024000b001100470a930a920a9100230a900a8f00170a8e00280a8d001d00220001000300020010009e00200a8c0a8b0a8a00110024000b0011004702b500c30a8900c20a880019003c00170a87001d00220001000300020010009e00200a860a850a8400110024000b0011008c008b003301d50018008a0042004b005600410032004a000b001100b200c100060a830045001d00220001000300020010009e00200a820a810a8000110024000b0011004702b50a7f0001001d00030002001000200a7e0a7d0a7c00110024000b0011004702b50a7b0001001d00030002001000200a7a0a790a7800110024000b0011008c008b0033009d0018008a0042004b005600410032004a000b00110a770128000f007e01d400f900e9001300150012008900e8003b0026002800200a760a750a7400110024000b0011008c008b0033009d0018008a0042004b005600410032004a000b0011051f0019001d00220001000300020010009e00200a730a720a7100110024000b0011004703660a700001001d00030002001000200a6f0a6e0a6d00110024000b00110047052b0a6c0001001d00030002001000200024000b001100470a6b0a6a0128000f007e051e00f900e9001300150012008900e8003b0026002800200024000b0011008c008b003301d50018008a0042004b005600410032004a000b001100b200c100060a690045001d00220001000300020010009e00200024000b0011004702370a680001001d00030002001000200024000b0011004703660a670001001d00030002001000200024000b0011008c008b0033009d0018008a0042004b005600410032004a000b0011000f0a6600140013001500120010009e00200024000b0011004702370a650001001d00030002001000200024000b0011008c008b003301d50018008a0042004b005600410032004a000b001100b200c100060a640001001d00030002001000200024000b0011004702b50a630001001d00030002001000200024000b0011008c008b003301d50018008a0042004b005600410032004a000b001100b200c100060a620001001d00030002001000200024000b0011008c008b0033009d0018008a0042004b005600410032004a000b0011000f007e023500b10234007d01510a61051d0a60004502b401500001035f051c0010009e00200024000b0011008c008b0033009d0018008a0042004b005600410032004a000b001100b20019001d00220001000300020010009e00200024000b001100470a5f0a5e001d00220001000300020010009e00200024000b0011004702370a5d0001001d00030002001000200024000b0011008c008b0033009d0018008a0042004b005600410032004a000b0011000f0a5c00140013001500120010009e00200024000b0011008c008b0033009d0018008a0042004b005600410032004a000b0011035e00190045051b0a5b00200024000b0011008c008b003301d50018008a0042004b005600410032004a000b001100b200c100060a5a0001001d00030002001000200024000b001100470a590a580128000f007e051a00f900e9001300150012008900e8003b0026002800200024000b00110047052a0a570001001d00030002001000200024000b0011008c008b003301d50018008a0042004b005600410032004a000b001100b200c100060a56001d00220001000300020010009e00200024000b0011008c008b0033009d0018008a0042004b005600410032004a000b0011000f00490013001500120010009e00200024000b0011008c008b0033009d0018008a0042004b005600410032004a000b001102b60019001d00220001000300020010009e00200024000b001100470a550a540128000f007e051e00f900e9001300150012008900e8003b0026002800200024000b001100470a530a520128000f007e051a00f900e9001300150012008900e8003b002600280020001700070063000101d30a510a5000080a4f014f0a4e0a4d000900050a4c00060016001700070a4b035d0233051901d2014e001e0001000a000300020008000e000c00090005003a0006007c02b30039035c001f00250001000a000300020008000e000c00090005003a00060019003c0a4a014e001e0001000a000300020008000e000c00090005003a000600b0001f00250001000a000300020008000e000c00090005003a000600c000e700af023200e6000f0013007b0088006c0066001200100091005f006b005b00bf023100440127035b0021004c003a005e000d001e0001000a000300020008000e000c00090005003a000600b0001f00250001000a000300020008000e000c00090005003a00060019003c0a49005e000d001e0001000a000300020008000e000c00090005003a000600b0001f00250001000a000300020008000e000c00090005003a000600c000e700af023200e6000f0013007b0088006c0066001200100091005f006b005b00bf0231035a0127035b0021004c003a02b600ae0230005e000d001e0001000a000300020008000e000c00090005003a000600b0001f00250001000a000300020008000e000c00090005003a00060019003c0518014d00b103590045022f007d0001000a000300020008007a0090000901270005003a0006000b003a00e5051700e4051602b20515005d0053014c022e01d10a4800520a4700130015001200e3014b003b00080028051400f80a46000903580063007000e2007900e100e0012601250a450027008d00df00de00870078006f00b50a4400fc0a4300ff005a02b1009c01d002b002af002e012402ae02ad02ac005500dd0035000501270a4200dc0513051201230043002300860077022d000505110034003300520079002a01cf00db01ce005600da01cd002c0357014a002c0a41002b03560004008505100004050f00d9050e002d0149022d01220061007b050d0a4000380a3f0148050c050b003b003701cc014700260028035f006a050a0146002800f80a3e00210a3d05090508003500ad00ac0a3c0145006905070a3b0a3a000f0a390a38002a0a370506022d0a36051100610a3502ab02aa012601250a340027008d0a3302a900870078006f00b50a3200fc050700ff02a80a31009c050502a702a60065012402a502a402a3000400ab002c0a30014400690a2f009f00f7002a00fe005100aa00fd0050006a00d8002c0357003700d70023014300430357000b0a2e005e000d001e0001000a000300020008000e000c00090005003a000600b0001f00250001000a000300020008000e000c00090005003a001d00060019003c0a2d02b700ae00f602a20121002d012000680a2c002a02a1009b00eb02a0029f00d601cb0a2b029e029d00be011f003b0066029c00260028000a00be011f01460028006b005b014205040021004c003a029b00a90503022d0502029a029902b30298050101410297011e0001000a0003000200080059000c00090005003a022c0296014f02b4011d011c011b050102300084011c0a2a011e0001000a0003000200080059000c00090005003a0127029502a10a290006002301ca0294009b029301c9029202910084022b02900a28005e000d001e0001000a000300020008000e000c00090005003a000600b0001f00250001000a000300020008000e000c00090005003a00060019003c0518035e028f01ca00a80500000f0085022a02b8028e028d00140013007b0088006c0066001200100091005f000e005b014204ff0021004c003a029604fe00670028028c0355005e000d001e0001000a000300020008000e000c00090005003a000600b0001f00250001000a000300020008000e000c00090005003a001d00060019003c0a2700f500f60354028b002d012000680a26002a009b00eb02a0029f00d601cb0a25029e029d00be011f003b0066029c00260028000a00be011f01460028006b005b014204fd0021004c003a022900a90503022d04fc029a0299035c029804fb028e04fa011e0001000a0003000200080059000c00090005003a022c0353014f01c8011d011c00d504fb02300084011c0a24011e0001000a0003000200080059000c00090005003a0a23029503540a220006002301ca0294009b029301c9029202910084022b02900a210359051b001600170007001c000d003d001b001a0007000f006400d40004002b00d30004002f00d20004003100140030002900040013001500120010004f0007006404f90004002b04f80004002f04f70004003100140030002900040013001500120010004f0007000f002b028a000400310014002f0029000400300004001300150012001000580007028900d4002d028800d3002d028700d2002d00bd002200f40029002d0001000300020010004f0007028900d4002d028800d3002d028700d2002d00bd002200f40140002d0001000300020010004f0007000f006402860004002b02850004002f02840004003100140030002900040013001500120010004f000700d100d00a20001800a7005a002e0040007f00cf0a1f00b30a1e00ce005700760075006d00480006006e0074007300720022000100380003000200260007011a003304f6001801190042004b011800410032004a000b0a1d00b200c100060a1c0a1b001600170007011a003304f5001801190042004b011800410032004a000b0a1a02be0a1900060a180a170a16006200160017000704f4009f0a15002a0283005100aa02820050006a00d8002c0a1402be0a130a120a1103520a10013f0a0f002703510a0e00db0a0d02280a0c00da0a0b0a0a00b40a090a080a0703500a060a0500a70a040a030a02001d0a01028100800a0004f309ff09fe09fd01c7000409fc04f209fb035204f109fa001704f009f9002e09f80352009b004002800084052e09f7034f001600170007001c000d003d001b001a0007011a003304f5001801190042004b011800410032004a000b09f600bc09f5006201c609f409f30006001600170007011a003304f6001801190042004b011800410032004a000b09f200b200c1000609f1004309f0001600170007012804ef009f09ef002a02830042034e0282004104ee04ed000b09ee04ec04eb000609ed04ea04e904e8023809ec004409eb0051034d09ea005004e709e9002c09e804e60062034c04ea04e50065001600170007012804ef009f09e7002a02830042034e0282004104ee04ed000b09e609e509e400060077034b04e904e8009f09e3002a00fe005100aa00fd0050006a00d8002c09e209e1006201c6034b09e0034a09df034b09de006509dd005c09dc002e09db0087001600170007011a003309da001801190042004b011800410032004a000b09d904ec04eb000604e60062034c04e404e50065036004e400160017000704f4009f09d8002a0283005100aa02820050006a00d8002c09d702bd09d604e30349006201c60227034800650347022709d509d409d3022709d2034609d100bb09d009cf027f09ce04e209cd015309cc027e00cd09cb09ca052f03450362022709c909c809c709c60227052c001600170007011a003304e1001801190042004b011800410032004a000b09c502bd04e000060349006201c604df03480065034704df04de005c001600170007011a003309c4001801190042004b011800410032004a000b09c309c209c1000609c0006201c604dd09bf0065036004dd09be005c09bd01c5001600170007011a003304e1001801190042004b011800410032004a000b09bc02bd04e000060349006201c60344034800650347034404de005c09bb0344001600170007006304dc04db09ba09b9004409b8009b09b704da052009b609b509b409b300490016002909b2013e011709b1006809b0002a09af028004d903430040022609ae09ad09ac0342009a09ab04d800af008f0016002909aa09a909a8004009a70341004009a609a509a40080028009a309a2013d013c09a1034009a00116027d099f013b04d7099e099d099c004401520225027c099b033f099a09990998099701d60996033e04d6099502bb099400270280013a09930992006f00b5099104d5033d004e001400320016099004d4011501d601c9008e033c012104d4033b0117033d004e0224005304d50016000f098f098e008300f30085098d0004098c00140016001c000d003d001b001a0007098b04d800af014f0043002300860077098a0005098900340016001c000d003d001b001a000709880987098604fa04d309850984000f04d2098301c400f30083098200040085000404d1002d01140049000f027b003f01c400f30083027a000400850004002d01140049000f04d00223003f01c30981098004cf04ce097f097e028b022a01d6097d097c0099097b04cd0055097a09790117097804cc0014000f027b003f01c400f304cb009a0083009a0085009a0049000f02790223003f01c204ca0034013900490120004902780049009a097701c104c9000b00180098097604c809750045033a04c7004504c6027709740018002a04c501c104c404c30222001f0001000a00030002000800590973000900050097000604c2008f001900f200ba004504c1007d0001000a000300020008007a009000090276000500970006000b009700e501c000e40221005d02750004014c0274000401bf04c0000401d109720052097100130015001200e3014b003b00080028005800f809700009096f0063007000e2007900e100e001be096e0027008d00df00de00870078006f01bd096d01bc096c01bb01ba01b900a6013a01b801b7002e00a500a401b601b5013800dd003500050276096b00dc096a096901230043002300860077003f000500cc0034003300520079002a01cf00db01ce005600da01cd002c0273014a022000b4096804bf01370121013609670149003f012200610224005300830275000400850274000402720279022004be0339033804bd027104bc02700966026f04bb021f00d70018009804c8026e002c0965026f003700f200ba0045033a007d0001000a000300020008007a009009640963000904ba04b9000500970006000b009700e504b800e4005d04b7021e09620052096100460098096001480015014700e3021d033700cb000800820336095f0009095e0063007000e2007900e100e001260125095d0027008d00df00de00870078006f00b5095c00fc04b9095b00ff005a02b1009c01d002b002af002e012402ae02ad02ac005500dd0035000504ba095a00dc095904b602700017013504b5003f04b400cc006100ca003800f7002a04b3005100aa00c9005004b2000b0273021f09580957095601c2004e04b104b0003f01c204af004e026d009900390113021c026c005300a304ae04ad04ac095500bb026b026a04ab0269026801b4095404aa095304a9021b026704a8095204a700bb026b026a04a6026902680335095104a5095004a400b904a302bc04a2094f04a104a00027049f049e003f049d00cc0061026603340265026700a3049c003f049b00610333008e021c0046049a01340499094e006002640263049800c802620332094d0497094c0496021b01d00495094b0494006002640263049300c802620492094a049109490490021a048f008e048e0948048d048c004400a20092003f00a100cc004d094701170331033000460261003f0260004d0219048b0053000f01b3048a034d09460027025f01520489025e012a02810945048809440487021a033002bb094304860027025f01520485025e012a00b5094204840941048300b9032f00140482094003420136001804810480003f047f00cc00f3047e0022047d093f035300370043047c047b00b00022093e028e093d029b093c093b029b093a00ab004e004e093900a00938051f047a001904cc000b093704c70045033a0277093600230935047d013300a003380133022b021800a00934011200190933025d02220112000d0001000a0003000200080059093200090005009700060133008f0019004504b700a00479011200190133025d02220112000d0001000a0003000200080059000c00090005009700060133008f0019004504c6000f027b003f01c400f304cb009a0083009a0085009a0049000f02790223003f01c204ca0034013900490120004902780049009a033901c104c9000b04790018002a04c501c104c404c30222001f0001000a0003000200080059000c000900050097000604c2008f001900f200ba004504c1007d0001000a000300020008007a009000090276000500970006000b009700e501c000e40221005d02740004014c0275000401bf04c0000401d109310052093000130015001200e3014b003b00080028005800f8092f0009092e0063007000e2007900e100e001be092d0027008d00df00de00870078006f01bd092c01bc092b01bb01ba01b900a6013a01b801b7002e00a500a401b601b5013800dd003500050276092a00dc0929092801230043002300860077003f000500cc0034003300520079002a01cf00db01ce005600da01cd002c0273014a022000b4092704bf01370121013609260149003f012200610224005300830274000400850275000402720279022004be0339033804bd027104bc02700925026f04bb021f000b0924000f027b003f01c400f30083027a000400850004002d0114004909230922003f00f5003701c3004e032e0121021701d6092100990920091f091e091d0117091c04780022091b000b091a0919026f003700f200ba0045007e007d0001000a000300020008007a009009180917091600090477047604750474000500970006000b009700e504b800e4005d00c2021e0915005209140046091301480015014700e3021d033700cb000800820336025c000902160063007000e2007900e100e001be09120027008d00df00de00870078006f01bd091101bc047404760477091001bb01ba01b900a6013a01b801b7002e00a500a401b601b5013800dd003500050475090f00dc090e04b602700017013504b5003f04b400cc006100ca003800f7002a04b3005100aa00c9005004b2000b02730473032d0472090d021f01c2004e04b104b0003f01c204af004e026d009900390113021c026c005300a304ae04ad04ac090c00bb026b026a04ab0269026801b4090b04aa090a04a9021b026704a8090904a700bb026b026a04a6026902680335090804a5090704a400b904a302bc04a2090604a104a00027049f049e003f049d00cc0061022003340905026700a3049c003f049b00610333008e021c0046049a013404990904006002640263049800c8026203320903049709020496021b01d0049509010494006002640263049300c8026204920900049108ff0490021a048f008e048e08fe048d048c004400a20092003f00a100cc004d0471011708fd00460261003f0260004d0219048b0053000f01b3048a034d08fc0027025f01520489025e012a028108fb048808fa0487021a033002bb08f904860027025f01520485025e012a00b508f8048408f7048300b9032f0014048208f603420136001804810480003f047f00cc00f308f504700353047808f408f30043047c00b0008f08f2021f08f1011200190133025d02220112000d0001000a0003000200080059000c0009000508f0009700060133008f001902b20472021500d5032c025b0083004e013e08ef004e08ee08ed00a9011d004e08ec08eb01c8013608ea033101370121032b01d6022608e908e8046f08e708e6047108e508e4046e01b2046d08e308e201b2046d046e01b208e1046f08e008df08de08dd02b304d008dc08db001600170007001c000d003d001b001a0007001c000d0071001b001a0007001c000d0132001b001a000700d100d008da001800a7005a002e0040007f00cf08d900b308d800ce005700760075006d00480006006e007400730072002200010038000300020026000700d100d008d7001800a7005a002e0040007f00cf08d600b308d500ce005700760075006d00480006006e007400730072002200010038000300020026000700d100d008d4001800a7005a002e0040007f00cf08d300b308d200ce005700760075006d00480006006e007400730072002200010038000300020026000700d100d008d1001800a7005a002e0040007f00cf08d000b308cf00ce005700760075006d00480006006e007400730072002200010038000300020026000708ce014108cd08cc08cb047a008300bc08ca00f10062021408c908c801d7046c008008c7027f046b032a08c608c5015308c408c300cd01b1025a046a08c2000608c1005408c008bf009b01d70469008008be00db027f08bd023608bc00da0468046700b4003e08bb0259046608ba00a308b908b808b7004400a2046500b800a101310061026508b608b5021408b408b308b20044046408b108b0002e0463033f08af08ae034e08ad005708ac08ab08aa050508a908a8006508a708a608a508a4002204db08a308a208a102b60019000b08a0011200c100060258004e002c011101b0089f0329089e089d089c089b009d089a03560899089804620897089608950461026e04d902be0460089401c500b703280060045f0110032701b4010f025701300256025501af003e045e045d089301c5045c0054045b0892089101d708900060088f045a088e03350236088d0459088c01af003e00cd0111088b0062034c00540458088a01c90457045600cd0111088904620888000f0254045504540887045300d90452033e04510055045000ea044f00b80213004d01d302120886005200230885044e013b044d044c044b0055044a0326044900ea044800b80447004d01d30212088400520023088302110210020f00cb0037020e020d00260082008900c7020c020b008203250446002104450253010e01ae003500ad00ac01ad01450068044401ac00d5020a000f01ab01aa004400a2009200b800a10131004d011501a901a801a701a60882008001a501a401a3015501a2013d013c088101a1044401a0019f019e00a60116019d00a4005c00a5019c019b019a008e00050252014400690443009f00f7002a00fe005100aa00fd0050006a00d8002c003e003700d7002301430043003e000b0442032402110210020f00cb0037020e020d00260082008900c7020c020b008203250446002104450253010e01ae003500ad00ac01ad01450068044101ac00d5020a000f01ab01aa004400a2009200b800a10131004d011501a901a801a701a60880008001a501a401a3015501a2013d013c087f01a1044101a0019f019e00a60116019d00a4005c00a5019c019b019a008e00050252014400690443009f00f7002a00fe005100aa00fd0050006a00d8002c003e003700d7002301430043003e000b0442032402180037000b0111011200c10006087e00bc025100f10062021404400199087d087c00b703230060043f032203210027043e01530320027e00cd003e025a046a043d0062087b0054087a043c009b00b70328006001980110032701b4010f025701300256025501af003e002c0111043d006208790054025a043b04cd020901c501d7043a0080036100fb043903320236087800fa052205210093003e043804370436005c0092005402b9043c0333013f087700800435011005230434022804330130043200cd003e00930111031f031e031d005402180037000b0111000f02540876045504540875045300d90452033e04510055045000ea044f00b80213004d01d302120874005200230873044e013b044d044c044b0055044a0326044900ea044800b80447004d01d30212087200520023087102110210020f00cb0037020e020d00260082008900c7020c020b00820021010e01ae003500ad00ac01ad01450068043101ac00d5020a000f01ab01aa004400a2009200b800a10131004d011501a901a801a701a60870008001a501a401a3015501a2013d013c086f01a1043101a0019f019e00a60116019d00a4005c00a5019c019b019a008e00050252014400690430009f00f7002a00fe005100aa00fd0050006a00d8002c003e003700d7002301430043003e000b086e032402110210020f00cb0037020e020d00260082008900c7020c020b00820021010e01ae003500ad00ac01ad01450068042f01ac00d5020a000f01ab01aa004400a2009200b800a10131004d011501a901a801a701a6086d008001a501a401a3015501a2013d013c086c01a1042f01a0019f019e00a60116019d00a4005c00a5019c019b019a008e00050252014400690430009f00f7002a00fe005100aa00fd0050006a00d8002c003e003700d7002301430043003e000b086b00bc00b000f1042e00b6031c042d042c031b00b703230060043f032201cb0027043e01530320027e00cd003e0250025a04f20436005c0092005402b9042b009b00b70328006001980110032701b4010f025701300256025501af003e086a0869086804370209086708660054045704560865024f0460020901c501d704690080036100db043908640236086300da0468046700b4003e0862086102660860085f006504650054085e042b085d013f085c008004350110046b0434022804330130043200cd003e085b0208042a085a034508590054024e0858020808570233011d0048000600ae02070054014d00b108560001000a000300020008007a0090032508550854042900090853031a03190253010e000501b10006000b01b100e501c000e40221005d0428022e014c085201bf0004019708510052085000130015001200e3014b003b000800280058006a084f0009084e0063007000e2007900e100e001be084d0027008d00df00de00870078006f01bd084c01bc084b01bb01ba01b900a6013a01b801b7002e00a500a401b601b5013800dd00350005010e0253084a00dc028c00f00123004300230086007700b800050131003400ca003804270018010d0051010c00c90050010b000b003e021800370849024f00a8047b014a001400bc00b000f1042e00b6031c042d042c031b00b7032300600198032201cb0027084801530320027e00cd084708460258004e0069031800570265011d02660845031f0006004e00a00844002300bc0196024d034a021404400199031b08430346084200bb08410840043a0080083f0130083e083d01af003e045e045d083c01c5045c0054045b083b01520346083a00bb0839045a0838083704e208360459083508340426003e046c0833083208310830082f082e082d0208082c082b0209082a08290054082803630425082708260054082503430281024f08240823024f08220343082103170425002e00b705240060045f00fb08200316010f081f00fa081e081d0093003e081c081b04da081a081908180817002e04f3005408160815081400b7081300bb081208110810080f010f080e0315080d0426003e080c0208080b00f1080a0809005408080208080700480006008102070054014d00b108060001000a000300020008007a009008050804080308020009010a014001b20424010e000501b10006000b01b1042308010422028d0800005d005307ff032e000407fe022e07fd031a000407fc027a0004019707fb019507fa00130015001207f907f8003b0008002807f7006a07f6002107f50424010e00630070019401570035000507f40193028c00f007f3004300230086007700b800050131003400ca003800690018010d0051010c00c90050010b000b04e707f200170007025100f10062013f03210027035100fb0314024c0228024b00fa024a02490093003e043807f1042103450362005407f007ef031300b707ee00600198011007ed01b4010f025701300256025501af003e00cd0111024d034a07ec005407eb00f104e307ea00540258004e0069031800570265011d0266031f0006004e00460219042001500001000a00be07e90088051c00100146005f000e005b041f07e80021004c01b10218003700d7031807e70258008f00370016001c000d0071001b001a0007001c000d003d001b001a000700d100d007e6001800a7005a002e0040007f00cf07e500b307e400ce005700760075006d00480006006e00740073007200220001003800030002002600070192019107e3002a0109005a002e004000d6019007e2006807e10154005700760075006d00480006006e0074007300720022000100380003000200260007001c000d0132001b001a0007000f002b028a000400310014002f0029000400300004001300150012001000580007000f006402860004002b02850004002f02840004003100140030002900040013001500120010004f0007000f006407e00004002b07df0004002f07de0004003100140030002900040013001500120010004f0007000f002b07dd0004002f07dc000400310014003000290004001300150012001000580007018f00ef005e000d001e0001000a000300020008000e000c000900050108000600840019007e000d001e0001000a000300020008000e000c0009000501080006007c00ee0039001f00250001000a000300020008000e000c00090005010800060019003c07db005e000d001e0001000a000300020008000e000c00090005010800060067003900c3001f00250001000a000300020008000e000c00090005010800060019003c07da005e000d001e0001000a000300020008000e000c000900050108000600c2001f00250001000a000300020008000e000c000900050108000600c000e700af023200e6000f0013007b0088006c0066001200100091005f006b005b00bf0231035a010a018e0021004c0108001600170007000f01d8020607d9001c000d003d001b001a0007020501390034020400f600b6018d0018020302020201005c0055007f020007d800c6002c07d700a901ff01fe001400c601fd07d6001c000d0071001b001a000701fc013e01fb01fa000401f9010700c7013401f807d501f7009c01f601f501f401f300eb01f201f101f0005501ef01ee01ed07d401ec00170135024801eb010601ea012f022a010501e90004007e01e800ed00c501e7001401e6010600c5024701e501e40150003201e300bd001d00ee002200f4006701d4011b00e9001300150012008900e8003b002600280007041e042904ce041d01d2000f04d207d301c400f3008307d2041c0085041c03120114004900a307d107d0025d07cf041b0036041a0034041903120418031207ce07cd009a001d04170036033c0061031307cc00d907cb0416021c001d04170036033c0061031307ca00d9041600140296000b002707c9041507c807c70297023500b10234007d01510001000a000300020008018c018b0009000507c6022c000f014900d50246003601220061027d008e0254008e00ea0114004900a3041b0036041a0034041900ea041800ea005507c500b90046026100360260004d021907c40326013b02bc0046026100360260004d02190420013b002d07c3045801400027025b011b041407c207c1004e002c00ef027d07c0001d0413003602450099009a00a80014001d0413003602450099009a0053001d07bf003607be009904cf004002450040022e033d009a00a80311012e07bd003607bc041207bb07ba001d07b907b8018a01890188003601870186012d012c07b7018501840183018207b6009801810180017f017e017d017c017b07b5017a07b40179017801770176017501740173017201710170016f016e016d0096016c04110310016b016a01690168009601670411016607b30165016401630162016100c80160015f015e015d015c07b207b1012e07b00036041207af07ae07ad07ac07ab018a01890188003601870186012d012c07aa018501840183018207a9009801810180017f017e017d017c017b07a8017a07a70179017801770176017501740173017201710170016f016e016d0096016c07a6041007a5016b016a0169015b0168009601670410016607a40165016401630162016100c8030f0160015f015e015d015c07a30116012e030e003607a207a107a00046079f079e00bb030d079d0036030c0186012d0034079c030b030a03090308079b02500307079a030603050304024e030307990302079803010300079702ff02fe02fd02fc02fb02fa02f902f802f702f6022502f5040f079602f4016a0795027c0794022502f3040f02f202f102f0016402ef0793079202ee015b02ed02ec009602eb02ea079104230790003600a801140037078f01c7078e01e2078d078c078b078a002d0789000b00270415078800a9006907870057014f003700d707860470078501c8040e0784024407830782022901c30140025b041401b3040d004e002c008307810046024300360113009900b9002d0046024300360113009900b900040046040c0036040b0099026d00400113004000d9013700b90311012e030e003602590242040a0409004604080407018a01890188003601870186012d012c040601850184018301820780009801810180017f017e017d017c017b077f017a077e0179017801770176017501740173017201710170016f016e016d0096016c040502f1016b016a01690168009601670405016604040165016401630162016100c80160015f015e015d015c077d0341012e04030036024204020401012f04000316018a01890188003601870186012d012c03ff0185018401830182077c009801810180017f017e017d017c017b077b017a077a0179017801770176017501740173017201710170016f016e016d0096016c03fe03fd016b016a0169015b01680096016703fe016603fc0165016401630162016100c8030f0160015f015e015d015c0779004e03fb03fa003603f903f803f700a303f6032a00bb030d03f50036030c018603f403f303f2030b030a0309030807780250030703f1030603050304024e03030777030207760301030003f002ff02fe02fd02fc02fb02fa02f902f802f702f6024102f503ef03ee02f4016a0225027c012a024102f303ef02f203ed02f0016402ef03ec03eb02ee015b02ed02ec031002eb02ea0775001d03ea00360114003703e901c703e801e2012003e7027800ea0004034f0016001c000d0071001b001a0007001c000d003d001b001a000703e603e5001403e403e3001400bd02e902e8026c0014000103e203e100100058000700170007001c000d0132001b001a000702bf00a30774077303e001c703df0772024003de024003dd043b021a00a307710770076f076e076d009503e001c703de024003df024003dd076c021b03dc076b0095076a03640769042207680078076703dc076600950765012c076407630078076200270761025b023f01b3040d004e002c008307600046024300950113009900b9002d0046024300950113009900b900040046040c0095040b0099026d00400113004000d9013700b90311012e030e009502590242040a0409004604080407018a018901880095018702e7012d012c04060185018401830182075f009801810180017f017e017d017c017b075e017a075d0179017801770176017501740173017201710170016f016e016d0096016c03db02f1016b02e6016901680096016703db01660404016502e501630162016100c80160015f015e015d015c075c0341012e04030095024204020401012f04000316018a018901880095018702e7012d012c03ff0185018401830182075b009801810180017f017e017d017c017b075a017a07590179017801770176017501740173017201710170016f016e016d0096016c03da03fd016b02e60169015b01680096016703da016603fc016502e501630162016100c8030f0160015f015e015d015c0758004e03fb03fa009503f903f803f700a303f6032a00bb030d03f50095030c02e703f403f303f2030b030a0309030807570250030703f1030603050304024e03030756030207550301030003f002ff02fe02fd02fc02fb02fa02f902f802f702f6024102f503d903ee02f402e60225027c012a024102f303d902f203ed02f002e502ef03ec03eb02ee015b02ed02ec031002eb02ea0754001d03ea00950114003703e901c703e801e2012003e7027800ea0004034f0016001c000d0071001b001a0007001c000d003d001b001a000703e603e5001403e403e3001400bd02e902e8026c0014000103e203e1001000580007000d001e0001000a000300020008000e000c0009000507530006008400190016001700070158014100ee00ef00b200c0023e03290752000d0001000a0003000200080059000c0009000502e4000600ab008f001900f200ba004500ae007d0001000a000300020008007a00900009000502e40006000b02e400e501c000e4010602b20751005d0053015a00390750005301bf0247000400ab021e074f0052074e01480015014700e3021d033700cb000800820058074d0009074c0063007000e2007900e100e001260125074b0027008d00df00de00870078006f00b5074a00fc074900ff005a02b1009c01d002b002af002e012402ae02ad02ac005500dd00350005074800dc015600f001230043002300860077074700050746003400ca003804270018010d0051010c00c90050010b000b07450473001600170007001c000d0071001b001a0007001c000d003d001b001a000700d100d00744001800a7005a002e0040007f00cf074300b3074200ce005700760075006d00480006006e0074007300720022000100380003000200260007074103d8035d022f000f02e307400213004d032b0104033b010401b301040049000f028f022302e200d503d7003403d6004903d5004903d4004901040229000b073f03d302e103d2032d00b200ae027700ef03d100810023073e073d01c3008f00c1073c073b073a00ab01c1073903d00738001f0001000a0003000200080059006700090005026e02e00006008f001900f200ba00450737007d0001000a000300020008007a015a0009032c000502e00006000b02e000e501c000e40221005d02150004014c0196000401bf01c8000401d107360052073500130015001200e3014b003b00080028005800f8025c000902160063007000e2007900e100e001be07340027008d00df00de00870078006f01bd073301bc073201bb01ba01b900a6013a01b801b7002e00a500a401b601b5013800dd00350005032c073100dc015600f00123004300230086007702e2000507300034003300520079002a01cf00db01ce005600da01cd002c072f014a033100b4072e02a2013701210136072d014902e201220061022400530083021500040085019600040272028f047e03cf072c072b072a022900a00729029b001600170007001c000d003d001b001a0007001c000d0132001b001a0007001c000d0071001b001a000700d100d00728001800a7005a002e0040007f00cf072700b3072600ce005700760075006d00480006006e00740073007200220001003800030002002600070725022f000f02e307240213004d032b0104033b010401b301040049000f01d2022302df031903d7003403d6004903d5004903d40049010400b203ce001900ae000b072303d3032d03d2028f027700ef03d1008100230018072201c301c104d303d00721001f0001000a000300020008005900670009000502de00060251008f001900f200ba004502e1007d0001000a000300020008007a015a00090317000502de0006000b02de00e501c000e40221005d01960004014c02a2000401bf01c8000401d107200052071f00130015001200e3014b003b00080028005800f8025c000902160063007000e2007900e100e001be071e0027008d00df00de00870078006f01bd071d01bc071c01bb01ba01b900a6013a01b801b7002e00a500a401b601b5013800dd003500050317071b00dc015600f00123004300230086007702df0005071a0034003300520079002a01cf00db01ce005600da01cd002c0719014a031c00b40718027a0137012101360717014902df0122006102240053008301960004008502a20004027201d2026e03cf07160715071400f500a007130229001600170007001c000d003d001b001a0007001c000d0132001b001a0007001c000d0071001b001a000700d100d00712001800a7005a002e0040007f00cf071100b3071000ce005700760075006d00480006006e0074007300720022000100380003000200260007018f00ef005e000d001e0001000a000300020008000e000c000900050103000600840019007e000d001e0001000a000300020008000e000c0009000501030006007c00ee0039001f00250001000a000300020008000e000c00090005010300060019003c070f005e000d001e0001000a000300020008000e000c00090005010300060067003900c3001f00250001000a000300020008000e000c00090005010300060019003c070e005e000d001e0001000a000300020008000e000c000900050103000600c2001f00250001000a000300020008000e000c000900050103000600c000e700af00e6000f0013007b0088006c0066001200100091005f006b005b00bf01e1035a010a018e0021004c0103001600170007000f01d80206070d001c000d003d001b001a0007020501390034020400f600b6018d0018020302020201005c0055007f0200070c00c6002c070b00a901ff01fe001400c601fd070a001c000d0071001b001a000701fc013e01fb01fa000401f9010700c7013401f8070901f7009c01f601f501f401f300eb01f201f101f0005501ef01ee01ed070801ec00170135024801eb010601ea012f022a010501e90004007e01e800ed00c501e7001401e6010600c5024701e501e40150003201e300bd001d00ee002200f4006701d4011b00e9001300150012008900e8003b002600280007018f03cd028d00c40141070707060081000d001e0001000a000300020008000e000c0009000501e000060067001f00250001000a000300020008000e000c0009000501e000060019003c070500ed000d001e0001000a000300020008000e000c0009000501e000060067001f00250001000a000300020008000e000c0009000501e0000600c000e700af00e6000f0013007b0088006c0066001200100091005f006b005b00bf01e10107023f02460021004c01e0001600170007000f006403cc0004002b03cb0004002f03ca0004003100140030002900040013001500120010004f0007018f00c3003903cd00c4040e07040081000d001e0001000a000300020008000e000c0009000501df00060067001f00250001000a000300020008000e000c0009000501df00060019003c070300ed000d001e0001000a000300020008000e000c0009000501df00060067001f00250001000a000300020008000e000c0009000501df000600c000e700af00e6000f0013007b0088006c0066001200100091005f006b005b00bf01e10107023f02460021004c01df001600170007000f006403cc0004002b03cb0004002f03ca0004003100140030002900040013001500120010004f000703c9023300ee00b607020701022f027d00bc024d0065013f0700002703c800fb052d024c03c7024b00fa024a02490093023d01b2019902dd0065050603c600a706ff0105023806fe002706fd027f031406fc02ba06fb015306fa009303c500b406f90048000600ae020703c6023500b10234007d01510001000a000300020008018c018b00090005023d0006004500ab00a006f8014d00b102dc0001000a000300020008007a009000090005023d0006000b023d03c406f701e2005d0244018d035003c3019706f6019506f5001301cc001206f406f306f2003b0008002802db06f106f0023c0044002106ef0336006a0021003500630070019401570005023f06ee0193015600f003c2004300230086007706ed000506ec003400ca003800690018010d0051010c00c90050010b000b03c502da0296032e021701de001600170007001c000d0071001b001a0007000f006406eb0004002b06ea0004002f06e90004003100140030002900040013001500120010004f0007001c000d003d001b001a00070192019106e8002a0109005a002e004000d6019006e7006806e60154005700760075006d00480006006e007400730072002200010038000300020026000706e503c106e400c303c006e306e206e100bc06e000f1035000b6035d042a03bf03be009803bd00fb03bc03bb006003ba03b900fa03b803b70093012b03b602dd006503b5023b03b403b30105023803b2009803b103b003af03ae02ba03ad031503ac009301dd00b406df0048031e031d023b014d00b103ab0001000a000300020008007a009006de06dd046603aa06dc022a000906db06da012700d506d903a90005012b0006000b012b03a803a703a6005d06d8006203a5013b03a400d9027103a3011703a2033403a1005302da035c003903a00053007c02b30039039f005306d706d6019506d5001300150012039e039d003b00080028039c039b06d4002106d303a900630070019401570035000506d201930156051900f0039a004300230086007702d9000502d8003400ca003800690018010d0051010c00c90050010b000b01dd0214035906d100bc02d700f10062013f03210027035100fb0314024c0228024b00fa024a0249009301dd06d00421005c0399023b010906cf06ce00b706cd0060019800db011006cc010f06cb00da06ca06c900b401dd00b306c8032f0048000601d20207023b023500b1023403ce007d01510001000a000300020008018c018b000902150005012b0006004502d700a006c7003202440196011b01de039800ba01c302dc015102e10001000a000300020008018c018b00090005012b000600f200ba004501d2007d0001000a000300020008007a009000090005012b0006000b012b00a3039702e902e802510014005d02d7021e06c6019506c501480015014706c4021d06c300cb00080082039603d80021035400630070019401570035000506c20193028c00f006c1004300230086007702d9000502d8003400ca003800690018010d0051010c00c90050010b000b01dd00f9039500b000a006c0005d019706bf01b002d603940013004602d5006c01cc0012000802d4005f021502db06be006b023c00440021003500ad00ac01dc0394006a0021003500ad00ac01dc009d039302d300d50392004601990226004400a2009202d900a102d8004d02d202ab02aa0126012506bd0027008d02d102a900870078006f00b506bc00fc039300ff02a802d0009c02cf02a702a60065012402a502a402a3002d004c06bb001600170007001c000d003d001b001a0007001c000d0071001b001a0007001c000d0132001b001a0007000f006403910004002b03900004002f038f0004003100140030002900040013001500120010004f00070192019106ba002a0109005a002e004000d6019006b9006806b80154005700760075006d00480006006e00740073007200220001003800030002002600070192019106b7002a0109005a002e004000d6019006b6006806b50154005700760075006d00480006006e0074007300720022000100380003000200260007000f002b02ce0004002f02cd00040031001400300029000400130015001200100058000703c900c306b400b606b3038e06b200bc020906b1013f06b0002703c800fb06af024c03c7024b00fa024a0249009301db06ae06ad005c0399038d010906ac06ab00b706aa006001980051011006a9010f06a80050039b06a7002c038c06a606a506a40048000600ef0207038d023500b102340081007d01510001000a00be00020008018c018b028e06a3000900ec01b2000501db00060045006700a006a2007c06a1038b023301de039800ba015a02dc0151022f0001000a000300020008018c018b0009000501db000600f200ba004500ae007d0001000a000300020008007a00900009000501db0006000b01db03c4039701e206a002440014005d00ab021e069f0195069e014800150147069d021d069c00cb000800820396069b00210428006300700194015700350005069a01930259069903c20043002300860077038a00050389003400ca003800690018010d0051010c00c90050010b000b038c00f90395006700a00698005d0197069701b002d6038803870013004602d5006c01cc0012000802d4005f01c802db0696006b023c00440021003500ad00ac01dc00ec0388006a0021003500ad00ac01dc00ec009d038602d30695004601990226004400a20092038a00a10389004d02d202ab02aa0126012506940027008d02d102a900870078006f00b5069300fc038600ff02a802d0009c02cf02a702a60065012402a502a402a3002d004c0692001600170007001c000d003d001b001a0007001c000d0132001b001a0007000f006403910004002b03900004002f038f0004003100140030002900040013001500120010004f0007019201910691002a0109005a002e004000d6019006900068068f0154005700760075006d00480006006e0074007300720022000100380003000200260007000f002b02ce0004002f02cd000400310014003000290004001300150012001000580007041e03c104d1041d03c000b6068e038e068d00bc024d006503bf03be009803bd00fb03bc03bb006003ba03b900fa03b803b7009302cc03b602dd006503b5038503b403b30105023803b2009803b103b003af03ae02ba03ad031503ac0093038400b4068c0048031e031d0385014d00b103ab0001000a000300020008007a0090068b068a0387068902480383000902160688024603c3012702a1000502cc0006000b02cc03a803a703a6005d0687006203a5068603a4013b027103a3011703a200d903a1005302da003903a0005306850684039f00530683068201950681001300150012039e039d003b00080028039c068003aa067f0021067e012702a1006300700194015700350005067d0193015600f0039a0043002300860077067c0005067b003400ca003800690018010d0051010c00c90050010b000b0384038b00f8031a031901de001600170007001c000d0071001b001a0007001c000d003d001b001a000701920191067a002a0109005a002e004000d601900679006806780154005700760075006d00480006006e007400730072002200010038000300020026000706770676007c01de00160128000f067506740122006106730115046106720044046406710670002e0463033f066f066e03670093066d04dc066c066b008e0367066a0669066804d6066706660138066504f000a9032906640663066206610660065f065e04d7065d065c065b065a0659065806570656065506540016001c000d0071001b001a0007001c000d003d001b001a0007000f002b0382000400310014002f0029000400300004001300150012001000580007015800ef014e001e0001000a000300020008000e000c000900050094000600840019007e000d001e0001000a000300020008000e000c0009000500940006007c00ee00390508001f00250001000a000300020008000e000c00090005009400060019003c0653014e001e0001000a000300020008000e000c00090005009400060067003900c3001f00250001000a000300020008000e000c00090005009400060019003c0652014e001e0001000a000300020008000e000c000900050094000600c2001f00250001000a000300020008000e000c000900050094000600c000e700af023200e6000f0013007b0088006c0066001200100091005f006b005b00bf02310044010a018e0021004c0094014e001e0001000a000300020008000e000c000900050094000600ab001f00250001000a000300020008000e000c00090005009400060019003c0651014e001e0001000a000300020008000e000c000900050094000600ab001f00250001000a000300020008000e000c000900050094000600c000e700af00e6000f0013007b0088006c0066001200100091005f006b005b00bf01e1004402cb035b0021004c0094001600170007000f01d802060650001c000d003d001b001a0007020501390034020400f600b6018d0018020302020201005c0055007f0200064f00c6002c064e00a901ff01fe001400c601fd064d001c000d0071001b001a000701fc013e01fb01fa000401f9010700c7013401f8064c01f7009c01f601f501f401f300eb01f201f101f0005501ef01ee01ed064b01ec0017013502ca01eb010601ea012f023e010501e90004008101e800a800c501e7001401e600ed00c5014001e501e40150003201e300bd001d00c4002200f400ab01d4021700e9001300150012008900e8003b00260028000702bf00bf0381007e0380064a037f0001000a0003000200080059000c000900050649000600c2008f0019004500160017000702bf041f0381007e03800648037f0001000a0003000200080059000c000900050647000600c2008f001900450016001700070039001f00250001000a000300020008000e000c0009000506460006001600170007000d001e0001000a000300020008000e000c000900050645000600160017000702c90081005e000d001e0001000a000300020008000e000c00090005023a0006007c0039001f00250001000a000300020008000e000c00090005023a00060019003c0644014d00b100ed00450081007d0001000a000300020008007a0090000902cb0005023a0006000b023a00e5051700e4051602b20515005d0053014c022e01d106430052064200130015001200e3014b003b00080028051400f8025c000902160063007000e2007900e100e00126012506410027008d00df00de00870078006f00b5064000fc063f00ff005a02b1009c01d002b002af002e012402ae02ad02ac005500dd0035000502cb063e00dc051305120123004300230086007702c80005037e0034003300520079002a01cf00db01ce005600da01cd002c02c7014a002c063d002b03560004008505100004050f00d9050e002d014902c801220061007b050d063c00520023063b0148050c050b003b003701cc014700260028035f006a050a0146002800f802480021018e01ae003500ad00ac01ad01450068037d01ac063a000f01ab01aa004400a2009202c800a1037e004d011501a901a801a701a60639008001a501a401a3015501a2013d013c063801a1037d01a0019f019e00a60116019d00a4005c00a5019c019b019a008e00050637014400690636009f00f7002a00fe005100aa00fd0050006a00d8002c02c7003700d700230143004302c7000b0635001600170007001c000d003d001b001a0007000f006400d40004002b00d30004002f00d20004003100140030002900040013001500120010004f0007006404f90004002b04f80004002f04f70004003100140030002900040013001500120010004f0007000f002b028a000400310014002f0029000400300004001300150012001000580007000f006402860004002b02850004002f02840004003100140030002900040013001500120010004f000700d100d00634001800a7005a002e0040007f00cf063300b3063200ce005700760075006d00480006006e0074007300720022000100380003000200260007015800ae005e000d001e0001000a000300020008000e000c0009000501da0006007c0039001f00250001000a000300020008000e000c0009000501da001d00060019003c063102b700f600ec028b002d012000680630002a009b00eb02a0029f00d601cb062f029e029d00be011f003b0066029c00260028000a00be011f01460028006b005b014205040021004c01da00f500a9037c062e0502029a029900c40298037b01410297011e0001000a0003000200080059000c0009000501da022c00a8014f02b4011d011c011b037b02300084011c062d011e0001000a0003000200080059000c0009000501da010a029500ec062c0006002301ca0294009b029301c9029202910084022b0290062b001600170007028900d4002d028800d3002d028700d2002d00bd002200f40029002d0001000300020010004f0007001c000d003d001b001a0007015800ae005e000d001e0001000a000300020008000e000c0009000501d90006007c0039001f00250001000a000300020008000e000c0009000501d9001d00060019003c062a02b700f600ec028b002d012000680629002a009b00eb02a0029f00d601cb0628029e029d00be011f003b0066029c00260028000a00be011f01460028006b005b014204fd0021004c01d900f500a9037c062704fc029a029900c40298037a01410297011e0001000a0003000200080059000c0009000501d9022c00a8014f02b4011d011c011b037a02300084011c0626011e0001000a0003000200080059000c0009000501d9010a029500ec06250006002301ca0294009b029301c9029202910084022b02900624001600170007028900d4002d028800d3002d028700d2002d00bd002200f40029002d0001000300020010004f0007001c000d003d001b001a000702c90081005e000d001e0001000a000300020008000e000c0009000502c60006007c0039001f00250001000a000300020008000e000c0009000502c600060019003c062301420622001d0245011b00550022000106210620061f00be00020010061e005f000e005b061d01410021004c02c600ed00c20355001600170007000f006400d40004002b00d30004002f00d20004003100140030002900040013001500120010004f0007018f00ef005e000d001e0001000a000300020008000e000c0009000502c50006007c0039001f00250001000a000300020008000e000c0009000502c500060019003c061c035e008101ca00a80500000f0085038302b80233028d00140013007b0088006c0066001200100091005f000e005b014204ff0021004c02c500a804fe00c20028015a0355001600170007000f006400d40004002b00d30004002f00d20004003100140030002900040013001500120010004f0007018f00c40081005e000d001e0001000a000300020008000e000c0009000502c40006007c003900c3001f00250001000a000300020008000e000c0009000502c400060019003c061b024704f1061a000f002b0004025406190053002f00f902b8051d0014015a003902e306180213004d01d30212061700520023061602110210020f00cb0037020e020d00260082008900c7020c020b0082002101ae003500ad00ac01ad01450068037901ac0340020a000f01ab01aa004400a20092061500a10614004d011501a901a801a701a60613008001a501a401a3015501a2013d013c061201a1037901a0019f019e00a60116019d00a4005c00a5019c019b019a008e00050611014400690610009f00f7002a00fe005100aa00fd0050006a00d8002c0378003700d70023014300430378000b060f000f006700140013007b0088006c0066001200100091005f0059005b0377037601070021004c02c4001600170007001c000d003d001b001a0007000f006400d40004002b00d30004002f00d20004003100140030002900040013001500120010004f0007000f002b03750004002f0374000400310014003000290004001300150012001000580007000f002b028a000400310014002f0029000400300004001300150012001000580007000f006402860004002b02850004002f02840004003100140030002900040013001500120010004f000702c90081005e000d001e0001000a000300020008000e000c0009000502c30006007c00c30039001f00250001000a000300020008000e000c0009000502c300060019003c060e0358060d00f9060c005d0197060b01b002d6060a0013004602d5006c01cc0012000802d4005f006b023c06090044002103580509003500ad00ac01dc009d037302d303400392004601990226004400a20092060800a10607004d02d202ab02aa0126012506060027008d02d102a900870078006f00b5060500fc037300ff02a802d0009c02cf02a702a60065012402a502a402a3002d000f002c060406030013007b0088006c0066001200100091005f0059005b0377037600440021004c02c3001600170007000f006400d40004002b00d30004002f00d20004003100140030002900040013001500120010004f0007000f002b03750004002f0374000400310014003000290004001300150012001000580007002b02ce0004002f02cd000400310014003000290004001300150012001000580007001c000d003d001b001a0007015800c400ae000d001e0001000a000300020008000e000c000900050102000600840019007e000d001e0001000a000300020008000e000c0009000501020006007c00ee0039001f00250001000a000300020008000e000c00090005010200060019003c060200f5000d001e0001000a000300020008000e000c00090005010200060067003900c3001f00250001000a000300020008000e000c00090005010200060019003c060100f5000d001e0001000a000300020008000e000c000900050102000600c2001f00250001000a000300020008000e000c000900050102000600c000e700af023200e6000f0013007b0088006c0066001200100091005f006b005b00bf023100ec010a018e0021004c0102001600170007000f01d802060600001c000d003d001b001a0007020501390034020400f600b6018d0018020302020201005c0055007f020005ff00c6002c05fe00a901ff01fe001400c601fd05fd001c000d0071001b001a000701fc013e01fb01fa000401f9010700c7013401f805fc01f7009c01f601f501f401f300eb01f201f101f0005501ef01ee01ed05fb01ec0017013502ca01eb010601ea012f023e010501e90004008101e800a800c501e7001401e600ed00c5014001e501e40150003201e300bd001d00c4002200f400ab01d4021700e9001300150012008900e8003b002600280007015800c400ae000d001e0001000a000300020008000e000c000900050101000600840019007e000d001e0001000a000300020008000e000c0009000501010006007c00ee0039001f00250001000a000300020008000e000c00090005010100060019003c05fa00f5000d001e0001000a000300020008000e000c00090005010100060067003900c3001f00250001000a000300020008000e000c00090005010100060019003c05f900f5000d001e0001000a000300020008000e000c000900050101000600c2001f00250001000a000300020008000e000c000900050101000600c000e700af00e6000f0013007b0088006c0066001200100091005f006b005b00bf01e100ec010a018e0021004c0101001600170007000f01d8020605f8001c000d003d001b001a0007020501390034020400f600b6018d0018020302020201005c0055007f020005f700c6002c05f600a901ff01fe001400c601fd05f5001c000d0071001b001a000701fc013e01fb01fa000401f9010700c7013401f805f401f7009c01f601f501f401f300eb01f201f101f0005501ef01ee01ed05f301ec0017013502ca01eb010601ea012f023e010501e90004008101e800a800c501e7001401e600ed00c5014001e501e40150003201e300bd001d00c4002200f400ab01d4021700e9001300150012008900e8003b002600280007000b05f20016000f002b0382000400310014002f002900040030000400130015001200100058000705f101b000160023001605f001b000160023001605ef002000070000000000000000000000000000037205ee00000000000000000000000001000000000002c20000000003720100010005ed000005ec000005eb000000000000000000000371000000000000000005ea00000000000005e900000000000005e800000000000005e700000000000005e600000000000005e500000000000005e400000000000005e300000000000005e200000000000005e100000000000005e000000000000005df00000000000005de00000000000005dd00000000000005dc00000000000005db00000000000005da00000000000005d900000000000005d800000000000005d700000000000005d600000000000005d500000000000005d400000000000005d300000000000005d200000000000005d100000000000005d000000000000005cf00000000000005ce00000000000005cd00000000000005cc00000000000005cb00000000000005ca00000000000005c900000000000005c800000000000005c700000000000005c600000000000005c500000000000005c400000000000005c300000000000005c200000000000005c100000000000005c000000000000005bf00000000000005be00000000000005bd00000000000005bc00000000000005bb00000000000005ba00000000000005b900000000000005b800000000000005b700000000000005b600000000000005b505b405b305b205b1000000000370000005b005af05ae05ad036f00000000000005ac00000000000005ab0000000000000000000005aa000002c10000000000000239000005a90000023900000000000005a805a705a605a505a405a305a205a102c100000371000005a000000000000000000000036e0000059f059e059d000002c0059c059b059a0599000000000000000000000598000005970000000000000000000000000596059505940000000002c00593059205910590058f058e058d02390000037000000100036f00000000058c058b058a058905880587058605850584000000000000058305820581058002c0057f057e057d00000000057c0000000000000000057b0159057a0000000000000000000005790578000000000000057700000000000000000000036d0000000000000000057600000000000005750574000000000000000000000000057305720000000000000159036c036b05710570056f056e056d056c00000000000000000000056b0000056a0000000000000159036c036b056900000000000005680567010001000100056600000000000005650000000000000564056300000000036a0562056100000560055f055e000002c10000036e0000000000000000055d000000000000055c00000000055b01000159055a05590558055705560555055400000553000000000552055100000000036a0550054f054e054d054c00000000015903690368054b054a00000000000002390000036d0000054900000000000000000000054800000547000000000000015903690368054605450000000000000544054300000000054205410540053f0000000002c202c2053e053d053c053b053a053905380537053605350534000000000000000000000533053205310530000000000000", + "logIndex": 1, + "blockHash": "0x999039fb59c8bf82590a1c0a85f750e3acd53e9da05a7974a40e58a08818c1a1" + }, + { + "transactionIndex": 0, + "blockNumber": 2162892, + "transactionHash": "0x9bf51ba578c98772ce7846a093c8dd93909460aa04019a066ba05e4dac4a0529", + "address": "0x0000000000000000000000000000000000008004", + "topics": [ + "0xc94722ff13eacf53547c4741dab5228353a05938ffcdd5d4a2d533ae0e618287", + "0x01000c177e313a7c01bd0fd56c8c5e57ff494ce53ad8641746a6d273e78e201c", + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "data": "0x", + "logIndex": 2, + "blockHash": "0x999039fb59c8bf82590a1c0a85f750e3acd53e9da05a7974a40e58a08818c1a1" + }, + { + "transactionIndex": 0, + "blockNumber": 2162892, + "transactionHash": "0x9bf51ba578c98772ce7846a093c8dd93909460aa04019a066ba05e4dac4a0529", + "address": "0x5c60216A5BF341bbBF5da00187E4B6F9f3401b48", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000001a267d3f9f5116df6ae00a4ad698cdcf27b71920", + "0x0000000000000000000000001a267d3f9f5116df6ae00a4ad698cdcf27b71920" + ], + "data": "0x", + "logIndex": 3, + "blockHash": "0x999039fb59c8bf82590a1c0a85f750e3acd53e9da05a7974a40e58a08818c1a1" + }, + { + "transactionIndex": 0, + "blockNumber": 2162892, + "transactionHash": "0x9bf51ba578c98772ce7846a093c8dd93909460aa04019a066ba05e4dac4a0529", + "address": "0x5c60216A5BF341bbBF5da00187E4B6F9f3401b48", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0x339759585899103d2ace64958e37e18ccb0504652c81d4a1b8aa80fe2126ab95", + "0x0000000000000000000000001a267d3f9f5116df6ae00a4ad698cdcf27b71920", + "0x0000000000000000000000001a267d3f9f5116df6ae00a4ad698cdcf27b71920" + ], + "data": "0x", + "logIndex": 4, + "blockHash": "0x999039fb59c8bf82590a1c0a85f750e3acd53e9da05a7974a40e58a08818c1a1" + }, + { + "transactionIndex": 0, + "blockNumber": 2162892, + "transactionHash": "0x9bf51ba578c98772ce7846a093c8dd93909460aa04019a066ba05e4dac4a0529", + "address": "0x5AEa5775959fBC2557Cc8789bC1bf90A239D9a91", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x0000000000000000000000005c60216a5bf341bbbf5da00187e4b6f9f3401b48", + "0x0000000000000000000000005aea5775959fbc2557cc8789bc1bf90a239d9a91" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "logIndex": 5, + "blockHash": "0x999039fb59c8bf82590a1c0a85f750e3acd53e9da05a7974a40e58a08818c1a1" + }, + { + "transactionIndex": 0, + "blockNumber": 2162892, + "transactionHash": "0x9bf51ba578c98772ce7846a093c8dd93909460aa04019a066ba05e4dac4a0529", + "address": "0x5c60216A5BF341bbBF5da00187E4B6F9f3401b48", + "topics": [ + "0x658ff1688002926d8f426cb10c052ec29003f50042df9652d8613484c1a58647" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000020000000000000000000000005aea5775959fbc2557cc8789bc1bf90a239d9a910000000000000000000000003355df6d4c9c3035724fd0e3914de96a5a83aaf4", + "logIndex": 6, + "blockHash": "0x999039fb59c8bf82590a1c0a85f750e3acd53e9da05a7974a40e58a08818c1a1" + }, + { + "transactionIndex": 0, + "blockNumber": 2162892, + "transactionHash": "0x9bf51ba578c98772ce7846a093c8dd93909460aa04019a066ba05e4dac4a0529", + "address": "0x5c60216A5BF341bbBF5da00187E4B6F9f3401b48", + "topics": [ + "0xb2c853ac4d80d18d058c43d8018d077a036e542a79acae1647f5ad2a8c76f4e2" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a267d3f9f5116df6ae00a4ad698cdcf27b71920", + "logIndex": 7, + "blockHash": "0x999039fb59c8bf82590a1c0a85f750e3acd53e9da05a7974a40e58a08818c1a1" + }, + { + "transactionIndex": 0, + "blockNumber": 2162892, + "transactionHash": "0x9bf51ba578c98772ce7846a093c8dd93909460aa04019a066ba05e4dac4a0529", + "address": "0x5c60216A5BF341bbBF5da00187E4B6F9f3401b48", + "topics": [ + "0xebf7325f48e05e5e38809c69f8b02a7c907ed31d8768e6c2d841b1296a9225fe" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000187ec2ba52d825d9a02162716c28d7896d0197c500000000000000000000000096a67c93edb849e8341538742627758097685584", + "logIndex": 8, + "blockHash": "0x999039fb59c8bf82590a1c0a85f750e3acd53e9da05a7974a40e58a08818c1a1" + }, + { + "transactionIndex": 0, + "blockNumber": 2162892, + "transactionHash": "0x9bf51ba578c98772ce7846a093c8dd93909460aa04019a066ba05e4dac4a0529", + "address": "0x0000000000000000000000000000000000008006", + "topics": [ + "0x290afdae231a3fc0bbae8b1af63698b0a1d79b21ad17df0342dfb952fe74f8e5", + "0x0000000000000000000000001a267d3f9f5116df6ae00a4ad698cdcf27b71920", + "0x01000c177e313a7c01bd0fd56c8c5e57ff494ce53ad8641746a6d273e78e201c", + "0x0000000000000000000000005c60216a5bf341bbbf5da00187e4b6f9f3401b48" + ], + "data": "0x", + "logIndex": 9, + "blockHash": "0x999039fb59c8bf82590a1c0a85f750e3acd53e9da05a7974a40e58a08818c1a1" + }, + { + "transactionIndex": 0, + "blockNumber": 2162892, + "transactionHash": "0x9bf51ba578c98772ce7846a093c8dd93909460aa04019a066ba05e4dac4a0529", + "address": "0x000000000000000000000000000000000000800A", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000008001", + "0x0000000000000000000000001a267d3f9f5116df6ae00a4ad698cdcf27b71920" + ], + "data": "0x0000000000000000000000000000000000000000000000000064bf62eb830c80", + "logIndex": 10, + "blockHash": "0x999039fb59c8bf82590a1c0a85f750e3acd53e9da05a7974a40e58a08818c1a1" + } + ], + "blockNumber": 2162892, + "cumulativeGasUsed": "0", + "status": 1, + "byzantium": true + }, + "args": [ + [ + "0x187eC2Ba52D825d9a02162716c28D7896D0197c5", + "0x96A67C93EDB849E8341538742627758097685584" + ], + [ + "0x5AEa5775959fBC2557Cc8789bC1bf90A239D9a91", + "0x3355df6D4c9C3035724Fd0e3914dE96A5a83aaf4" + ], + "0x1A267D3f9f5116dF6ae00A4aD698CdcF27b71920", + "0x5AEa5775959fBC2557Cc8789bC1bf90A239D9a91" + ], + "numDeployments": 1, + "solcInputHash": "ba937bbd09cce40de1141f1bc2a91d0b", + "metadata": { + "optimizer_settings": "M3B3", + "solc_metadata": "{\"compiler\":{\"version\":\"0.8.4+commit.c7e474f2\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_adapters\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"_trustedTokens\",\"type\":\"address[]\"},{\"internalType\":\"address\",\"name\":\"_feeClaimer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_wrapped_native\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Recovered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"_newAdapters\",\"type\":\"address[]\"}],\"name\":\"UpdatedAdapters\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_oldFeeClaimer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_newFeeClaimer\",\"type\":\"address\"}],\"name\":\"UpdatedFeeClaimer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_oldMinFee\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_newMinFee\",\"type\":\"uint256\"}],\"name\":\"UpdatedMinFee\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"_newTrustedTokens\",\"type\":\"address[]\"}],\"name\":\"UpdatedTrustedTokens\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_tokenIn\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_tokenOut\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amountIn\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amountOut\",\"type\":\"uint256\"}],\"name\":\"YakSwap\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"ADAPTERS\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FEE_CLAIMER\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FEE_DENOMINATOR\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MAINTAINER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MIN_FEE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NAME\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NATIVE\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"TRUSTED_TOKENS\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"WNATIVE\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"adaptersCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"addedMaintainer\",\"type\":\"address\"}],\"name\":\"addMaintainer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amountIn\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_tokenIn\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_tokenOut\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_maxSteps\",\"type\":\"uint256\"}],\"name\":\"findBestPath\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"},{\"internalType\":\"address[]\",\"name\":\"adapters\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"path\",\"type\":\"address[]\"},{\"internalType\":\"uint256\",\"name\":\"gasEstimate\",\"type\":\"uint256\"}],\"internalType\":\"struct FormattedOffer\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amountIn\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_tokenIn\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_tokenOut\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_maxSteps\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_gasPrice\",\"type\":\"uint256\"}],\"name\":\"findBestPathWithGas\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"},{\"internalType\":\"address[]\",\"name\":\"adapters\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"path\",\"type\":\"address[]\"},{\"internalType\":\"uint256\",\"name\":\"gasEstimate\",\"type\":\"uint256\"}],\"internalType\":\"struct FormattedOffer\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amountIn\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_tokenIn\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_tokenOut\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"_index\",\"type\":\"uint8\"}],\"name\":\"queryAdapter\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amountIn\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_tokenIn\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_tokenOut\",\"type\":\"address\"},{\"internalType\":\"uint8[]\",\"name\":\"_options\",\"type\":\"uint8[]\"}],\"name\":\"queryNoSplit\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"adapter\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tokenIn\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tokenOut\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amountOut\",\"type\":\"uint256\"}],\"internalType\":\"struct Query\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amountIn\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_tokenIn\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_tokenOut\",\"type\":\"address\"}],\"name\":\"queryNoSplit\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"adapter\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tokenIn\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tokenOut\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amountOut\",\"type\":\"uint256\"}],\"internalType\":\"struct Query\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_tokenAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenAmount\",\"type\":\"uint256\"}],\"name\":\"recoverERC20\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"recoverNative\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"removedMaintainer\",\"type\":\"address\"}],\"name\":\"removeMaintainer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_adapters\",\"type\":\"address[]\"}],\"name\":\"setAdapters\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_wnative\",\"type\":\"address\"}],\"name\":\"setAllowanceForWrapping\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_claimer\",\"type\":\"address\"}],\"name\":\"setFeeClaimer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_fee\",\"type\":\"uint256\"}],\"name\":\"setMinFee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_trustedTokens\",\"type\":\"address[]\"}],\"name\":\"setTrustedTokens\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"amountIn\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountOut\",\"type\":\"uint256\"},{\"internalType\":\"address[]\",\"name\":\"path\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"adapters\",\"type\":\"address[]\"}],\"internalType\":\"struct Trade\",\"name\":\"_trade\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_fee\",\"type\":\"uint256\"}],\"name\":\"swapNoSplit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"amountIn\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountOut\",\"type\":\"uint256\"},{\"internalType\":\"address[]\",\"name\":\"path\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"adapters\",\"type\":\"address[]\"}],\"internalType\":\"struct Trade\",\"name\":\"_trade\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_fee\",\"type\":\"uint256\"}],\"name\":\"swapNoSplitFromAVAX\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"amountIn\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountOut\",\"type\":\"uint256\"},{\"internalType\":\"address[]\",\"name\":\"path\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"adapters\",\"type\":\"address[]\"}],\"internalType\":\"struct Trade\",\"name\":\"_trade\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_fee\",\"type\":\"uint256\"}],\"name\":\"swapNoSplitToAVAX\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"amountIn\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountOut\",\"type\":\"uint256\"},{\"internalType\":\"address[]\",\"name\":\"path\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"adapters\",\"type\":\"address[]\"}],\"internalType\":\"struct Trade\",\"name\":\"_trade\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_fee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_deadline\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"_v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"_r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"_s\",\"type\":\"bytes32\"}],\"name\":\"swapNoSplitToAVAXWithPermit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"amountIn\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountOut\",\"type\":\"uint256\"},{\"internalType\":\"address[]\",\"name\":\"path\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"adapters\",\"type\":\"address[]\"}],\"internalType\":\"struct Trade\",\"name\":\"_trade\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_fee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_deadline\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"_v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"_r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"_s\",\"type\":\"bytes32\"}],\"name\":\"swapNoSplitWithPermit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"trustedTokensCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event.\"},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"recoverERC20(address,uint256)\":{\"params\":{\"_tokenAddress\":\"token address\",\"_tokenAmount\":\"amount to recover\"}},\"recoverNative(uint256)\":{\"params\":{\"_amount\":\"amount\"}},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event.\"},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"findBestPath(uint256,address,address,uint256)\":{\"notice\":\"Return path with best returns between two tokens\"},\"findBestPathWithGas(uint256,address,address,uint256,uint256)\":{\"notice\":\"Return path with best returns between two tokens Takes gas-cost into account\"},\"queryAdapter(uint256,address,address,uint8)\":{\"notice\":\"Query single adapter\"},\"queryNoSplit(uint256,address,address)\":{\"notice\":\"Query all adapters\"},\"queryNoSplit(uint256,address,address,uint8[])\":{\"notice\":\"Query specified adapters\"},\"recoverERC20(address,uint256)\":{\"notice\":\"Recover ERC20 from contract\"},\"recoverNative(uint256)\":{\"notice\":\"Recover native asset from contract\"},\"swapNoSplitToAVAXWithPermit((uint256,uint256,address[],address[]),address,uint256,uint256,uint8,bytes32,bytes32)\":{\"notice\":\"Swap token to AVAX without the need to approve the first token\"},\"swapNoSplitWithPermit((uint256,uint256,address[],address[]),address,uint256,uint256,uint8,bytes32,bytes32)\":{\"notice\":\"Swap token to token without the need to approve the first token\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/contracts/YakRouter.sol\":\"YakRouter\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[],\"viaIR\":true},\"sources\":{\"@openzeppelin/contracts/access/AccessControl.sol\":{\"keccak256\":\"0x5b35d8e68aeaccc685239bd9dd79b9ba01a0357930f8a3307ab85511733d9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba8eb2d22f9321bd4660f6617c181d9611ff30a9b089408b8c6e2216d6d5cdc5\",\"dweb:/ipfs/QmTSJvhjHfnUV1j4hsqDv8PmLvGBLRs9gHLjTUXrUJ5Y9q\"]},\"@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a\",\"dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0xaf159a8b1923ad2a26d516089bceca9bdeaeacd04be50983ea00ba63070f08a3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f2cf1c531122bc7ca96b8c8db6a60deae60441e5223065e792553d4849b5638\",\"dweb:/ipfs/QmPBdJmBBABMDCfyDjCbdxgiqRavgiSL88SYPGibgbPas9\"]},\"@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"src/contracts/YakRouter.sol\":{\"keccak256\":\"0xf30112d19ee8552b9a2cddffcb3cef096aac0adc1268475c45eec60108116fec\",\"license\":\"GPL-3.0-only\",\"urls\":[\"bzz-raw://6015a662e6ed089bb25970ebfb665b605e2d0e1b98c2d1336db7191895d2313e\",\"dweb:/ipfs/QmWmTxLu2wzCHvqHVzw1j45vif9thWU2FVyuFSowXye4HN\"]},\"src/contracts/interface/IAdapter.sol\":{\"keccak256\":\"0x7efd1e561a2a064daefd8d690518f6cb23b83fbf6da172030c0c31fd8dafb073\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://035d57499365f32f6513bd4d52016b1cd75cb6dae0954acb4ad146362b092c9b\",\"dweb:/ipfs/QmaE3Lhi4BVtU3WaghDgFrbmHVBZkr9YtKjSE7SDLKBREa\"]},\"src/contracts/interface/IERC20.sol\":{\"keccak256\":\"0x7b2d64b5cf6350bd5590f96eaea048fcf0182b50fc22f1075adeed1a98325932\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a46d7b05a39141be8f75a706b5525bd1d42f18c3acb20f71abe68bcc5b9513c\",\"dweb:/ipfs/QmYHYnVyVYoNp69BDmDwn4USKn5jFExzSRhXfEeQonz6C5\"]},\"src/contracts/interface/IWETH.sol\":{\"keccak256\":\"0x7b31ca489d1bdf6631d5cf8c6f8ff9dc4a5c881d801a525f4e592a6884b9d2ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://65bcc0f64861bc79ba87e23373d2e49b7acfc9eef03515a21d0ef355dae4236b\",\"dweb:/ipfs/Qmb9WbsQf2kQSa4oNd2bMwsb7gQ6j8ffH8HQFkB5EjSrPB\"]},\"src/contracts/interface/IYakRouter.sol\":{\"keccak256\":\"0x8660677f248e2fef62557cd7d86968a8af01baa85cd3f3045c6d010d01f0e623\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9adcd137264681e533bf0803cec31c25b5bd84e6d0cb50f1d5a6859c9b0a790d\",\"dweb:/ipfs/QmT5Mx24Vr4SUx2rjuaabps1knGsARgUv25yk3qu6ErwUK\"]},\"src/contracts/lib/Maintainable.sol\":{\"keccak256\":\"0xcf17b3f89386f661ee6230c9774bc88a119f2385111279497bbb443209ad6bb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e0018ced83e9f5a9d7e51eff74e5bb4cb4ab56ef8cfe008a1d1b4c5623478baf\",\"dweb:/ipfs/QmUeaoPLux58rffKpD3jWkp7fZB1YFV4sDYm2985tB8pAZ\"]},\"src/contracts/lib/Recoverable.sol\":{\"keccak256\":\"0xf855fd55a85d30870412132338a45f6842df23b2047c26dffe850614345544c5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a4eee89674487e6d663241070cb0fbd71c12c8a40411664a550358b428f62aa1\",\"dweb:/ipfs/QmZizjy8aprBzFBuCNt7Cj1zhgWqzuEEeimbHZuSEJXq1K\"]},\"src/contracts/lib/SafeERC20.sol\":{\"keccak256\":\"0x2d77601f615804eb7471002f23f9a4593f86ac295e7353c2e7545f51d4f81728\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://587682afca9226a1b032c66bcc536d191dc7d1cc91fee950278bad70d46b4fa1\",\"dweb:/ipfs/QmPC5y2N2gLAkpJgHmgwHdDH6d3oNPLFVqWCqUhiKNZJip\"]},\"src/contracts/lib/TypeConversion.sol\":{\"keccak256\":\"0xa3a67bf37fbab7fd2edd745d8d1d1e4c4c18fb5d1c2a2c84af10e00e28caa165\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c8af26440429564d3d4f85b0d82bfe2902fb1294a79465b3207c049c5d0ef391\",\"dweb:/ipfs/Qmf6tUbyBVgLZtXvB5GQ7vb56t2LYFb36r1L9DsicdV3X5\"]},\"src/contracts/lib/YakViewUtils.sol\":{\"keccak256\":\"0x5772d3d1d410b2019ffe8b1b646b2532d8a7edacd00ed091ee21bc180b9be2b4\",\"license\":\"GPL-3.0-only\",\"urls\":[\"bzz-raw://77bcbf2c6a3f59009eaae6372e80562c4b8796af5fb0a5b68f44a92c5a74332d\",\"dweb:/ipfs/QmWVZRVNYuiK276AF3jCVsS3HXueGJagRUs1xdv6mdxQhZ\"]}},\"version\":1}", + "zk_version": "1.3.8" + }, + "bytecode": "0x000400000000000200010000000000020000000003010019000000600330027000000b87043001970003000000410355000200000001035500000b870030019d000100000000001f0000000101200190000000250000c13d0000008001000039000000400010043f0000000001000031000000040210008c000000730000413d0000000202000367000000000202043b000000e00220027000000b8f0320009c000000770000a13d00000b900320009c0000008f0000213d00000b9e0120009c000000bb0000213d00000ba50120009c000001710000a13d00000ba60120009c000002300000613d00000ba70120009c000002450000613d00000ba80120009c000004240000c13d0000000001000416000000000110004c000004240000c13d000003c90000013d000000a001000039000000400010043f0000000001000416000000000110004c000004240000c13d0000000001000031000000bf03100039000000200200008a000000000323016f000000400030043f0000001f0310018f000000020400036700000005051002720000003c0000613d00000000060000190000000507600210000000000874034f000000000808043b000000a00770003900000000008704350000000106600039000000000756004b000000340000413d000000000630004c0000004b0000613d0000000505500210000000000454034f0000000303300210000000a005500039000000000605043300000000063601cf000000000636022f000000000404043b0000010003300089000000000434022f00000000033401cf000000000363019f000000000035043500000b8803000041000000800410008c0000000004000019000000000403401900000b8805100197000000000650004c000000000300a01900000b880550009c000000000304c019000000000330004c000004240000c13d000000a00500043d00000b890350009c000004240000213d000000a003100039000000bf0150003900000b8804000041000000000631004b0000000006000019000000000604801900000b880730019700000b8801100197000000000871004b0000000004008019000000000171013f00000b880110009c00000000010600190000000001046019000000000110004c000004240000c13d000000a001500039000000000401043300000b8a0140009c000000f30000413d00000b8d0100004100000000001004350000004101000039000000040010043f00000b8e0100004100002e1700010430000000000110004c000004240000c13d000000000100001900002e160001042e00000bab0120009c000000a50000a13d00000bac0120009c000000cf0000213d00000bb30120009c0000018a0000a13d00000bb40120009c000002630000613d00000bb50120009c0000026f0000613d00000bb60120009c000004240000c13d0000000001000416000000000110004c000004240000c13d00000000010000312e1508a90000040f2e1523fa0000040f00000b8701000041000000400200043d00000b870320009c0000000001024019000000400110021000002e160001042e00000b910320009c000000e30000213d00000b980120009c000001ac0000a13d00000b990120009c0000027b0000613d00000b9a0120009c000002950000613d00000b9b0120009c000004240000c13d0000000001000416000000000110004c000004240000c13d00000000010000312e1507d50000040f2e1526c50000040f00000b8701000041000000400200043d00000b870320009c0000000001024019000000400110021000002e160001042e00000bb90120009c000001550000a13d00000bba0120009c000001bc0000a13d00000bbb0120009c000002a10000613d00000bbc0120009c000002bc0000613d00000bbd0120009c000004240000c13d0000000001000416000000000110004c000004240000c13d00000000010000312e1508010000040f2e1528e30000040f00000b8701000041000000400200043d00000b870320009c0000000001024019000000400110021000002e160001042e00000b9f0120009c000001cc0000a13d00000ba00120009c000002c80000613d00000ba10120009c000002e30000613d00000ba20120009c000004240000c13d0000000001000416000000000110004c000004240000c13d00000000010000312e1507d50000040f2e1529db0000040f00000b8701000041000000400200043d00000b870320009c0000000001024019000000400110021000002e160001042e00000bad0120009c000001f10000a13d00000bae0120009c000003070000613d00000baf0120009c000003220000613d00000bb00120009c000004240000c13d0000000001000416000000000110004c000004240000c13d00000000010000312e1507ea0000040f2e152a370000040f00000b8701000041000000400200043d00000b870320009c0000000001024019000000400110021000002e160001042e00000b920320009c000002100000a13d00000b930320009c000003300000613d00000b940320009c0000033c0000613d00000b950220009c000004240000c13d2e15087f0000040f2e151fa40000040f00000b8701000041000000400200043d00000b870320009c0000000001024019000000400110021000002e160001042e00000005064002100000003f01600039000000000721016f000000400100043d0000000007710019000000000817004b0000000008000019000000010800403900000b890970009c0000006d0000213d00000001088001900000006d0000c13d000000400070043f0000000000410435000000c0055000390000000006560019000000000636004b000004240000213d000000000640004c000001110000613d00000000060000190000000007010019000000005805043400000b8b0980009c000004240000213d000000200770003900000000008704350000000106600039000000000846004b000001090000413d000000c00500043d00000b890450009c000004240000213d000000bf0450003900000b8806000041000000000734004b0000000007000019000000000706801900000b880830019700000b8804400197000000000984004b0000000006008019000000000484013f00000b880440009c00000000040700190000000004066019000000000440004c000004240000c13d000000a004500039000000000404043300000b890640009c0000006d0000213d00000005064002100000003f07600039000000000727016f000000400200043d0000000007720019000000000827004b0000000008000019000000010800403900000b890970009c0000006d0000213d00000001088001900000006d0000c13d000000400070043f0000000000420435000000c0055000390000000006560019000000000336004b000004240000213d000000000340004c000001450000613d00000000030000190000000006020019000000005705043400000b8b0870009c000004240000213d000000200660003900000000007604350000000103300039000000000743004b0000013d0000413d000000e00300043d00000b8b0430009c000004240000213d000001000400043d00000b8b0540009c000004240000213d2e1504370000040f000000800100043d00000140000004430000016000100443000000200100003900000100001004430000000101000039000001200010044300000b8c0100004100002e160001042e00000bc00120009c000002200000213d00000bc30120009c000003560000613d00000bc40120009c000004240000c13d0000000001000416000000000110004c000004240000c13d00000000010000312e1508690000040f00000bc80110019700000bc90210009c0000000002000019000000010200603900000bca0110009c00000000010000190000000101006039000000000121019f000000010110018f000000400200043d000000000012043500000b870100004100000b870320009c0000000001024019000000400110021000000bc6011001c700002e160001042e00000ba90120009c0000036d0000613d00000baa0120009c000004240000c13d0000000001000416000000000110004c000004240000c13d00000000010000312e1508520000040f000100000002001d2e1526b50000040f00000001020000292e1526a40000040f000000000101041a000000ff011001900000000001000019000000010100c039000000400200043d000000000012043500000b870100004100000b870320009c0000000001024019000000400110021000000bc6011001c700002e160001042e00000bb70120009c000003880000613d00000bb80120009c000004240000c13d0000000001000416000000000110004c000004240000c13d000000040100008a000000000110003100000b8802000041000000200310008c0000000003000019000000000302401900000b8801100197000000000410004c000000000200a01900000b880110009c00000000010300190000000001026019000000000110004c000004240000c13d00000004010000390000000201100367000000000101043b2e15268b0000040f00000b8b01100197000000400200043d000000000012043500000b870100004100000b870320009c0000000001024019000000400110021000000bc6011001c700002e160001042e00000b9c0120009c0000039d0000613d00000b9d0120009c000004240000c13d0000000001000416000000000110004c000004240000c13d00000000010000312e1508520000040f2e152cfb0000040f00000b8701000041000000400200043d00000b870320009c0000000001024019000000400110021000002e160001042e00000bbe0120009c000003a90000613d00000bbf0120009c000004240000c13d0000000001000416000000000110004c000004240000c13d00000000010000312e1508520000040f2e152bfe0000040f00000b8701000041000000400200043d00000b870320009c0000000001024019000000400110021000002e160001042e00000ba30120009c000003c60000613d00000ba40120009c000004240000c13d0000000001000416000000000110004c000004240000c13d000000040100008a000000000110003100000b8802000041000000000310004c0000000003000019000000000302401900000b8801100197000000000410004c000000000200a01900000b880110009c00000000010300190000000001026019000000000110004c000004240000c13d2e150a010000040f0000000002010019000000400100043d000100000001001d2e15099d0000040f0000000104000029000000000141004900000b870200004100000b870310009c000000000102801900000b870340009c000000000204401900000040022002100000006001100210000000000121019f00002e160001042e00000bb10120009c000003df0000613d00000bb20120009c000004240000c13d0000000001000416000000000110004c000004240000c13d000000040100008a000000000110003100000b8802000041000000000310004c0000000003000019000000000302401900000b8801100197000000000410004c000000000200a01900000b880110009c00000000010300190000000001026019000000000110004c000004240000c13d0000000301000039000000000101041a000000400200043d000000000012043500000b870100004100000b870320009c0000000001024019000000400110021000000bc6011001c700002e160001042e00000b960120009c000003fa0000613d00000b970120009c000004240000c13d0000000001000416000000000110004c000004240000c13d00000000010000312e15087f0000040f2e15229f0000040f00000b8701000041000000400200043d00000b870320009c0000000001024019000000400110021000002e160001042e00000bc10120009c0000040f0000613d00000bc20120009c000004240000c13d0000000001000416000000000110004c000004240000c13d00000000010000312e1508a90000040f2e1520850000040f00000b8701000041000000400200043d00000b870320009c0000000001024019000000400110021000002e160001042e0000000001000416000000000110004c000004240000c13d00000000010000312e1508f80000040f2e151bb70000040f0000000002010019000000400100043d000100000001001d2e1509f00000040f0000000104000029000000000141004900000b870200004100000b870310009c000000000102801900000b870340009c000000000204401900000040022002100000006001100210000000000121019f00002e160001042e0000000001000416000000000110004c000004240000c13d000000040100008a000000000110003100000b8802000041000000200310008c0000000003000019000000000302401900000b8801100197000000000410004c000000000200a01900000b880110009c00000000010300190000000001026019000000000110004c000004240000c13d00000004010000390000000201100367000000000101043b2e1526720000040f00000b8b01100197000000400200043d000000000012043500000b870100004100000b870320009c0000000001024019000000400110021000000bc6011001c700002e160001042e0000000001000416000000000110004c000004240000c13d00000000010000312e1507d50000040f2e1515aa0000040f00000b8701000041000000400200043d00000b870320009c0000000001024019000000400110021000002e160001042e0000000001000416000000000110004c000004240000c13d00000000010000312e15087f0000040f2e1524cb0000040f00000b8701000041000000400200043d00000b870320009c0000000001024019000000400110021000002e160001042e0000000001000416000000000110004c000004240000c13d000000040100008a000000000110003100000b8802000041000000000310004c0000000003000019000000000302401900000b8801100197000000000410004c000000000200a01900000b880110009c00000000010300190000000001026019000000000110004c000004240000c13d000000400100043d0000271002000039000000000021043500000b870200004100000b870310009c0000000001028019000000400110021000000bc6011001c700002e160001042e0000000001000416000000000110004c000004240000c13d00000000010000312e1507d50000040f2e151dc40000040f00000b8701000041000000400200043d00000b870320009c0000000001024019000000400110021000002e160001042e0000000001000416000000000110004c000004240000c13d000000040100008a000000000110003100000b8802000041000000200310008c0000000003000019000000000302401900000b8801100197000000000410004c000000000200a01900000b880110009c00000000010300190000000001026019000000000110004c000004240000c13d00000004010000390000000201100367000000000101043b2e1529870000040f00000b8701000041000000400200043d00000b870320009c0000000001024019000000400110021000002e160001042e0000000001000416000000000110004c000004240000c13d00000000010000312e1508520000040f2e151f320000040f00000b8701000041000000400200043d00000b870320009c0000000001024019000000400110021000002e160001042e0000000001000416000000000110004c000004240000c13d000000040100008a000000000110003100000b8802000041000000200310008c0000000003000019000000000302401900000b8801100197000000000410004c000000000200a01900000b880110009c00000000010300190000000001026019000000000110004c000004240000c13d00000004010000390000000201100367000000000101043b2e152b3a0000040f00000b8701000041000000400200043d00000b870320009c0000000001024019000000400110021000002e160001042e0000000001000416000000000110004c000004240000c13d000000040100008a000000000110003100000b8802000041000000000310004c0000000003000019000000000302401900000b8801100197000000000410004c000000000200a01900000b880110009c00000000010300190000000001026019000000000110004c000004240000c13d000000400100043d000100000001001d00000bc7010000410000000000100439000000000100041200000004001004430000002400000443000080050100003900000044020000392e1504260000040f00000b8b011001970000000103000029000000000013043500000b870100004100000b870230009c0000000001034019000000400110021000000bc6011001c700002e160001042e0000000001000416000000000110004c000004240000c13d000000040100008a000000000110003100000b8802000041000000000310004c0000000003000019000000000302401900000b8801100197000000000410004c000000000200a01900000b880110009c00000000010300190000000001026019000000000110004c000004240000c13d0000000401000039000000000101041a000000400200043d000000000012043500000b870100004100000b870320009c0000000001024019000000400110021000000bc6011001c700002e160001042e0000000001000416000000000110004c000004240000c13d00000000010000312e15096d0000040f2e151b000000040f000000400200043d000000000012043500000b870100004100000b870320009c0000000001024019000000400110021000000bc6011001c700002e160001042e0000000001000416000000000110004c000004240000c13d00000000010000312e1507d50000040f2e1525260000040f00000b8701000041000000400200043d00000b870320009c0000000001024019000000400110021000002e160001042e0000000001000416000000000110004c000004240000c13d000000040100008a000000000110003100000b8802000041000000000310004c0000000003000019000000000302401900000b8801100197000000000410004c000000000200a01900000b880110009c00000000010300190000000001026019000000000110004c000004240000c13d000000400100043d00000bc502000041000000000021043500000b870200004100000b870310009c0000000001028019000000400110021000000bc6011001c700002e160001042e0000000001000416000000000110004c000004240000c13d000000040100008a000000000110003100000b8802000041000000000310004c0000000003000019000000000302401900000b8801100197000000000410004c000000000200a01900000b880110009c00000000010300190000000001026019000000000110004c000004240000c13d0000000201000039000000000101041a00000b8b01100197000000800010043f00000bcb0100004100002e160001042e0000000001000416000000000110004c000004240000c13d000000040100008a000000000110003100000b8802000041000000200310008c0000000003000019000000000302401900000b8801100197000000000410004c000000000200a01900000b880110009c00000000010300190000000001026019000000000110004c000004240000c13d00000004010000390000000201100367000000000101043b2e151ec00000040f00000b8701000041000000400200043d00000b870320009c0000000001024019000000400110021000002e160001042e0000000001000416000000000110004c000004240000c13d00000000010000312e1509310000040f2e15198c0000040f0000000002010019000000400100043d000100000001001d2e1509b50000040f0000000104000029000000000141004900000b870200004100000b870310009c000000000102801900000b870340009c000000000204401900000040022002100000006001100210000000000121019f00002e160001042e0000000001000416000000000110004c000004240000c13d00000000010000312e1508010000040f2e15283f0000040f00000b8701000041000000400200043d00000b870320009c0000000001024019000000400110021000002e160001042e0000000001000416000000000110004c000004240000c13d000000040100008a000000000110003100000b8802000041000000200310008c0000000003000019000000000302401900000b8801100197000000000410004c000000000200a01900000b880110009c00000000010300190000000001026019000000000110004c000004240000c13d00000004010000390000000201100367000000000101043b2e151aee0000040f000000400200043d000000000012043500000b870100004100000b870320009c0000000001024019000000400110021000000bc6011001c700002e160001042e0000000001000416000000000110004c000004240000c13d000000040100008a000000000110003100000b8802000041000000000310004c0000000003000019000000000302401900000b8801100197000000000410004c000000000200a01900000b880110009c00000000010300190000000001026019000000000110004c000004240000c13d000000400100043d000000000001043500000b870200004100000b870310009c0000000001028019000000400110021000000bc6011001c700002e160001042e0000000001000416000000000110004c000004240000c13d000000040100008a000000000110003100000b8802000041000000000310004c0000000003000019000000000302401900000b8801100197000000000410004c000000000200a01900000b880110009c00000000010300190000000001026019000000000110004c000004240000c13d0000000101000039000000000101041a000000400200043d000000000012043500000b870100004100000b870320009c0000000001024019000000400110021000000bc6011001c700002e160001042e0000000001000416000000000110004c000004240000c13d00000000010000312e1508dd0000040f2e151cc10000040f0000000002010019000000400100043d000100000001001d2e1509f00000040f0000000104000029000000000141004900000b870200004100000b870310009c000000000102801900000b870340009c000000000204401900000040022002100000006001100210000000000121019f00002e160001042e0000000001000416000000000110004c000004240000c13d00000000010000312e15094e0000040f2e1516a70000040f0000000002010019000000400100043d000100000001001d2e1509b50000040f0000000104000029000000000141004900000b870200004100000b870310009c000000000102801900000b870340009c000000000204401900000040022002100000006001100210000000000121019f00002e160001042e000000000100001900002e1700010430000000000301001900000b8701000041000000000400041400000b870540009c0000000001044019000000c0011002100000006002200210000000000112001900000bcc0110004100000000020300192e152e100000040f0000000102200190000004350000613d000000000101043b000000000001042d000000000100001900002e17000104300009000000000002000600000004001d000300000003001d000800000002001d000700000001001d0000000000000435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000007370000613d000000000101043b0000000002000411000500000002001d00000b8b02200197000900000002001d0000000000200435000000200010043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000007370000613d000000000101043b000000000101041a000000ff01100190000004910000c13d0000000000000435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000007370000613d000000000101043b00000009020000290000000000200435000000200010043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000007370000613d000000000101043b000000000201041a000001000300008a000000000232016f00000001022001bf000000000021041b000000400100043d00000b8702000041000000000300041400000b870430009c000000000302801900000b870410009c00000000010280190000004001100210000000c002300210000000000112019f00000bce011001c70000800d02000039000000040300003900000bcf040000410000000005000019000000050600002900000000070600192e152e0b0000040f0000000101200190000007370000613d00000bc5010000410000000000100435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000007370000613d000000000101043b00000009020000290000000000200435000000200010043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000007370000613d000000000101043b000000000101041a000000ff01100190000004e50000c13d00000bc5010000410000000000100435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000007370000613d000000000101043b00000009020000290000000000200435000000200010043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000007370000613d000000000101043b000000000201041a000001000300008a000000000232016f00000001022001bf000000000021041b000000400100043d00000b8702000041000000000300041400000b870430009c000000000302801900000b870410009c00000000010280190000004001100210000000c002300210000000000112019f00000bce011001c70000800d02000039000000040300003900000bcf0400004100000bc505000041000000050600002900000000070600192e152e0b0000040f0000000101200190000007370000613d0000000101000039000400000001001d000000000001041b00000bc5010000410000000000100435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000007370000613d000000000101043b00000009020000290000000000200435000000200010043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000007370000613d000000000101043b000000000101041a000000ff011001900000073f0000613d00000bd0010000410000000000100439000000060100002900000b8b01100197000500000001001d000000040010044300000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bd1011001c700008002020000392e152e100000040f00000005060000290000000102200190000007370000613d000000000101043b000000000110004c000007370000613d000000400900043d00000bd2010000410000000000190435000000000100041000000b8b0210019700000004039000390000000001000414000000000023043500000024029000390000000000620435000000040260008c000005290000c13d00000001030000310000055c0000013d00000b870200004100000b870310009c000000000102801900000b870390009c00000000020940190000004002200210000000c001100210000000000121019f00000bd3011001c70000000002060019000200000009001d2e152e100000040f00000002090000290000000003010019000000600330027000000b8703300197000000200430008c000000200500003900000000050340190000001f0450018f0000000505500272000005480000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b000005400000413d000000000640004c000005570000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f000300000001035500000001022001900000000506000029000007b60000613d0000001f01300039000000200700008a000000000271016f0000000001920019000000000221004b0000000002000019000000010200403900000b890310009c000007390000213d0000000102200190000007390000c13d000000400010043f00000b88020000410000000103000031000000200430008c0000000004000019000000000402401900000b8803300197000000000530004c000000000200a01900000b880330009c000000000204c019000000000220004c000007370000c13d0000000002090433000000000220004c000007540000c13d0000004402100039000000010300008a0000000000320435000000200210003900000bd8030000410000000000320435000000240310003900000000006304350000004403000039000000000031043500000bd90310009c000007390000213d0000008003100039000000400030043f0000000003000414000000040460008c0000058a0000c13d0000000102000031000005a20000013d00000b870400004100000b870520009c00000000020480190000004002200210000000000101043300000b870510009c00000000010480190000006001100210000000000121019f00000b870230009c00000000020400190000000002034019000000c002200210000000000121019f0000000002060019000500000007001d2e152e0b0000040f0000000507000029000000010220018f000400000002001d0003000000010355000000600110027000010b870010019d00000b87021001970000006001000039000000000320004c000005cf0000613d0000003f01200039000000000371016f000000400100043d0000000003310019000000000413004b0000000004000019000000010400403900000b890530009c000007390000213d0000000104400190000007390000c13d000000400030043f0000000002210436000000030300036700000001050000310000001f0450018f0000000505500272000005c00000613d000000000600001900000005076002100000000008720019000000000773034f000000000707043b00000000007804350000000106600039000000000756004b000005b80000413d000000000640004c000005cf0000613d0000000505500210000000000353034f00000000025200190000000304400210000000000502043300000000054501cf000000000545022f000000000303043b0000010004400089000000000343022f00000000034301cf000000000353019f00000000003204350000000402000029000000000220004c000007680000613d0000000012010434000000000320004c000005e90000613d00000b8803000041000000200420008c0000000004000019000000000403401900000b8802200197000000000520004c000000000300a01900000b880220009c00000000020400190000000002036019000000000220004c000007370000c13d0000000001010433000000000210004c0000000002000019000000010200c039000000000221004b000007370000c13d000000000110004c000007a10000613d00000bc5010000410000000000100435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000007370000613d000000000101043b00000009020000290000000000200435000000200010043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000007370000613d000000400200043d000000000101043b000000000101041a000000ff01100190000007790000613d0000002001000039000400000001001d00000000011204360000000803000029000000000303043300000000003104350000004001200039000000000430004c0000061b0000613d000000000400001900000008050000290000002005500039000000000605043300000b8b0660019700000000016104360000000104400039000000000634004b000006140000413d000000000121004900000b870300004100000b870420009c0000000002038019000000400220021000000b870410009c00000000010380190000006001100210000000000121019f000000000200041400000b870420009c0000000002038019000000c002200210000000000121019f00000bce011001c70000800d02000039000000010300003900000bdc040000412e152e0b0000040f0000000101200190000007370000613d0000000801000029000000000201043300000b8a0120009c000007390000213d0000000304000039000000000304041a000000000024041b000500000002001d000000000132004b000006530000813d000100000003001d000200000004001d000000000040043500000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bdd011001c700008010020000392e152e100000040f0000000102200190000007370000613d000000000201043b0000000501000029000000000112001900000001030000290000000002320019000000000321004b0000000204000029000006530000813d000000000001041b0000000101100039000000000321004b0000064f0000413d000000000040043500000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bdd011001c700008010020000392e152e100000040f0000000102200190000007370000613d0000000506000029000000000260004c00000008050000290000066f0000613d000000000101043b0000000002000019000000000301041a00000bde033001970000002005500039000000000405043300000b8b04400197000000000343019f000000000031041b00000001011000390000000102200039000000000362004b000006640000413d00000bc5010000410000000000100435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000007370000613d000000000101043b00000009020000290000000000200435000000200010043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000007370000613d000000000101043b000000000101041a000000ff011001900000073f0000613d0000000201000039000800000001001d000000000301041a000000030100002900000b8b04100197000000400100043d0000002002100039000300000004001d0000000000420435000500000003001d00000b8b02300197000000000021043500000b8702000041000000000300041400000b870430009c000000000302801900000b870410009c00000000010280190000004001100210000000c002300210000000000112019f00000bcd011001c70000800d02000039000000010300003900000bdf040000412e152e0b0000040f0000000101200190000007370000613d000000050100002900000bde011001970000000302000029000000000121019f0000000802000029000000000012041b00000bc5010000410000000000100435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000007370000613d000000000101043b00000009020000290000000000200435000000200010043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000007370000613d000000400200043d000000000101043b000000000101041a000000ff011001900000078d0000613d000000040100002900000000011204360000000705000029000000000305043300000000003104350000004001200039000000000430004c000006e00000613d00000000040000190000002005500039000000000605043300000b8b0660019700000000016104360000000104400039000000000634004b000006d90000413d000000000121004900000b870300004100000b870420009c0000000002038019000000400220021000000b870410009c00000000010380190000006001100210000000000121019f000000000200041400000b870420009c0000000002038019000000c002200210000000000121019f00000bce011001c70000800d02000039000000010300003900000be0040000412e152e0b0000040f0000000101200190000007370000613d0000000701000029000000000201043300000b8a0120009c000007390000213d0000000404000039000000000304041a000000000024041b000900000002001d000000000132004b000007180000813d000500000003001d000800000004001d000000000040043500000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bdd011001c700008010020000392e152e100000040f0000000102200190000007370000613d000000000201043b0000000901000029000000000112001900000005030000290000000002320019000000000321004b0000000804000029000007180000813d000000000001041b0000000101100039000000000321004b000007140000413d000000000040043500000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bdd011001c700008010020000392e152e100000040f0000000102200190000007370000613d0000000906000029000000000260004c0000000705000029000007340000613d000000000101043b0000000002000019000000000301041a00000bde033001970000002005500039000000000405043300000b8b04400197000000000343019f000000000031041b00000001011000390000000102200039000000000362004b000007290000413d0000000601000029000000800010043f000000000001042d000000000100001900002e170001043000000b8d0100004100000000001004350000004101000039000000040010043f00000b8e0100004100002e1700010430000000400100043d000000640210003900000be1030000410000000000320435000000440210003900000be203000041000000000032043500000024021000390000002803000039000000000032043500000bd602000041000000000021043500000004021000390000002003000039000000000032043500000b870200004100000b870310009c0000000001028019000000400110021000000bd7011001c700002e1700010430000000640210003900000bd4030000410000000000320435000000440210003900000bd503000041000000000032043500000024021000390000003603000039000000000032043500000bd602000041000000000021043500000004021000390000002003000039000000000032043500000b870200004100000b870310009c0000000001028019000000400110021000000bd7011001c700002e1700010430000000400100043d000000440210003900000be303000041000000000032043500000bd60200004100000000002104350000002402100039000000200300003900000000003204350000000402100039000000000032043500000b870200004100000b870310009c0000000001028019000000400110021000000be4011001c700002e1700010430000000640120003900000be1030000410000000000310435000000440120003900000be203000041000000000031043500000024012000390000002803000039000000000031043500000bd601000041000000000012043500000004012000390000002003000039000000000031043500000b870100004100000b870320009c0000000001024019000000400110021000000bd7011001c700002e1700010430000000640120003900000be1030000410000000000310435000000440120003900000be203000041000000000031043500000024012000390000002803000039000000000031043500000bd601000041000000000012043500000004012000390000000403000029000000000031043500000b870100004100000b870320009c0000000001024019000000400110021000000bd7011001c700002e1700010430000000400100043d000000640210003900000bda030000410000000000320435000000440210003900000bdb03000041000000000032043500000024021000390000002a03000039000000000032043500000bd602000041000000000021043500000004021000390000002003000039000000000032043500000b870200004100000b870310009c0000000001028019000000400110021000000bd7011001c700002e17000104300000001f0430018f0000000502300272000007c10000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b000007ba0000413d000000000340004c000007cf0000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000b8701000041000000010200003100000b870320009c0000000001024019000000600110021000002e1700010430000000040110008a00000b88020000410000001f0310008c0000000003000019000000000302201900000b8801100197000000000410004c000000000200801900000b880110009c00000000010300190000000001026019000000000110004c000007e80000613d00000004010000390000000201100367000000000101043b00000b8b0210009c000007e80000213d000000000001042d000000000100001900002e1700010430000000040110008a00000b88020000410000003f0310008c0000000003000019000000000302201900000b8801100197000000000410004c000000000200801900000b880110009c00000000010300190000000001026019000000000110004c000007ff0000613d00000002020003670000000401200370000000000101043b00000b8b0310009c000007ff0000213d0000002402200370000000000202043b000000000001042d000000000100001900002e1700010430000000040210008a00000b88030000410000001f0420008c0000000004000019000000000403201900000b8802200197000000000520004c000000000300801900000b880220009c00000000020400190000000002036019000000000220004c0000084a0000613d00000002020003670000000403200370000000000403043b00000b890340009c0000084a0000213d000000230340003900000b8805000041000000000613004b0000000006000019000000000605801900000b880710019700000b8803300197000000000873004b0000000005008019000000000373013f00000b880330009c00000000030600190000000003056019000000000330004c0000084a0000c13d0000000403400039000000000232034f000000000302043b00000b8a0230009c0000084c0000813d00000005053002100000003f02500039000000200600008a000000000662016f000000400200043d0000000006620019000000000726004b0000000007000019000000010700403900000b890860009c0000084c0000213d00000001077001900000084c0000c13d000000400060043f000000000032043500000024044000390000000005540019000000000115004b0000084a0000213d000000000130004c000008480000613d000000000100001900000000050200190000000206400367000000000606043b00000b8b0760009c0000084a0000213d0000002005500039000000000065043500000020044000390000000101100039000000000631004b0000083e0000413d0000000001020019000000000001042d000000000100001900002e170001043000000b8d0100004100000000001004350000004101000039000000040010043f00000b8e0100004100002e1700010430000000040110008a00000b88020000410000003f0310008c0000000003000019000000000302201900000b8801100197000000000410004c000000000200801900000b880110009c00000000010300190000000001026019000000000110004c000008670000613d00000002010003670000002402100370000000000202043b00000b8b0320009c000008670000213d0000000401100370000000000101043b000000000001042d000000000100001900002e1700010430000000040110008a00000b88020000410000001f0310008c0000000003000019000000000302201900000b8801100197000000000410004c000000000200801900000b880110009c00000000010300190000000001026019000000000110004c0000087d0000613d00000004010000390000000201100367000000000101043b00000bc802100197000000000221004b0000087d0000c13d000000000001042d000000000100001900002e17000104300000000002010019000000040120008a00000b88030000410000005f0410008c0000000004000019000000000403201900000b8801100197000000000510004c000000000300801900000b880110009c00000000010400190000000001036019000000000110004c000008a70000613d00000002030003670000000401300370000000000101043b00000b890410009c000008a70000213d0000000401100039000000000212004900000b8804000041000000800520008c0000000005000019000000000504401900000b8802200197000000000620004c000000000400a01900000b880220009c00000000020500190000000002046019000000000220004c000008a70000c13d0000002402300370000000000202043b00000b8b0420009c000008a70000213d0000004403300370000000000303043b000000000001042d000000000100001900002e17000104300000000002010019000000040120008a00000b8803000041000000df0410008c0000000004000019000000000403201900000b8801100197000000000510004c000000000300801900000b880110009c00000000010400190000000001036019000000000110004c000008db0000613d00000002070003670000000401700370000000000101043b00000b890310009c000008db0000213d0000000401100039000000000212004900000b8803000041000000800420008c0000000004000019000000000403401900000b8802200197000000000520004c000000000300a01900000b880220009c00000000020400190000000002036019000000000220004c000008db0000c13d0000002402700370000000000202043b00000b8b0320009c000008db0000213d0000008403700370000000000503043b000000ff0350008c000008db0000213d0000004403700370000000000303043b0000006404700370000000000404043b000000a406700370000000000606043b000000c407700370000000000707043b000000000001042d000000000100001900002e1700010430000000040110008a00000b88020000410000005f0310008c0000000003000019000000000302201900000b8801100197000000000410004c000000000200801900000b880110009c00000000010300190000000001026019000000000110004c000008f60000613d00000002030003670000000401300370000000000101043b0000002402300370000000000202043b00000b8b0420009c000008f60000213d0000004403300370000000000303043b00000b8b0430009c000008f60000213d000000000001042d000000000100001900002e1700010430000000040210008a00000b88030000410000007f0420008c0000000004000019000000000403201900000b8802200197000000000520004c000000000300801900000b880220009c00000000020400190000000002036019000000000220004c0000092f0000613d00000002040003670000000402400370000000000602043b0000002402400370000000000202043b00000b8b0320009c0000092f0000213d0000004403400370000000000303043b00000b8b0530009c0000092f0000213d0000006405400370000000000705043b00000b890570009c0000092f0000213d000000230570003900000b8808000041000000000915004b0000000009000019000000000908801900000b880a10019700000b8805500197000000000ba5004b00000000080080190000000005a5013f00000b880550009c00000000050900190000000005086019000000000550004c0000092f0000c13d0000000405700039000000000454034f000000000504043b00000b890450009c0000092f0000213d000000050850021000000024047000390000000007840019000000000117004b0000092f0000213d0000000001060019000000000001042d000000000100001900002e1700010430000000040110008a00000b88020000410000007f0310008c0000000003000019000000000302201900000b8801100197000000000410004c000000000200801900000b880110009c00000000010300190000000001026019000000000110004c0000094c0000613d00000002040003670000000401400370000000000101043b0000002402400370000000000202043b00000b8b0320009c0000094c0000213d0000004403400370000000000303043b00000b8b0530009c0000094c0000213d0000006404400370000000000404043b000000000001042d000000000100001900002e1700010430000000040110008a00000b88020000410000009f0310008c0000000003000019000000000302201900000b8801100197000000000410004c000000000200801900000b880110009c00000000010300190000000001026019000000000110004c0000096b0000613d00000002050003670000000401500370000000000101043b0000002402500370000000000202043b00000b8b0320009c0000096b0000213d0000004403500370000000000303043b00000b8b0430009c0000096b0000213d0000006404500370000000000404043b0000008405500370000000000505043b000000000001042d000000000100001900002e1700010430000000040110008a00000b88020000410000007f0310008c0000000003000019000000000302201900000b8801100197000000000410004c000000000200801900000b880110009c00000000010300190000000001026019000000000110004c0000098a0000613d00000002040003670000000401400370000000000101043b0000002402400370000000000202043b00000b8b0320009c0000098a0000213d0000004403400370000000000303043b00000b8b0530009c0000098a0000213d0000006404400370000000000404043b000000ff0540008c0000098a0000213d000000000001042d000000000100001900002e170001043000000000030100190000000004030433000000000140004c00000000012400190000099c0000613d000000000500001900000000062500190000002005500039000000000735001900000000070704330000000000760435000000000645004b000009920000413d000000000245004b0000099c0000a13d0000000000010435000000000001042d00000020030000390000000004310436000000000302043300000000003404350000004001100039000000000430004c000009b00000613d000000000400001900000000051400190000002004400039000000000624001900000000060604330000000000650435000000000534004b000009a50000413d000000000234004b000009b00000a13d000000000213001900000000000204350000001f02300039000000200300008a000000000232016f0000000001210019000000000001042d00000020030000390000000005310436000000003402043400000080060000390000000000650435000000a00510003900000000060404330000000000650435000000c005100039000000000760004c000009c70000613d00000000070000190000002004400039000000000804043300000000058504360000000107700039000000000867004b000009c10000413d000000200400008a0000000004140049000000000603043300000040031000390000000007540019000000000073043500000000070604330000000003750436000000000570004c000009d90000613d00000000050000190000002006600039000000000806043300000b8b0880019700000000038304360000000105500039000000000875004b000009d20000413d0000000005340019000000400420003900000000040404330000006006100039000000000056043500000000050404330000000003530436000000000650004c000009ea0000613d00000000060000190000002004400039000000000704043300000b8b0770019700000000037304360000000106600039000000000756004b000009e30000413d00000080011000390000006002200039000000000202043300000000002104350000000001030019000000000001042d000000004302043400000b8b033001970000000003310436000000000404043300000b8b0440019700000000004304350000004003200039000000000303043300000b8b033001970000004004100039000000000034043500000060022000390000000002020433000000600310003900000000002304350000008001100039000000000001042d000000400100043d00000be50210009c00000a0c0000813d0000004002100039000000400020043f000000200210003900000be603000041000000000032043500000009020000390000000000210435000000000001042d00000b8d0100004100000000001004350000004101000039000000040010043f00000b8e0100004100002e17000104300000001f02200039000000200300008a000000000232016f0000000001120019000000000221004b0000000002000019000000010200403900000b890310009c00000a1f0000213d000000010220019000000a1f0000c13d000000400010043f000000000001042d00000b8d0100004100000000001004350000004101000039000000040010043f00000b8e0100004100002e17000104300019000000000002000b00000006001d000600000005001d000800000004001d000a00000003001d000d00000002001d001300000001001d000000400100043d00000be70210009c00000f2d0000813d0000008002100039000000400020043f00000040021000390000006003000039000000000032043500000020021000390000000000320435000700000003001d000000000031043500000060011000390000000000010435000000400100043d00000bd90210009c00000f2d0000213d0000008002100039000000400020043f00000040021000390000000703000029000000000032043500000020021000390000000000320435000000000031043500000060011000390000000000010435000000400100043d000c00000001001d00000bd90110009c00000f2d0000213d0000000602000029000000003102043400000060042000390000004005200039000400000003001d0000000002030433000200000005001d0000000003050433000300000004001d00000000040404330000000c060000290000008005600039000000400050043f0000006005600039000900000005001d00000000004504350000004004600039000f00000004001d00000000003404350000000001160436000e00000001001d0000000000210435000000400100043d00000bd90210009c00000f2d0000213d0000008002100039000000400020043f0000006002100039000000000002043500000040021000390000000000020435000000200210003900000000000204350000000000010435000000400100043d001500000001001d00000bd90110009c00000f2d0000213d00000015020000290000008001200039000000400010043f00000060012000390000000000010435000000400120003900000000000104350000002001200039000000000001043500000000000204350000000402000039000000000102041a001200000001001d000000000110004c0000000003000019000000000c000019001400000002001d00000c690000613d0000000a0100002900000b8b01100197001700000001001d0000000d0100002900000b8b01100197001600000001001d0000801001000039001100000001001d00000000030000190000000004000019001900000003001d000000000102041a001800000004001d000000000141004b00000f330000a13d000000000020043500000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bdd011001c700000011020000292e152e100000040f000000010220019000000f2b0000613d000000000101043b00000018020000290000000001210019000000000101041a00000bd002000041000000000020043900000b8b01100197001800000001001d000000040010044300000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bd1011001c700008002020000392e152e100000040f0000001806000029000000010220019000000f2b0000613d000000000101043b000000000110004c00000f2b0000613d000000400900043d00000be80100004100000000001904350000004402900039000000000100041400000017030000290000000000320435000000240290003900000016030000290000000000320435000000040290003900000013030000290000000000320435000000040260008c00000ac50000c13d000000010300003100000af70000013d00000b870200004100000b870310009c000000000102801900000b870390009c00000000020940190000004002200210000000c001100210000000000121019f00000be4011001c70000000002060019001000000009001d2e152e100000040f00000010090000290000000003010019000000600330027000000b8703300197000000200430008c00000020050000390000000005034019000000050450027200000ae30000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000746004b00000adb0000413d0000001f0550019000000af20000613d0000000504400210000000000641034f00000000044900190000000305500210000000000704043300000000075701cf000000000757022f000000000606043b0000010005500089000000000656022f00000000055601cf000000000575019f0000000000540435000100000003001f00030000000103550000000102200190000000180600002900000f5e0000613d0000001f01300039000000200d00008a0000000002d1016f0000000001920019000000000221004b0000000002000019000000010200403900000b890310009c00000f2d0000213d000000010220019000000f2d0000c13d000000400010043f00000b88020000410000000103000031000000200430008c0000000004000019000000000402401900000b8803300197000000000530004c000000000200a01900000b880330009c000000000204c019000000000220004c00000f2b0000c13d00000000020904330000001903000029000000000330004c00000b180000613d000000150300002900000060033000390000000003030433000000000332004b00000b260000a13d00000bd90310009c00000f2d0000213d0000008003100039000000400030043f000000600310003900000000002304350000004002100039000000170300002900000000003204350000002002100039000000160300002900000000003204350000000000610435001500000001001d0000001903000029000000ff0130008c000000140200002900000f390000613d0000000104300039000000ff0340018f0000001201000029000000000113004b00000a8d0000413d0000001501000029000000600e10003900000000010e0433000000000210004c0000000003000019000000000c00001900000c690000613d0000000b02000029000000000220004c00000b5a0000613d0000001501000029000000000101043300000bd002000041000000000020043900000b8b01100197001700000001001d000000040010044300000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bd1011001c7000080020200003900190000000d001d00180000000e001d2e152e100000040f000000180e000029000000190d000029000000010220019000000f2b0000613d000000000101043b000000000110004c00000f2b0000613d000000400900043d00000be901000041000000000019043500000000010004140000001702000029000000040320008c00000b5d0000c13d000000010300003100000b910000013d000000400300043d000000000c00001900000baa0000013d00000b870400004100000b870310009c000000000104801900000b870390009c000000000304001900000000030940190000004003300210000000c001100210000000000131019f00000bea011001c7001700000009001d2e152e100000040f00000017090000290000000003010019000000600330027000000b8703300197000000200430008c000000200500003900000000050340190000001f0450018f000000050550027200000b7c0000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b00000b740000413d000000000640004c000000190d00002900000b8c0000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f00030000000103550000000102200190000000180e00002900000f9c0000613d0000001f013000390000000001d1016f0000000003910019000000000113004b0000000001000019000000010100403900000b890230009c00000f2d0000213d000000010110019000000f2d0000c13d000000400030043f00000b88010000410000000102000031000000200420008c0000000004000019000000000401401900000b8802200197000000000520004c000000000100a01900000b880220009c000000000104c019000000000110004c00000f2b0000c13d00000000010e0433000000000c0904330000000f0200002900000000070204330000001502000029000000000202043300000b8b0420019700000beb0230009c00000f2d0000213d0000001502000029000000400220003900000000020204330000004005300039000000400050043f00000b8b022001970000002005300039000000000025043500000020020000390000000000230435000000400500043d00000020085000390000000006070433000000000960004c00000bcc0000613d0000000009000019000000000a8900190000002009900039000000000b790019000000000b0b04330000000000ba0435000000000a69004b00000bc10000413d000000000769004b00000bcc0000a13d000000000786001900000000000704350000000007030433000000000970004c00000bdc0000613d00000000086800190000000009000019000000000a8900190000002009900039000000000b390019000000000b0b04330000000000ba0435000000000a79004b00000bd10000413d000000000379004b00000bdc0000a13d00000000038700190000000000030435000000000367001900000000003504350000003f033000390000000006d3016f0000000003560019000000000663004b0000000006000019000000010600403900000b890730009c00000f2d0000213d000000010660019000000f2d0000c13d000000400030043f0000000f0300002900000000005304350000000e030000290000000007030433000000400500043d00000beb0350009c00000f2d0000213d0000004003500039000000400030043f000000200350003900000000004304350000000000250435000000400300043d00000020063000390000000004070433000000000840004c00000c060000613d000000000800001900000000096800190000002008800039000000000a780019000000000a0a04330000000000a90435000000000948004b00000bfb0000413d000000000748004b00000c060000a13d000000000764001900000000000704350000000007050433000000000870004c00000c160000613d0000000006460019000000000800001900000000096800190000002008800039000000000a580019000000000a0a04330000000000a90435000000000978004b00000c0b0000413d000000000578004b00000c160000a13d00000000056700190000000000050435000000000447001900000000004304350000003f044000390000000005d4016f0000000004350019000000000554004b0000000005000019000000010500403900000b890640009c00000f2d0000213d000000010550019000000f2d0000c13d000000400040043f0000000e0400002900000000003404350000000c030000290000000005030433000000400300043d00000beb0430009c00000f2d0000213d0000004004300039000000400040043f000000200430003900000000001404350000000000230435000000400100043d00000020041000390000000002050433000000000620004c00000c400000613d000000000600001900000000074600190000002006600039000000000856001900000000080804330000000000870435000000000726004b00000c350000413d000000000526004b00000c400000a13d000000000542001900000000000504350000000005030433000000000650004c00000c500000613d0000000004240019000000000600001900000000074600190000002006600039000000000836001900000000080804330000000000870435000000000756004b00000c450000413d000000000356004b00000c500000a13d00000000034500190000000000030435000000000225001900000000002104350000003f022000390000000003d2016f0000000002130019000000000332004b0000000003000019000000010300403900000b890420009c00000f2d0000213d000000010330019000000f2d0000c13d000000400020043f0000000c020000290000000000120435000000010100008a00000000021c013f00000009010000290000000001010433000000000221004b00000f390000213d0000000001c100190000000902000029000000000012043500000000030e0433000500000003001d00090000000c001d0000000801000029000000010110008c00000f290000a13d0000000801000029000000020110008a0000000402000029000000000202043300000000020204330000000502200270000000000112004b00000f290000213d0000000301000039000f00000001001d000000000101041a000e00000001001d000000000110004c00000f290000613d0000000d0100002900000b8b01100197001700000001001d0000801001000039000d00000001001d000000000200001900000c8c0000013d000000010100008a0000001002000029000000000112004b00000f390000613d000000100200002900000001022000390000000e01000029000000000112004b00000f290000813d0000000f01000029000000000101041a001000000002001d000000000121004b00000f330000a13d0000000f01000029000000000010043500000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bdd011001c70000000d020000292e152e100000040f000000010220019000000f2b0000613d000000000101043b00000010020000290000000001210019000000000101041a00000b8b011001970000001702000029000000000112004b00000c870000613d0000000f01000029000000000101041a0000001002000029000000000121004b00000f330000a13d0000000f01000029000000000010043500000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bdd011001c700008010020000392e152e100000040f000000010220019000000f2b0000613d000000000101043b00000010020000290000000001210019000000000101041a00000b8b01100197001600000001001d000000400100043d00000bd90210009c00000f2d0000213d0000008002100039000000400020043f0000006002100039000000000002043500000040021000390000000000020435000000200210003900000000000204350000000000010435000000400100043d001500000001001d00000bd90110009c00000f2d0000213d00000015020000290000008001200039000000400010043f00000060012000390000000000010435000000400120003900000000000104350000002001200039000000000001043500000000000204350000001402000029000000000102041a001200000001001d000000000110004c00000c870000613d00000000030000190000000004000019001900000003001d000000000102041a001800000004001d000000000141004b00000f330000a13d000000000020043500000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bdd011001c700008010020000392e152e100000040f000000010220019000000f2b0000613d000000000101043b00000018020000290000000001210019000000000101041a00000bd002000041000000000020043900000b8b01100197001800000001001d000000040010044300000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bd1011001c700008002020000392e152e100000040f0000001806000029000000010220019000000f2b0000613d000000000101043b000000000110004c00000f2b0000613d000000400900043d00000be80100004100000000001904350000004402900039000000000100041400000016030000290000000000320435000000240290003900000017030000290000000000320435000000040290003900000013030000290000000000320435000000040260008c00000d150000c13d000000010300003100000d470000013d00000b870200004100000b870310009c000000000102801900000b870390009c00000000020940190000004002200210000000c001100210000000000121019f00000be4011001c70000000002060019001100000009001d2e152e100000040f00000011090000290000000003010019000000600330027000000b8703300197000000200430008c00000020050000390000000005034019000000050450027200000d330000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000746004b00000d2b0000413d0000001f0550019000000d420000613d0000000504400210000000000641034f00000000044900190000000305500210000000000704043300000000075701cf000000000757022f000000000606043b0000010005500089000000000656022f00000000055601cf000000000575019f0000000000540435000100000003001f00030000000103550000000102200190000000180600002900000f3f0000613d0000001f01300039000000200c00008a0000000002c1016f0000000001920019000000000221004b0000000002000019000000010200403900000b890310009c00000f2d0000213d000000010220019000000f2d0000c13d000000400010043f00000b88020000410000000103000031000000200430008c0000000004000019000000000402401900000b8803300197000000000530004c000000000200a01900000b880330009c000000000204c019000000000220004c00000f2b0000c13d00000000020904330000001903000029000000000330004c00000d680000613d000000150300002900000060033000390000000003030433000000000332004b00000d760000a13d00000bd90310009c00000f2d0000213d0000008003100039000000400030043f000000600310003900000000002304350000004002100039000000160300002900000000003204350000002002100039000000170300002900000000003204350000000000610435001500000001001d0000001903000029000000ff0130008c000000140200002900000f390000613d0000000104300039000000ff0340018f0000001201000029000000000113004b00000cdd0000413d0000001501000029000000600e10003900000000010e0433000000000110004c00000c830000613d000000400100043d00000bd90210009c00000f2d0000213d0000008002100039000000400020043f00000040021000390000000703000029000000000032043500000020021000390000000000320435000000000031043500000060011000390000000000010435000000400d00043d00000bd901d0009c00000f2d0000213d000000040100002900000000010104330000000602000029000000000202043300000002030000290000000003030433000000030400002900000000040404330000008005d00039000000400050043f000000600fd0003900000000004f04350000004004d00039001900000004001d000000000034043500000000022d0436001800000002001d00000000001204350000000b01000029000000000110004c00160000000d001d00000dce0000613d0000001501000029000000000101043300000bd002000041000000000020043900000b8b01100197000100000001001d000000040010044300000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bd1011001c7000080020200003900120000000c001d00110000000e001d00090000000f001d2e152e100000040f000000090f000029000000110e000029000000160d000029000000120c000029000000010220019000000f2b0000613d000000000101043b000000000110004c00000f2b0000613d000000400900043d00000be901000041000000000019043500000000010004140000000102000029000000040320008c00000dd00000c13d000000010300003100000e050000013d000000400300043d00000e1e0000013d00000b870400004100000b870310009c000000000104801900000b870390009c000000000304001900000000030940190000004003300210000000c001100210000000000131019f00000bea011001c7000100000009001d2e152e100000040f00000001090000290000000003010019000000600330027000000b8703300197000000200430008c00000020050000390000000005034019000000050450027200000dee0000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000746004b00000de60000413d0000001f05500190000000120c000029000000110e000029000000090f00002900000e000000613d0000000504400210000000000641034f00000000044900190000000305500210000000000704043300000000075701cf000000000757022f000000000606043b0000010005500089000000000656022f00000000055601cf000000000575019f0000000000540435000100000003001f00030000000103550000000102200190000000160d00002900000f7d0000613d0000001f013000390000000001c1016f0000000003910019000000000113004b0000000001000019000000010100403900000b890230009c00000f2d0000213d000000010110019000000f2d0000c13d000000400030043f00000b88010000410000000102000031000000200420008c0000000004000019000000000401401900000b8802200197000000000520004c000000000100a01900000b880220009c000000000104c019000000000110004c00000f2b0000c13d0000000001090433000900000001001d0000001901000029000000000701043300000000010e04330000001502000029000000000202043300000b8b0420019700000beb0230009c00000f2d0000213d0000001502000029000000400220003900000000020204330000004005300039000000400050043f00000b8b022001970000002005300039000000000025043500000020020000390000000000230435000000400500043d00000020085000390000000006070433000000000960004c00000e410000613d0000000009000019000000000a8900190000002009900039000000000b790019000000000b0b04330000000000ba0435000000000a69004b00000e360000413d000000000769004b00000e410000a13d000000000786001900000000000704350000000007030433000000000970004c00000e510000613d00000000086800190000000009000019000000000a8900190000002009900039000000000b390019000000000b0b04330000000000ba0435000000000a79004b00000e460000413d000000000379004b00000e510000a13d00000000038700190000000000030435000000000367001900000000003504350000003f033000390000000006c3016f0000000003560019000000000663004b0000000006000019000000010600403900000b890730009c00000f2d0000213d000000010660019000000f2d0000c13d000000400030043f0000001903000029000000000053043500000018030000290000000007030433000000400500043d00000beb0350009c00000f2d0000213d0000004003500039000000400030043f000000200350003900000000004304350000000000250435000000400300043d00000020063000390000000004070433000000000840004c00000e7b0000613d000000000800001900000000096800190000002008800039000000000a780019000000000a0a04330000000000a90435000000000948004b00000e700000413d000000000748004b00000e7b0000a13d000000000764001900000000000704350000000007050433000000000870004c00000e8b0000613d0000000006460019000000000800001900000000096800190000002008800039000000000a580019000000000a0a04330000000000a90435000000000978004b00000e800000413d000000000578004b00000e8b0000a13d00000000056700190000000000050435000000000447001900000000004304350000003f044000390000000005c4016f0000000004350019000000000554004b0000000005000019000000010500403900000b890640009c00000f2d0000213d000000010550019000000f2d0000c13d000000400040043f0000001804000029000000000034043500000000050d0433000000400300043d00000beb0430009c00000f2d0000213d0000004004300039000000400040043f000000200430003900000000001404350000000000230435000000400100043d00000020041000390000000002050433000000000620004c00000eb40000613d000000000600001900000000074600190000002006600039000000000856001900000000080804330000000000870435000000000726004b00000ea90000413d000000000526004b00000eb40000a13d000000000542001900000000000504350000000005030433000000000650004c00000ec40000613d0000000004240019000000000600001900000000074600190000002006600039000000000836001900000000080804330000000000870435000000000756004b00000eb90000413d000000000356004b00000ec40000a13d00000000034500190000000000030435000000000225001900000000002104350000003f022000390000000003c2016f0000000002130019000000000332004b0000000003000019000000010300403900000b890420009c00000f2d0000213d000000010330019000000f2d0000c13d000000400020043f00000000001d0435000000010200008a0000000901000029001800000002001d000000000221013f00000000010f0433000000000221004b00000f390000213d0000000902000029000000000121001900000000001f043500000000010e0433001900000001001d0000000f01000029000000000101041a0000001002000029000000000121004b00000f330000a13d0000000f01000029000000000010043500000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bdd011001c700008010020000392e152e100000040f0000000102200190000000160500002900000f2b0000613d000000000101043b00000010020000290000000001210019000000000101041a00000b8b0210019700000019010000290000000a0300002900000008040000290000000b060000292e150a250000040f000000400210003900000000020204330000000003020433000000000223001900000000020204330000000a04000029000000000442013f00000000020104330000000002320019000000000202043300000b8b0340019800000c870000c13d0000000503000029000000000332004b00000c870000a13d0000000c030000290000006003300039000000000303043300000060041000390000000004040433000000000534004b00000f260000a13d00000000033400490000000b05000029000000000450004c00000f1c0000613d000000180400002900000000545400d9000000000434004b00000f390000413d0000000504000029000000000442004b00000f1f0000813d00000f390000013d0000000504000029000000000442004b00000f390000413d000000050400002900000000044200490000000b0500002900000000535300a900000bec5330012a000000000343004b00000c870000213d000500000002001d000c00000001001d00000c870000013d0000000c01000029000000000001042d000000000100001900002e170001043000000b8d0100004100000000001004350000004101000039000000040010043f00000b8e0100004100002e170001043000000b8d0100004100000000001004350000003201000039000000040010043f00000b8e0100004100002e170001043000000b8d0100004100000000001004350000001101000039000000040010043f00000b8e0100004100002e17000104300000001f0430018f000000050230027200000f4a0000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b00000f430000413d000000000340004c00000f580000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000b8701000041000000010200003100000b870320009c0000000001024019000000600110021000002e17000104300000001f0430018f000000050230027200000f690000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b00000f620000413d000000000340004c00000f770000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000b8701000041000000010200003100000b870320009c0000000001024019000000600110021000002e17000104300000001f0430018f000000050230027200000f880000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b00000f810000413d000000000340004c00000f960000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000b8701000041000000010200003100000b870320009c0000000001024019000000600110021000002e17000104300000001f0430018f000000050230027200000fa70000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b00000fa00000413d000000000340004c00000fb50000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000b8701000041000000010200003100000b870320009c0000000001024019000000600110021000002e1700010430000f000000000002000100000003001d000000000b0200190000001f0200008a0000000005120049000f00000001001d00000040021000390000000201000367000a00000002001d000000000221034f000000000202043b0000000003000031000b00000005001d000000000553001900000b8806000041000000000752004b0000000007000019000000000706401900000b880550019700000b8808200197000000000958004b000000000600a019000000000558013f00000b880550009c00000000050700190000000005066019000000000550004c000014b00000613d0000000f050000290000000005520019000000000151034f000000000101043b00000b890210009c000014b00000213d00000005021002100000000003230049000000200550003900000b8806000041000000000735004b0000000007000019000000000706201900000b880330019700000b8805500197000000000835004b0000000006008019000000000335013f00000b880330009c00000000030700190000000003066019000000000330004c000014b00000c13d0000003f03200039000000200500008a000800000005001d000000000353016f000000400500043d0000000003350019000e00000005001d000000000553004b0000000005000019000000010500403900000b890630009c000015130000213d0000000105500190000015130000c13d000000400030043f0000000e03000029000000000c1304360000001f0120018f0000000003000031000000020330036700000005022002720000100d0000613d0000000005000019000000050650021000000000076c0019000000000663034f000000000606043b00000000006704350000000105500039000000000625004b000010050000413d000000000510004c0000101c0000613d0000000502200210000000000323034f00000000022c00190000000301100210000000000502043300000000051501cf000000000515022f000000000303043b0000010001100089000000000313022f00000000011301cf000000000151019f0000000000120435000000000140004c000000000d000410000d0000000c001d000010240000c13d0000000101000039000000000101041a000000000110004c000011630000613d0000000f010000290000000201100367000000000101043b0000000e020000290000000002020433000000000220004c0000150d0000613d0000000102000039000000000202041a000000000242004b000015980000213d000027110240008c000015570000813d0000271002400089000000000310004c000010380000613d000000010300008a00000000431300d9000000000323004b000015570000413d00000000322100a9000027102320011a00000000003c043500000000040000310000000b02000029000000000624001900000002020003670000000a05000029000000000552034f000000000505043b00000b8807000041000000000865004b0000000008000019000000000807801900000b880660019700000b8809500197000000000a69004b0000000007008019000000000669013f00000b880660009c00000000060800190000000006076019000000000660004c000014b00000c13d0000000f060000290000000006650019000000000562034f000000000505043b00000b890750009c000014b00000213d00000005075002100000000007740049000000200460003900000b8806000041000000000874004b0000000008000019000000000806201900000b880770019700000b8809400197000000000a79004b0000000006008019000000000779013f00000b880770009c000000000608c019000000000660004c000014b00000c13d000000000550004c0000150d0000613d000000000242034f000000000202043b00000b8b0420009c000014b00000213d0000000204000039000000000404041a00000b8b044001970000000e050000290000000005050433000000000550004c0000150d0000613d000000000531004b000015570000413d0000000005310049000000400100043d000000200310003900000b8b06b001970000000007d6004b0000108d0000c13d00000bef06000041000000000063043500000044061000390000000000560435000000240510003900000000004504350000004404000039000000000041043500000bd90410009c000015130000213d0000008004100039000000400040043f0000000004000414000000040520008c000010a10000c13d00000001030000310000000002000019000010ba0000013d00000bed0700004100000000007304350000006407100039000000000057043500000044051000390000000000450435000000240410003900000000006404350000006404000039000000000041043500000bee0410009c000015130000213d000000a004100039000000400040043f0000000004000414000000040520008c000011020000c13d000000010300003100000000020000190000111b0000013d00000b870500004100000b870630009c00000000030580190000004003300210000000000101043300000b870610009c00000000010580190000006001100210000000000131019f00000b870340009c00000000030500190000000003044019000000c003300210000000000131019f000c0000000b001d00090000000d001d2e152e0b0000040f000000090d0000290000000c0b0000290000000d0c000029000000010220015f0003000000010355000000600110027000010b870010019d00000b87031001970000006001000039000000000430004c000010e80000613d0000003f013000390000000804000029000000000441016f000000400100043d0000000004410019000000000514004b0000000005000019000000010500403900000b890640009c000015130000213d0000000105500190000015130000c13d000000400040043f0000000003310436000000030400036700000001060000310000001f0560018f0000000506600272000010d90000613d000000000700001900000005087002100000000009830019000000000884034f000000000808043b00000000008904350000000107700039000000000867004b000010d10000413d000000000750004c000010e80000613d0000000506600210000000000464034f00000000036300190000000305500210000000000603043300000000065601cf000000000656022f000000000404043b0000010005500089000000000454022f00000000045401cf000000000464019f000000000043043500000001022001900000155d0000c13d0000000012010434000000000320004c0000116b0000613d00000b8803000041000000200420008c0000000004000019000000000403401900000b8802200197000000000520004c000000000300a01900000b880220009c00000000020400190000000002036019000000000220004c000014b00000c13d0000000001010433000000000210004c0000000002000019000000010200c039000000000221004b000014b00000c13d000000000110004c0000116b0000c13d0000156e0000013d00000b870500004100000b870630009c00000000030580190000004003300210000000000101043300000b870610009c00000000010580190000006001100210000000000131019f00000b870340009c00000000030500190000000003044019000000c003300210000000000131019f000c0000000b001d00090000000d001d2e152e0b0000040f000000090d0000290000000c0b0000290000000d0c000029000000010220015f0003000000010355000000600110027000010b870010019d00000b87031001970000006001000039000000000430004c000011490000613d0000003f013000390000000804000029000000000441016f000000400100043d0000000004410019000000000514004b0000000005000019000000010500403900000b890640009c000015130000213d0000000105500190000015130000c13d000000400040043f0000000003310436000000030400036700000001060000310000001f0560018f00000005066002720000113a0000613d000000000700001900000005087002100000000009830019000000000884034f000000000808043b00000000008904350000000107700039000000000867004b000011320000413d000000000750004c000011490000613d0000000506600210000000000464034f00000000036300190000000305500210000000000603043300000000065601cf000000000656022f000000000404043b0000010005500089000000000454022f00000000045401cf000000000464019f000000000043043500000001022001900000155d0000c13d0000000012010434000000000320004c0000116b0000613d00000b8803000041000000200420008c0000000004000019000000000403401900000b8802200197000000000520004c000000000300a01900000b880220009c00000000020400190000000002036019000000000220004c000014b00000c13d0000000001010433000000000210004c0000000002000019000000010200c039000000000221004b000014b00000c13d000000000110004c0000116b0000c13d0000156e0000013d0000000e010000290000000001010433000000000110004c0000150d0000613d0000000f010000290000000201100367000000000101043b00000000001c043500000002010003670000000a02000029000000000221034f000000000202043b00000000030000310000000b04000029000000000443001900000b880540019700000b880620019700000b8807000041000000000856004b00000000080000190000000008074019000000000556013f000000000642004b0000000006000019000000000607801900000b880550009c00000000050600190000000005086019000000000550004c000014b00000c13d0000000f050000290000000005520019000000000251034f000000000202043b00000b890620009c000014b00000213d00000005062002100000000006630049000000200550003900000b8807000041000000000865004b0000000008000019000000000807201900000b880660019700000b8809500197000000000a69004b0000000007008019000000000669013f00000b880660009c00000000060800190000000006076019000000000660004c000014b00000c13d000000000220004c0000150d0000613d000000000251034f000000000202043b00000b8b0520009c000014b00000213d0000000f050000290000006005500039000900000005001d000000000551034f000000000505043b00000b8806000041000000000745004b0000000007000019000000000706801900000b880440019700000b8808500197000000000948004b0000000006008019000000000448013f00000b880440009c00000000040700190000000004066019000000000440004c000014b00000c13d0000000f040000290000000005450019000000000451034f000000000404043b00000b890640009c000014b00000213d00000005064002100000000006630049000000200350003900000b8805000041000000000763004b0000000007000019000000000705201900000b880660019700000b8808300197000000000968004b0000000005008019000000000668013f00000b880660009c000000000507c019000000000550004c000014b00000c13d000000000440004c0000150d0000613d000000000131034f000000000401043b00000b8b0140009c000014b00000213d0000000e010000290000000001010433000000000110004c0000150d0000613d000000400100043d000000200310003900000000050c043300000b8b06b001970000000007d6004b000011e90000c13d00000bef06000041000000000063043500000044061000390000000000560435000000240510003900000000004504350000004404000039000000000041043500000bd90410009c000015130000213d0000008004100039000000400040043f0000000004000414000000040520008c000011fd0000c13d00000001030000310000000002000019000012120000013d00000bed0700004100000000007304350000006407100039000000000057043500000044051000390000000000450435000000240410003900000000006404350000006404000039000000000041043500000bee0410009c000015130000213d000000a004100039000000400040043f0000000004000414000000040520008c0000125a0000c13d000000010300003100000000020000190000126f0000013d00000b870500004100000b870630009c00000000030580190000004003300210000000000101043300000b870610009c00000000010580190000006001100210000000000131019f00000b870340009c00000000030500190000000003044019000000c003300210000000000131019f2e152e0b0000040f0000000d0c000029000000010220015f0003000000010355000000600110027000010b870010019d00000b87031001970000006001000039000000000430004c000012400000613d0000003f013000390000000804000029000000000441016f000000400100043d0000000004410019000000000514004b0000000005000019000000010500403900000b890640009c000015130000213d0000000105500190000015130000c13d000000400040043f0000000003310436000000030400036700000001060000310000001f0560018f0000000506600272000012310000613d000000000700001900000005087002100000000009830019000000000884034f000000000808043b00000000008904350000000107700039000000000867004b000012290000413d000000000750004c000012400000613d0000000506600210000000000464034f00000000036300190000000305500210000000000603043300000000065601cf000000000656022f000000000404043b0000010005500089000000000454022f00000000045401cf000000000464019f000000000043043500000001022001900000155d0000c13d0000000012010434000000000320004c000012b60000613d00000b8803000041000000200420008c0000000004000019000000000403401900000b8802200197000000000520004c000000000300a01900000b880220009c00000000020400190000000002036019000000000220004c000014b00000c13d0000000001010433000000000210004c0000000002000019000000010200c039000000000221004b000014b00000c13d000000000110004c000012b60000c13d0000156e0000013d00000b870500004100000b870630009c00000000030580190000004003300210000000000101043300000b870610009c00000000010580190000006001100210000000000131019f00000b870340009c00000000030500190000000003044019000000c003300210000000000131019f2e152e0b0000040f0000000d0c000029000000010220015f0003000000010355000000600110027000010b870010019d00000b87031001970000006001000039000000000430004c0000129d0000613d0000003f013000390000000804000029000000000441016f000000400100043d0000000004410019000000000514004b0000000005000019000000010500403900000b890640009c000015130000213d0000000105500190000015130000c13d000000400040043f0000000003310436000000030400036700000001060000310000001f0560018f00000005066002720000128e0000613d000000000700001900000005087002100000000009830019000000000884034f000000000808043b00000000008904350000000107700039000000000867004b000012860000413d000000000750004c0000129d0000613d0000000506600210000000000464034f00000000036300190000000305500210000000000603043300000000065601cf000000000656022f000000000404043b0000010005500089000000000454022f00000000045401cf000000000464019f000000000043043500000001022001900000155d0000c13d0000000012010434000000000320004c000012b60000613d00000b8803000041000000200420008c0000000004000019000000000403401900000b8802200197000000000520004c000000000300a01900000b880220009c00000000020400190000000002036019000000000220004c000014b00000c13d0000000001010433000000000210004c0000000002000019000000010200c039000000000221004b000014b00000c13d000000000110004c0000156e0000613d00000002010003670000000902000029000000000221034f000000000402043b00000000020000310000000b03000029000000000332001900000b880530019700000b880640019700000b8807000041000000000856004b00000000080000190000000008074019000000000556013f000000000634004b0000000006000019000000000607801900000b880550009c00000000050600190000000005086019000000000550004c000014b00000c13d000000000b0000190000000f050000290000000005540019000000000451034f000000000404043b00000b890640009c000014b00000213d00000005064002100000000006620049000000200550003900000b8807000041000000000865004b0000000008000019000000000807201900000b880660019700000b8809500197000000000a69004b0000000007008019000000000669013f00000b880660009c00000000060800190000000006076019000000000660004c000014b00000c13d00000000044b004b000013bd0000813d0000000504b002100000000005450019000000000551034f000000000a05043b00000b8b05a0009c000014b00000213d0000000e0500002900000000050504330000000005b5004b0000150d0000a13d0000000a05000029000000000551034f000000000505043b00000b8806000041000000000735004b0000000007000019000000000706801900000b880330019700000b8808500197000000000938004b0000000006008019000000000338013f00000b880330009c00000000030700190000000003066019000000000330004c000014b00000c13d0000000003c40019000000000c0304330000000f030000290000000005350019000000000351034f000000000303043b00000b890630009c000014b00000213d00000005063002100000000006620049000000200250003900000b8805000041000000000762004b0000000007000019000000000705201900000b880660019700000b8808200197000000000968004b0000000005008019000000000668013f00000b880660009c000000000507c019000000000550004c000014b00000c13d00000000053b004b0000150d0000813d0000000004420019000000000441034f000000000504043b00000b8b0450009c000014b00000213d000000010bb0003900000000033b004b0000150d0000813d0000000503b00210000300000003001d0000000002320019000000000121034f000000000101043b000400000001001d00000b8b0110009c000014b00000213d00000bd00100004100000000001004390000000400a0044300000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bd1011001c70000800202000039000c0000000b001d00070000000a001d00060000000c001d000500000005001d2e152e100000040f0000000505000029000000060300002900000007040000290000000c0b0000290000000d0c0000290000000102200190000014b00000613d000000000101043b000000000110004c000014b00000613d000000400900043d00000be801000041000000000019043500000044029000390000000001000414000000040600002900000000006204350000002402900039000000000052043500000004029000390000000000320435000000040240008c000013530000c13d0000000103000031000013860000013d00000b870200004100000b870310009c000000000102801900000b870390009c00000000020940190000004002200210000000c001100210000000000121019f00000be4011001c70000000002040019000700000009001d2e152e100000040f00000007090000290000000003010019000000600330027000000b8703300197000000200430008c000000200500003900000000050340190000000504500272000013710000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000746004b000013690000413d0000001f05500190000013800000613d0000000504400210000000000641034f00000000044900190000000305500210000000000704043300000000075701cf000000000757022f000000000606043b0000010005500089000000000656022f00000000055601cf000000000575019f0000000000540435000100000003001f000300000001035500000001022001900000000d0c0000290000000c0b000029000015190000613d0000001f013000390000000802000029000000000221016f0000000001920019000000000221004b0000000002000019000000010200403900000b890310009c000015130000213d0000000102200190000015130000c13d000000400010043f00000b88010000410000000102000031000000200320008c0000000003000019000000000301401900000b8802200197000000000420004c000000000100a01900000b880220009c000000000103c019000000000110004c000014b00000c13d0000000e0100002900000000010104330000000001b1004b0000150d0000a13d00000003010000290000000001c100190000000002090433000000000021043500000002010003670000000902000029000000000221034f000000000402043b00000000020000310000000b03000029000000000332001900000b880530019700000b880640019700000b8807000041000000000856004b00000000080000190000000008072019000000000556013f000000000634004b0000000006000019000000000607401900000b880550009c00000000050600190000000005086019000000000550004c000012cd0000c13d000014b00000013d0000000e020000290000000002020433000000000320004c000015570000613d00000005022002100000000e0300002900000000023200190000000f030000290000002003300039000000000131034f000000000101043b0000000002020433000000000112004b000015830000413d000000000200001900000002010003670000000903000029000000000331034f000000000503043b00000000030000310000000b04000029000000000443001900000b880640019700000b880750019700000b8808000041000000000967004b00000000090000190000000009084019000000000667013f000000000745004b0000000007000019000000000708801900000b880660009c00000000060700190000000006096019000000000660004c000014b00000c13d0000000f060000290000000006650019000000000561034f000000000505043b00000b890750009c000014b00000213d00000005075002100000000007730049000000200660003900000b8808000041000000000976004b0000000009000019000000000908201900000b880770019700000b880a600197000000000b7a004b000000000800801900000000077a013f00000b880770009c00000000070900190000000007086019000000000770004c000014b00000c13d000000000752004b000014b20000813d000000010750008a000000000772004b000000010f000029000014080000813d0000000107200039000000000557004b0000150d0000813d00000005057002100000000005560019000000000551034f000000000f05043b00000b8b05f0009c000014b00000213d00000005052002100000000006560019000000000661034f000000000e06043b00000b8b06e0009c000014b00000213d0000000e060000290000000006060433000000000726004b0000150d0000a13d000000010d2000390000000006d6004b0000150d0000a13d0000000006c500190000000006060433000700000006001d0000000a06000029000000000661034f000000000606043b00000b8807000041000000000846004b0000000008000019000000000807801900000b880440019700000b8809600197000000000a49004b0000000007008019000000000449013f00000b880440009c00000000040800190000000004076019000000000440004c000014b00000c13d0000000504d002100000000007c400190000000007070433000600000007001d0000000f070000290000000007760019000000000671034f000000000606043b00000b890860009c000014b00000213d00000005086002100000000008830049000000200370003900000b8807000041000000000983004b0000000009000019000000000907201900000b880880019700000b880a300197000000000b8a004b000000000700801900000000088a013f00000b880880009c000000000709c019000000000770004c000014b00000c13d000000000262004b0000150d0000813d0000000002530019000000000221034f000000000502043b00000b8b0250009c000014b00000213d00000000026d004b0000150d0000813d0000000002430019000000000121034f000000000101043b000200000001001d00000b8b0110009c000014b00000213d00000bd00100004100000000001004390000000400e0044300000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bd1011001c70000800202000039000c0000000d001d00050000000e001d00040000000f001d000300000005001d2e152e100000040f0000000306000029000000040300002900000005040000290000000c050000290000000d0c0000290000000102200190000014b00000613d000000000101043b000000000110004c000014b00000613d000000400700043d00000bf201000041000000000017043500000b8b0230019700000084037000390000000001000414000000000023043500000064027000390000000203000029000000000032043500000044027000390000000000620435000000240270003900000006030000290000000000320435000000040270003900000007030000290000000000320435000000040240008c000014810000c13d0000000104000031000014970000013d00000b870200004100000b870310009c000000000102801900000b870370009c00000000020740190000004002200210000000c001100210000000000121019f00000bf3011001c70000000002040019000700000007001d2e152e0b0000040f00000007070000290000000c050000290000000d0c0000290000000003010019000000600330027000010b870030019d00000b870430019700030000000103550000000102200190000015380000613d0000001f014000390000000802000029000000000221016f0000000001720019000000000221004b0000000002000019000000010200403900000b890310009c000015130000213d0000000102200190000015130000c13d000000400010043f00000b88010000410000000102000031000000000320004c0000000003000019000000000301401900000b8802200197000000000420004c000000000100a01900000b880220009c000000000103c019000000000110004c0000000002050019000013cc0000613d000000000100001900002e17000104300000000a02000029000000000221034f000000000202043b00000b8805000041000000000642004b0000000006000019000000000605801900000b880440019700000b8807200197000000000847004b0000000005008019000000000447013f00000b880440009c00000000040600190000000004056019000000000440004c000014b00000c13d0000000f040000290000000002420019000000000421034f000000000504043b00000b890450009c000014b00000213d00000005045002100000000006430049000000200320003900000b8807000041000000000863004b0000000008000019000000000807201900000b880660019700000b8809300197000000000a69004b0000000007008019000000000669013f00000b880660009c00000000060800190000000006076019000000000660004c000014b00000c13d000000000550004c0000150d0000613d000000000331034f000000000503043b00000b8b0350009c000014b00000213d0000000002240019000000000221034f000000000602043b00000b8b0260009c000014b00000213d0000000e020000290000000002020433000000000320004c000015570000613d00000005022002100000000e0300002900000000023200190000000f03000029000000000131034f000000000101043b0000000002020433000000400300043d00000020043000390000000000240435000000000013043500000b8701000041000000000200041400000b870420009c000000000201801900000b870430009c00000000010340190000004001100210000000c002200210000000000112019f00000bcd011001c70000800d02000039000000030300003900000bf1040000412e152e0b0000040f0000000101200190000014b00000613d0000000e010000290000000001010433000000000210004c000015570000613d00000005011002100000000e0200002900000000012100190000000001010433000000000001042d00000b8d0100004100000000001004350000003201000039000000040010043f00000b8e0100004100002e170001043000000b8d0100004100000000001004350000004101000039000000040010043f00000b8e0100004100002e17000104300000001f0430018f0000000502300272000015240000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b0000151d0000413d000000000340004c000015320000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000b8701000041000000010200003100000b870320009c0000000001024019000000600110021000002e17000104300000001f0340018f0000000502400272000015430000613d00000000040000190000000505400210000000000651034f000000000606043b00000000006504350000000104400039000000000524004b0000153c0000413d000000000430004c000015510000613d00000003033002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000b8701000041000000010200003100000b870320009c0000000001024019000000600110021000002e170001043000000b8d0100004100000000001004350000001101000039000000040010043f00000b8e0100004100002e1700010430000000400100043d000000440210003900000be303000041000000000032043500000bd60200004100000000002104350000002402100039000000200300003900000000003204350000000402100039000000000032043500000b870200004100000b870310009c0000000001028019000000400110021000000be4011001c700002e1700010430000000400100043d000000640210003900000bda030000410000000000320435000000440210003900000bdb03000041000000000032043500000024021000390000002a03000039000000000032043500000bd602000041000000000021043500000004021000390000002003000039000000000032043500000b870200004100000b870310009c0000000001028019000000400110021000000bd7011001c700002e1700010430000000400100043d000000640210003900000bf4030000410000000000320435000000440210003900000bf503000041000000000032043500000024021000390000002503000039000000000032043500000bd602000041000000000021043500000004021000390000002003000039000000000032043500000b870200004100000b870310009c0000000001028019000000400110021000000bd7011001c700002e1700010430000000400100043d000000440210003900000bf003000041000000000032043500000024021000390000001b03000039000000000032043500000bd602000041000000000021043500000004021000390000002003000039000000000032043500000b870200004100000b870310009c0000000001028019000000400110021000000be4011001c700002e17000104300003000000000002000300000001001d00000bc5010000410000000000100435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000016340000613d000000000101043b0000000101100039000000000101041a000100000001001d0000000000100435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000016340000613d000000000101043b0000000002000411000200000002001d00000b8b022001970000000000200435000000200010043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000016340000613d000000000101043b000000000101041a000000ff01100190000016360000613d00000bc5010000410000000000100435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000016340000613d000000000101043b000000030200002900000b8b02200197000100000002001d0000000000200435000000200010043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000016340000613d000000000101043b000000000101041a000000ff01100190000016330000c13d00000bc5010000410000000000100435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000016340000613d000000000101043b00000001020000290000000000200435000000200010043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000016340000613d000000000101043b000000000201041a000001000300008a000000000232016f00000001022001bf000000000021041b000000400100043d00000b8702000041000000000300041400000b870430009c000000000302801900000b870410009c00000000010280190000004001100210000000c002300210000000000112019f00000bce011001c70000800d02000039000000040300003900000bcf0400004100000bc505000041000000030600002900000002070000292e152e0b0000040f0000000101200190000016340000613d000000000001042d000000000100001900002e1700010430000000400100043d000000000701001900000bf60110009c000016400000413d00000b8d0100004100000000001004350000004101000039000000040010043f00000b8e0100004100002e170001043000000000020700190000006001200039000000400010043f0000002a01000039000000000112043600000000020000310000000202200367000000000300001900000005043002100000000005410019000000000442034f000000000404043b00000000004504350000000103300039000000020430008c000016480000413d0000000002070433000000000220004c0000165a0000613d000000000201043300000bf70220019700000bf8022001c700000000002104350000000002070433000000020220008c000016600000813d00000b8d0100004100000000001004350000003201000039000000040010043f00000b8e0100004100002e17000104300000002102700039000000000302043300000bf70330019700000bf9033001c700000000003204350000002902000039000000020500002900000000030500190000000004070433000000000424004b0000165a0000a13d0000000f0430018f0000000304400210000000f80440015f00000bfa05000041000000000445022f0000000005120019000000000605043300000bf706600197000000f804400210000000000446019f00000000004504350000000405300270000000010220008a000000010420008c000016670000213d000000100130008c00000000010000190000000101004039000200000007001d2e152df70000040f00000001010000292e1524d00000040f000000400400043d000300000004001d000000200240003900000bfb030000410000000000320435000100000001001d000000370240003900000002010000292e15098c0000040f00000bfc020000410000000000210435000000110210003900000001010000292e15098c0000040f00000003030000290000000002310049000000200120008a000000000013043500000000010300192e150a120000040f00000bd601000041000000400200043d000200000002001d0000000000120435000000040120003900000003020000292e15099d0000040f0000000204000029000000000141004900000b870200004100000b870310009c000000000102801900000b870340009c000000000204401900000040022002100000006001100210000000000121019f00002e17000104300008000000000002000500000005001d000400000003001d000600000002001d000700000001001d000000400100043d00000be70210009c0000196d0000813d0000008002100039000000400020043f00000040021000390000006007000039000000000072043500000020021000390000000000720435000000000071043500000060011000390000000000010435000000400500043d000000050140008a000000050200008a000000000121004b000019730000a13d00000bd90150009c0000196d0000213d0000008001500039000000400010043f0000002001500039000000000071043500000040015000390000000000710435000000000075043500000060025000390000000000020435000000400200043d00000beb0320009c0000196d0000213d0000004003200039000000400030043f000000200320003900000007060000290000000000630435000000200800003900000000008204350000000000250435000000400200043d00000beb0320009c0000196d0000213d0000004003200039000000400030043f000000200320003900000006060000290000000000630435000000000082043500000000002104350000000501000029000000000110004c0000000006000019000800000007001d000018520000613d000300000008001d000100000005001d000200000004001d00000bc701000041000000000010043900000000010004120000000400100443000000240000044300000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bfd011001c700008005020000392e152e100000040f0000000102200190000019840000613d000000000201043b000000400100043d00000bd90310009c000000080400002900000003070000290000196d0000213d0000008003100039000000400030043f0000004003100039000000000043043500000020031000390000000000430435000000000041043500000060011000390000000000010435000000400500043d00000bd90150009c0000196d0000213d0000008001500039000000400010043f0000002001500039000000000041043500000040015000390000000000410435000000000045043500000060035000390000000000030435000000400300043d00000beb0430009c0000196d0000213d0000004004300039000000400040043f000000200430003900000bfe06000041000000000064043500000000007304350000000000350435000000400300043d00000beb0430009c0000196d0000213d0000004004300039000000400040043f000000200430003900000000002404350000000000730435000000000031043500000bfe010000410000000204000039000000040300002900000000060000192e150a250000040f00000002040000290000000806000029000000200f10003900000000020f04330000000002020433000000000220004c000300000001001d0000004003100039000017400000c13d000000400200043d00000bff0520009c0000196d0000213d0000002005200039000000400050043f000000000002043500000003010000290000000000210435000000400200043d00000bff0520009c0000196d0000213d0000002005200039000000400050043f00000000000204350000000000230435000000400200043d00000bd90520009c0000196d0000213d0000008005200039000000400050043f000000400520003900000000006504350000002005200039000000000065043500000000006204350000006002200039000000000002043500000003010000290000000006010433000000007806043400000c000280009c0000196d0000213d000000200100008a000000000b18016f0000003f02b00039000000000912016f000000400200043d0000000009920019000000000a29004b000000000a000019000000010a00403900000b890c90009c0000196d0000213d000000010aa001900000196d0000c13d0000000508800270000000400090043f00000000088204360000001f09b0018f000000000a000031000000020aa00367000000050bb002720000176f0000613d000000000c000019000000050dc00210000000000ed80019000000000dda034f000000000d0d043b0000000000de0435000000010cc00039000000000dbc004b000017670000413d000000000c90004c0000177e0000613d000000050bb00210000000000aba034f000000000bb800190000000309900210000000000c0b0433000000000c9c01cf000000000c9c022f000000000a0a043b0000010009900089000000000a9a022f00000000099a01cf0000000009c9019f00000000009b04350000000009060433000000200990008c000017970000413d0000000009020433000000000990004c000019670000613d000000000907043300000000009804350000000009060433000000400990008c000017970000413d0000000109000039000000000a020433000000000a9a004b000019670000a13d000000050a900210000000000b8a0019000000000a7a0019000000000a0a04330000000000ab04350000000109900039000000000a060433000000050aa00270000000000aa9004b0000178a0000413d00000000060f0433000000007806043400000c000980009c0000196d0000213d000000000b18016f0000003f09b00039000000000919016f000000400f00043d00000000099f0019000000000af9004b000000000a000019000000010a00403900000b890c90009c0000196d0000213d000000010aa001900000196d0000c13d0000000508800270000000400090043f00000000088f04360000001f09b0018f000000000a000031000000020aa00367000000050bb00272000017b80000613d000000000c000019000000050dc00210000000000ed80019000000000dda034f000000000d0d043b0000000000de0435000000010cc00039000000000dbc004b000017b00000413d000000000c90004c000017c70000613d000000050bb00210000000000aba034f000000000bb800190000000309900210000000000c0b0433000000000c9c01cf000000000c9c022f000000000a0a043b0000010009900089000000000a9a022f00000000099a01cf0000000009c9019f00000000009b04350000000009060433000000200990008c0000000105000029000017e30000413d00000000090f0433000000000990004c000019670000613d000000000907043300000b8b0990019700000000009804350000000009060433000000400990008c000017e30000413d0000000109000039000000000a0f0433000000000a9a004b000019670000a13d000000050a900210000000000b8a0019000000000a7a0019000000000a0a043300000b8b0aa001970000000000ab04350000000109900039000000000a060433000000050aa00270000000000aa9004b000017d50000413d0000000006030433000000007806043400000c000380009c0000196d0000213d000000000a18016f0000003f03a00039000000000113016f000000400300043d0000000001130019000000000931004b0000000009000019000000010900403900000b890b10009c0000196d0000213d00000001099001900000196d0000c13d0000000508800270000000400010043f00000000018304360000001f08a0018f00000000090000310000000209900367000000050aa00272000018040000613d000000000b000019000000050cb00210000000000dc10019000000000cc9034f000000000c0c043b0000000000cd0435000000010bb00039000000000cab004b000017fc0000413d000000000b80004c000018130000613d000000050aa002100000000009a9034f000000000aa100190000000308800210000000000b0a0433000000000b8b01cf000000000b8b022f000000000909043b0000010008800089000000000989022f00000000088901cf0000000008b8019f00000000008a04350000000008060433000000200880008c0000182e0000413d0000000008030433000000000880004c000019670000613d000000000807043300000b8b0880019700000000008104350000000008060433000000400880008c0000182e0000413d00000001080000390000000009030433000000000989004b000019670000a13d0000000509800210000000000a1900190000000009790019000000000909043300000b8b0990019700000000009a0435000000010880003900000000090604330000000509900270000000000998004b000018200000413d000000400700043d00000bd90670009c0000196d0000213d0000000301000029000000600110003900000000010104330000008006700039000000400060043f0000006006700039000000000016043500000020017000390000000000f104350000000000270435000000400170003900000000003104350000000001030433000000000110004c0000000006000019000018520000613d00000000010704330000000002010433000000000320004c000019860000613d000000050220021000000000011200190000000001010433000000000210004c0000184f0000613d000000010200008a00000000321200d90000000503000029000000000232004b000019860000413d000000050200002900000000212100a900000bec1610012a0000000701000029000000060200002900000004030000292e150a250000040f0000000806000029000000200410003900000000020404330000000002020433000000000220004c00000040021000390000186b0000c13d000000400300043d00000bff0530009c0000196d0000213d0000002005300039000000400050043f00000000000304350000000000310435000000400300043d00000bff0530009c0000196d0000213d0000002005300039000000400050043f00000000000304350000000000320435000000400300043d00000bd90530009c0000196d0000213d0000008005300039000000400050043f00000040053000390000000000650435000000200530003900000000006504350000000000630435000000600330003900000000000304350000000006010433000000007806043400000c000380009c0000196d0000213d000000200500008a000000000b58016f0000003f03b00039000000000953016f000000400300043d0000000009930019000000000a39004b000000000a000019000000010a00403900000b890c90009c0000196d0000213d000000010aa001900000196d0000c13d0000000508800270000000400090043f00000000088304360000001f09b0018f000000000a000031000000020aa00367000000050bb00272000018990000613d000000000c000019000000050dc00210000000000ed80019000000000dda034f000000000d0d043b0000000000de0435000000010cc00039000000000dbc004b000018910000413d000000000c90004c000018a80000613d000000050bb00210000000000aba034f000000000bb800190000000309900210000000000c0b0433000000000c9c01cf000000000c9c022f000000000a0a043b0000010009900089000000000a9a022f00000000099a01cf0000000009c9019f00000000009b04350000000009060433000000200990008c000018c10000413d0000000009030433000000000990004c000019670000613d000000000907043300000000009804350000000009060433000000400990008c000018c10000413d0000000109000039000000000a030433000000000a9a004b000019670000a13d000000050a900210000000000b8a0019000000000a7a0019000000000a0a04330000000000ab04350000000109900039000000000a060433000000050aa00270000000000aa9004b000018b40000413d0000000006040433000000007806043400000c000480009c0000196d0000213d000000000b58016f0000003f04b00039000000000954016f000000400400043d0000000009940019000000000a49004b000000000a000019000000010a00403900000b890c90009c0000196d0000213d000000010aa001900000196d0000c13d0000000508800270000000400090043f00000000088404360000001f09b0018f000000000a000031000000020aa00367000000050bb00272000018e20000613d000000000c000019000000050dc00210000000000ed80019000000000dda034f000000000d0d043b0000000000de0435000000010cc00039000000000dbc004b000018da0000413d000000000c90004c000018f10000613d000000050bb00210000000000aba034f000000000bb800190000000309900210000000000c0b0433000000000c9c01cf000000000c9c022f000000000a0a043b0000010009900089000000000a9a022f00000000099a01cf0000000009c9019f00000000009b04350000000009060433000000200990008c0000190c0000413d0000000009040433000000000990004c000019670000613d000000000907043300000b8b0990019700000000009804350000000009060433000000400990008c0000190c0000413d0000000109000039000000000a040433000000000a9a004b000019670000a13d000000050a900210000000000b8a0019000000000a7a0019000000000a0a043300000b8b0aa001970000000000ab04350000000109900039000000000a060433000000050aa00270000000000aa9004b000018fe0000413d0000000002020433000000006702043400000c000870009c0000196d0000213d000000000a57016f0000003f08a00039000000000858016f000000400500043d0000000008850019000000000958004b0000000009000019000000010900403900000b890b80009c0000196d0000213d00000001099001900000196d0000c13d0000000507700270000000400080043f00000000077504360000001f08a0018f00000000090000310000000209900367000000050aa002720000192d0000613d000000000b000019000000050cb00210000000000dc70019000000000cc9034f000000000c0c043b0000000000cd0435000000010bb00039000000000cab004b000019250000413d000000000b80004c0000193c0000613d000000050aa002100000000009a9034f000000000aa700190000000308800210000000000b0a0433000000000b8b01cf000000000b8b022f000000000909043b0000010008800089000000000989022f00000000088901cf0000000008b8019f00000000008a04350000000008020433000000200880008c000019570000413d0000000008050433000000000880004c000019670000613d000000000806043300000b8b0880019700000000008704350000000008020433000000400880008c000019570000413d00000001080000390000000009050433000000000989004b000019670000a13d0000000509800210000000000a7900190000000009690019000000000909043300000b8b0990019700000000009a0435000000010880003900000000090204330000000509900270000000000998004b000019490000413d000000400200043d00000bd90620009c0000196d0000213d000000600110003900000000010104330000008006200039000000400060043f00000060062000390000000000160435000000400120003900000000005104350000002001200039000000000041043500000000003204350000000001020019000000000001042d00000b8d0100004100000000001004350000003201000039000000040010043f00000b8e0100004100002e170001043000000b8d0100004100000000001004350000004101000039000000040010043f00000b8e0100004100002e1700010430000000440150003900000c0102000041000000000021043500000024015000390000001c02000039000000000021043500000bd601000041000000000015043500000004015000390000002002000039000000000021043500000b870100004100000b870250009c0000000001054019000000400110021000000be4011001c700002e1700010430000000000100001900002e170001043000000b8d0100004100000000001004350000001101000039000000040010043f00000b8e0100004100002e17000104300001000000000002000000400500043d00000be70650009c00001ad70000813d0000008006500039000000400060043f0000004006500039000000600a0000390000000000a6043500000020065000390000000000a604350000000000a5043500000060055000390000000000050435000000400500043d000000050640008a000000050700008a000000000676004b00001add0000a13d00000bd90650009c00001ad70000213d0000008006500039000000400060043f00000020065000390000000000a6043500000040065000390000000000a604350000000000a5043500000060075000390000000000070435000000400800043d00000beb0780009c00001ad70000213d0000004007800039000000400070043f00000020078000390000000000170435000000200700003900000000007804350000000000850435000000400800043d00000beb0980009c00001ad70000213d0000004009800039000000400090043f0000002009800039000000000029043500000000007804350000000000860435000000000600001900010000000a001d2e150a250000040f0000000106000029000000200410003900000000020404330000000002020433000000000220004c0000004002100039000019d50000c13d000000400300043d00000bff0530009c00001ad70000213d0000002005300039000000400050043f00000000000304350000000000310435000000400300043d00000bff0530009c00001ad70000213d0000002005300039000000400050043f00000000000304350000000000320435000000400300043d00000bd90530009c00001ad70000213d0000008005300039000000400050043f00000040053000390000000000650435000000200530003900000000006504350000000000630435000000600330003900000000000304350000000006010433000000007806043400000c000380009c00001ad70000213d000000200500008a000000000b58016f0000003f03b00039000000000953016f000000400300043d0000000009930019000000000a39004b000000000a000019000000010a00403900000b890c90009c00001ad70000213d000000010aa0019000001ad70000c13d0000000508800270000000400090043f00000000088304360000001f09b0018f000000000a000031000000020aa00367000000050bb0027200001a030000613d000000000c000019000000050dc00210000000000ed80019000000000dda034f000000000d0d043b0000000000de0435000000010cc00039000000000dbc004b000019fb0000413d000000000c90004c00001a120000613d000000050bb00210000000000aba034f000000000bb800190000000309900210000000000c0b0433000000000c9c01cf000000000c9c022f000000000a0a043b0000010009900089000000000a9a022f00000000099a01cf0000000009c9019f00000000009b04350000000009060433000000200990008c00001a2b0000413d0000000009030433000000000990004c00001ad10000613d000000000907043300000000009804350000000009060433000000400990008c00001a2b0000413d0000000109000039000000000a030433000000000a9a004b00001ad10000a13d000000050a900210000000000b8a0019000000000a7a0019000000000a0a04330000000000ab04350000000109900039000000000a060433000000050aa00270000000000aa9004b00001a1e0000413d0000000006040433000000007806043400000c000480009c00001ad70000213d000000000b58016f0000003f04b00039000000000954016f000000400400043d0000000009940019000000000a49004b000000000a000019000000010a00403900000b890c90009c00001ad70000213d000000010aa0019000001ad70000c13d0000000508800270000000400090043f00000000088404360000001f09b0018f000000000a000031000000020aa00367000000050bb0027200001a4c0000613d000000000c000019000000050dc00210000000000ed80019000000000dda034f000000000d0d043b0000000000de0435000000010cc00039000000000dbc004b00001a440000413d000000000c90004c00001a5b0000613d000000050bb00210000000000aba034f000000000bb800190000000309900210000000000c0b0433000000000c9c01cf000000000c9c022f000000000a0a043b0000010009900089000000000a9a022f00000000099a01cf0000000009c9019f00000000009b04350000000009060433000000200990008c00001a760000413d0000000009040433000000000990004c00001ad10000613d000000000907043300000b8b0990019700000000009804350000000009060433000000400990008c00001a760000413d0000000109000039000000000a040433000000000a9a004b00001ad10000a13d000000050a900210000000000b8a0019000000000a7a0019000000000a0a043300000b8b0aa001970000000000ab04350000000109900039000000000a060433000000050aa00270000000000aa9004b00001a680000413d0000000002020433000000006702043400000c000870009c00001ad70000213d000000000a57016f0000003f08a00039000000000858016f000000400500043d0000000008850019000000000958004b0000000009000019000000010900403900000b890b80009c00001ad70000213d000000010990019000001ad70000c13d0000000507700270000000400080043f00000000077504360000001f08a0018f00000000090000310000000209900367000000050aa0027200001a970000613d000000000b000019000000050cb00210000000000dc70019000000000cc9034f000000000c0c043b0000000000cd0435000000010bb00039000000000cab004b00001a8f0000413d000000000b80004c00001aa60000613d000000050aa002100000000009a9034f000000000aa700190000000308800210000000000b0a0433000000000b8b01cf000000000b8b022f000000000909043b0000010008800089000000000989022f00000000088901cf0000000008b8019f00000000008a04350000000008020433000000200880008c00001ac10000413d0000000008050433000000000880004c00001ad10000613d000000000806043300000b8b0880019700000000008704350000000008020433000000400880008c00001ac10000413d00000001080000390000000009050433000000000989004b00001ad10000a13d0000000509800210000000000a7900190000000009690019000000000909043300000b8b0990019700000000009a0435000000010880003900000000090204330000000509900270000000000998004b00001ab30000413d000000400200043d00000bd90620009c00001ad70000213d000000600110003900000000010104330000008006200039000000400060043f00000060062000390000000000160435000000400120003900000000005104350000002001200039000000000041043500000000003204350000000001020019000000000001042d00000b8d0100004100000000001004350000003201000039000000040010043f00000b8e0100004100002e170001043000000b8d0100004100000000001004350000004101000039000000040010043f00000b8e0100004100002e1700010430000000440150003900000c0102000041000000000021043500000024015000390000001c02000039000000000021043500000bd601000041000000000015043500000004015000390000002002000039000000000021043500000b870100004100000b870250009c0000000001054019000000400110021000000be4011001c700002e17000104300000000000100435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f000000010220019000001afe0000613d000000000101043b0000000101100039000000000101041a000000000001042d000000000100001900002e17000104300004000000000002000100000003001d000200000002001d000300000001001d0000000401000039000000000201041a000400000004001d000000000242004b00001b8c0000a13d000000000010043500000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bdd011001c700008010020000392e152e100000040f000000010220019000001b8a0000613d000000000101043b00000004020000290000000001210019000000000101041a00000bd002000041000000000020043900000b8b01100197000400000001001d000000040010044300000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bd1011001c700008002020000392e152e100000040f000000010220019000001b8a0000613d000000000101043b000000000110004c00001b8a0000613d000000400900043d00000be8010000410000000000190435000000010100002900000b8b02100197000000440390003900000000010004140000000000230435000000020200002900000b8b02200197000000240390003900000000002304350000000402900039000000030300002900000000003204350000000402000029000000040320008c00001b3e0000c13d000000010300003100001b700000013d00000b870400004100000b870310009c000000000104801900000b870390009c000000000304001900000000030940190000004003300210000000c001100210000000000131019f00000be4011001c7000400000009001d2e152e100000040f00000004090000290000000003010019000000600330027000000b8703300197000000200430008c000000200500003900000000050340190000001f0450018f000000050550027200001b5d0000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b00001b550000413d000000000640004c00001b6c0000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f0003000000010355000000010220019000001b980000613d0000001f01300039000000200200008a000000000221016f0000000001920019000000000221004b0000000002000019000000010200403900000b890310009c00001b920000213d000000010220019000001b920000c13d000000400010043f00000b88010000410000000102000031000000200320008c0000000003000019000000000301401900000b8802200197000000000420004c000000000100a01900000b880220009c000000000103c019000000000110004c00001b8a0000c13d0000000001090433000000000001042d000000000100001900002e170001043000000b8d0100004100000000001004350000003201000039000000040010043f00000b8e0100004100002e170001043000000b8d0100004100000000001004350000004101000039000000040010043f00000b8e0100004100002e17000104300000001f0430018f000000050230027200001ba30000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b00001b9c0000413d000000000340004c00001bb10000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000b8701000041000000010200003100000b870320009c0000000001024019000000600110021000002e1700010430000c000000000002000700000005001d000600000004001d000500000001001d000000400100043d00000be70410009c00001c900000813d0000008004100039000000400040043f0000006004100039000000000004043500000040041000390000000000040435000000200410003900000000000404350000000000010435000000400100043d000800000001001d00000bd90110009c00001c900000213d00000008040000290000008001400039000000400010043f00000060014000390000000000010435000000400140003900000000000104350000002001400039000000000001043500000000000404350000000701000029000000000110004c00001c8c0000613d00000b8b01300197000a00000001001d00000b8b01200197000900000001001d0000000401000039000400000001001d0000801001000039000300000001001d0000800201000039000200000001001d0000000002000019000c00000002001d0000000501200210000000060200002900000000012100190000000201100367000000000301043b000001000130008c00001c8e0000813d0000000402000029000000000102041a000b00000003001d000000000131004b00001c9c0000a13d000000000020043500000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bdd011001c700000003020000292e152e100000040f00000001022001900000000b0200002900001c8e0000613d000000000101043b0000000001210019000000000101041a00000bd002000041000000000020043900000b8b01100197000b00000001001d000000040010044300000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bd1011001c700000002020000292e152e100000040f0000000b06000029000000010220019000001c8e0000613d000000000101043b000000000110004c00001c8e0000613d000000400900043d00000be8010000410000000000190435000000440290003900000000010004140000000a030000290000000000320435000000240290003900000009030000290000000000320435000000040290003900000005030000290000000000320435000000040260008c00001c230000c13d000000010300003100001c550000013d00000b870200004100000b870310009c000000000102801900000b870390009c00000000020940190000004002200210000000c001100210000000000121019f00000be4011001c70000000002060019000100000009001d2e152e100000040f00000001090000290000000003010019000000600330027000000b8703300197000000200430008c00000020050000390000000005034019000000050450027200001c410000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000746004b00001c390000413d0000001f0550019000001c500000613d0000000504400210000000000641034f00000000044900190000000305500210000000000704043300000000075701cf000000000757022f000000000606043b0000010005500089000000000656022f00000000055601cf000000000575019f0000000000540435000100000003001f000300000001035500000001022001900000000b0600002900001ca20000613d0000001f01300039000000200200008a000000000221016f0000000001920019000000000221004b0000000002000019000000010200403900000b890310009c00001c900000213d000000010220019000001c900000c13d000000400010043f00000b88020000410000000103000031000000200430008c0000000004000019000000000402401900000b8803300197000000000530004c000000000200a01900000b880330009c000000000204c019000000000220004c00001c8e0000c13d00000000020904330000000c03000029000000000330004c00001c760000613d000000080300002900000060033000390000000003030433000000000332004b00001c840000a13d00000bd90310009c00001c900000213d0000008003100039000000400030043f0000006003100039000000000023043500000040021000390000000a0300002900000000003204350000002002100039000000090300002900000000003204350000000000610435000800000001001d0000000c02000029000000ff0120008c00001c960000613d0000000101200039000000ff0210018f0000000701000029000000000112004b00001be30000413d0000000801000029000000000001042d000000000100001900002e170001043000000b8d0100004100000000001004350000004101000039000000040010043f00000b8e0100004100002e170001043000000b8d0100004100000000001004350000001101000039000000040010043f00000b8e0100004100002e170001043000000b8d0100004100000000001004350000003201000039000000040010043f00000b8e0100004100002e17000104300000001f0430018f000000050230027200001cad0000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b00001ca60000413d000000000340004c00001cbb0000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000b8701000041000000010200003100000b870320009c0000000001024019000000600110021000002e1700010430000b000000000002000500000001001d000000400100043d00000be70410009c00001d930000813d0000008004100039000000400040043f0000006004100039000000000004043500000040041000390000000000040435000000200410003900000000000404350000000000010435000000400100043d000700000001001d00000bd90110009c00001d930000213d00000007040000290000008001400039000000400010043f00000060014000390000000000010435000000400140003900000000000104350000002001400039000000000001043500000000000404350000000401000039000600000001001d000000000101041a000400000001001d000000000110004c00001d8f0000613d00000b8b01300197000900000001001d00000b8b01200197000800000001001d0000801001000039000300000001001d0000800201000039000200000001001d00000000020000190000000003000019000b00000002001d0000000602000029000000000102041a000a00000003001d000000000131004b00001d9f0000a13d000000000020043500000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bdd011001c700000003020000292e152e100000040f000000010220019000001d910000613d000000000101043b0000000a020000290000000001210019000000000101041a00000bd002000041000000000020043900000b8b01100197000a00000001001d000000040010044300000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bd1011001c700000002020000292e152e100000040f0000000a06000029000000010220019000001d910000613d000000000101043b000000000110004c00001d910000613d000000400900043d00000be80100004100000000001904350000004402900039000000000100041400000009030000290000000000320435000000240290003900000008030000290000000000320435000000040290003900000005030000290000000000320435000000040260008c00001d260000c13d000000010300003100001d580000013d00000b870200004100000b870310009c000000000102801900000b870390009c00000000020940190000004002200210000000c001100210000000000121019f00000be4011001c70000000002060019000100000009001d2e152e100000040f00000001090000290000000003010019000000600330027000000b8703300197000000200430008c00000020050000390000000005034019000000050450027200001d440000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000746004b00001d3c0000413d0000001f0550019000001d530000613d0000000504400210000000000641034f00000000044900190000000305500210000000000704043300000000075701cf000000000757022f000000000606043b0000010005500089000000000656022f00000000055601cf000000000575019f0000000000540435000100000003001f000300000001035500000001022001900000000a0600002900001da50000613d0000001f01300039000000200200008a000000000221016f0000000001920019000000000221004b0000000002000019000000010200403900000b890310009c00001d930000213d000000010220019000001d930000c13d000000400010043f00000b88020000410000000103000031000000200430008c0000000004000019000000000402401900000b8803300197000000000530004c000000000200a01900000b880330009c000000000204c019000000000220004c00001d910000c13d00000000020904330000000b03000029000000000330004c00001d790000613d000000070300002900000060033000390000000003030433000000000332004b00001d870000a13d00000bd90310009c00001d930000213d0000008003100039000000400030043f000000600310003900000000002304350000004002100039000000090300002900000000003204350000002002100039000000080300002900000000003204350000000000610435000700000001001d0000000b02000029000000ff0120008c00001d990000613d0000000103200039000000ff0230018f0000000401000029000000000112004b00001ced0000413d0000000701000029000000000001042d000000000100001900002e170001043000000b8d0100004100000000001004350000004101000039000000040010043f00000b8e0100004100002e170001043000000b8d0100004100000000001004350000001101000039000000040010043f00000b8e0100004100002e170001043000000b8d0100004100000000001004350000003201000039000000040010043f00000b8e0100004100002e17000104300000001f0430018f000000050230027200001db00000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b00001da90000413d000000000340004c00001dbe0000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000b8701000041000000010200003100000b870320009c0000000001024019000000600110021000002e17000104300003000000000002000300000001001d00000bc5010000410000000000100435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f000000010220019000001e4d0000613d000000000101043b0000000101100039000000000101041a000100000001001d0000000000100435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f000000010220019000001e4d0000613d000000000101043b0000000002000411000200000002001d00000b8b022001970000000000200435000000200010043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f000000010220019000001e4d0000613d000000000101043b000000000101041a000000ff0110019000001e4f0000613d00000bc5010000410000000000100435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f000000010220019000001e4d0000613d000000000101043b000000030200002900000b8b02200197000100000002001d0000000000200435000000200010043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f000000010220019000001e4d0000613d000000000101043b000000000101041a000000ff0110019000001e4c0000613d00000bc5010000410000000000100435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f000000010220019000001e4d0000613d000000000101043b00000001020000290000000000200435000000200010043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f000000010220019000001e4d0000613d000000000101043b000000000201041a000001000300008a000000000232016f000000000021041b000000400100043d00000b8702000041000000000300041400000b870430009c000000000302801900000b870410009c00000000010280190000004001100210000000c002300210000000000112019f00000bce011001c70000800d02000039000000040300003900000c020400004100000bc505000041000000030600002900000002070000292e152e0b0000040f000000010120019000001e4d0000613d000000000001042d000000000100001900002e1700010430000000400100043d000000000701001900000bf60110009c00001e590000413d00000b8d0100004100000000001004350000004101000039000000040010043f00000b8e0100004100002e170001043000000000020700190000006001200039000000400010043f0000002a01000039000000000112043600000000020000310000000202200367000000000300001900000005043002100000000005410019000000000442034f000000000404043b00000000004504350000000103300039000000020430008c00001e610000413d0000000002070433000000000220004c00001e730000613d000000000201043300000bf70220019700000bf8022001c700000000002104350000000002070433000000020220008c00001e790000813d00000b8d0100004100000000001004350000003201000039000000040010043f00000b8e0100004100002e17000104300000002102700039000000000302043300000bf70330019700000bf9033001c700000000003204350000002902000039000000020500002900000000030500190000000004070433000000000424004b00001e730000a13d0000000f0430018f0000000304400210000000f80440015f00000bfa05000041000000000445022f0000000005120019000000000605043300000bf706600197000000f804400210000000000446019f00000000004504350000000405300270000000010220008a000000010420008c00001e800000213d000000100130008c00000000010000190000000101004039000200000007001d2e152df70000040f00000001010000292e1524d00000040f000000400400043d000300000004001d000000200240003900000bfb030000410000000000320435000100000001001d000000370240003900000002010000292e15098c0000040f00000bfc020000410000000000210435000000110210003900000001010000292e15098c0000040f00000003030000290000000002310049000000200120008a000000000013043500000000010300192e150a120000040f00000bd601000041000000400200043d000200000002001d0000000000120435000000040120003900000003020000292e15099d0000040f0000000204000029000000000141004900000b870200004100000b870310009c000000000102801900000b870340009c000000000204401900000040022002100000006001100210000000000121019f00002e17000104300003000000000002000000000300041100000b8b02300197000300000002001d000100000003001d00000c030230009c00001f1d0000813d000200000001001d0000000000100435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f000000010220019000001f1b0000613d000000000101043b00000003020000290000000000200435000000200010043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f000000010220019000001f1b0000613d000000000101043b000000000101041a000000ff0110019000001f1a0000613d00000002010000290000000000100435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f000000010220019000001f1b0000613d000000000101043b00000003020000290000000000200435000000200010043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f000000010220019000001f1b0000613d000000000101043b000000000201041a000001000300008a000000000232016f000000000021041b000000400100043d00000b8702000041000000000300041400000b870430009c000000000302801900000b870410009c00000000010280190000004001100210000000c002300210000000000112019f00000bce011001c70000800d02000039000000040300003900000c02040000410000000205000029000000010600002900000003070000292e152e0b0000040f000000010120019000001f1b0000613d000000000001042d000000000100001900002e1700010430000000400100043d000000640210003900000c04030000410000000000320435000000440210003900000c0503000041000000000032043500000024021000390000002f03000039000000000032043500000bd602000041000000000021043500000004021000390000002003000039000000000032043500000b870200004100000b870310009c0000000001028019000000400110021000000bd7011001c700002e17000104300003000000000002000100000002001d00000b8b022001970000000003000411000300000002001d000000000232004b00001f8f0000c13d000200000001001d0000000000100435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f000000010220019000001f8d0000613d000000000101043b00000003020000290000000000200435000000200010043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f000000010220019000001f8d0000613d000000000101043b000000000101041a000000ff0110019000001f8c0000613d00000002010000290000000000100435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f000000010220019000001f8d0000613d000000000101043b00000003020000290000000000200435000000200010043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f000000010220019000001f8d0000613d000000000101043b000000000201041a000001000300008a000000000232016f000000000021041b000000400100043d00000b8702000041000000000300041400000b870430009c000000000302801900000b870410009c00000000010280190000004001100210000000c002300210000000000112019f00000bce011001c70000800d02000039000000040300003900000c02040000410000000205000029000000010600002900000003070000292e152e0b0000040f000000010120019000001f8d0000613d000000000001042d000000000100001900002e1700010430000000400100043d000000640210003900000c04030000410000000000320435000000440210003900000c0503000041000000000032043500000024021000390000002f03000039000000000032043500000bd602000041000000000021043500000004021000390000002003000039000000000032043500000b870200004100000b870310009c0000000001028019000000400110021000000bd7011001c700002e17000104300005000000000002000300000003001d000200000002001d000000000200003100000000031200490000001f0430008a000500000001001d00000040031000390000000201000367000000000331034f000000000303043b00000b8805000041000000000643004b0000000006000019000000000605401900000b880440019700000b8807300197000000000847004b000000000500a019000000000447013f00000b880440009c00000000040600190000000004056019000000000440004c000020430000613d00000005040000290000000004430019000000000341034f000000000303043b00000b890530009c000020430000213d00000005053002100000000005520049000000200240003900000b8804000041000000000652004b0000000006000019000000000604201900000b880550019700000b8807200197000000000857004b0000000004008019000000000557013f00000b880550009c000000000406c019000000000440004c000020430000c13d000000000330004c000020450000613d000000000121034f000000000101043b000400000001001d00000b8b0110009c000020430000213d00000bc701000041000000000010043900000000010004120000000400100443000000240000044300000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bfd011001c700008005020000392e152e100000040f0000000102200190000020430000613d000000000101043b00000b8b011001970000000402000029000000000112004b0000204b0000c13d00000bd0010000410000000000100439000000040020044300000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bd1011001c700008002020000392e152e100000040f0000000102200190000020430000613d000000000101043b000000000110004c000020430000613d000000400600043d00000c08010000410000000000160435000000000100041400000005020000290000000202200367000000000302043b0000000404000029000000040240008c0000200a0000c13d0000000104000031000020250000013d00000b870200004100000b870510009c000000000102801900000b870560009c000100000006001d00000000020640190000004002200210000000c001100210000000000121019f000000000230004c0000201a0000613d00000c09011001c7000080090200003900000000050000192e152e0b0000040f0000201d0000013d00000bea011001c700000000020400192e152e0b0000040f00030000000103550000000003010019000000600330027000010b870030019d00000b870430019700000001022001900000000106000029000020660000613d0000001f01400039000000200200008a000000000221016f0000000001620019000000000221004b0000000002000019000000010200403900000b890310009c000020600000213d0000000102200190000020600000c13d000000400010043f00000b88010000410000000102000031000000000320004c0000000003000019000000000301401900000b8802200197000000000420004c000000000100a01900000b880220009c000000000103c019000000000110004c000020430000c13d00000000020004100000000501000029000000020300002900000003040000292e150fbb0000040f000000000001042d000000000100001900002e170001043000000b8d0100004100000000001004350000003201000039000000040010043f00000b8e0100004100002e1700010430000000400100043d000000640210003900000c06030000410000000000320435000000440210003900000c0703000041000000000032043500000024021000390000002903000039000000000032043500000bd602000041000000000021043500000004021000390000002003000039000000000032043500000b870200004100000b870310009c0000000001028019000000400110021000000bd7011001c700002e170001043000000b8d0100004100000000001004350000004101000039000000040010043f00000b8e0100004100002e17000104300000001f0340018f0000000502400272000020710000613d00000000040000190000000505400210000000000651034f000000000606043b00000000006504350000000104400039000000000524004b0000206a0000413d000000000430004c0000207f0000613d00000003033002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000b8701000041000000010200003100000b870320009c0000000001024019000000600110021000002e1700010430000a000000000002000000000a040019000200000003001d000100000002001d00000000090100190000001f0100008a000000000491004900000040029000390000000201000367000700000002001d000000000221034f000000000302043b0000000002000031000600000004001d000000000442001900000b880b000041000000000843004b000000000c000019000000000c0b401900000b880440019700000b880d30019700000000084d004b000000000800001900000000080b201900000000044d013f00000b880440009c00000000040c00190000000004086019000000000440004c000022260000613d0000000004930019000000000341034f000000000303043b00000b890830009c000022260000213d0000000508300210000000000b820049000000200240003900000b88040000410000000008b2004b000000000c000019000000000c04201900000b880bb0019700000b880d2001970000000008bd004b00000000040080190000000008bd013f00000b880880009c00000000040cc019000000000440004c000022260000c13d000000000330004c0000222e0000613d000000000121034f000000000401043b00000b8b0140009c000022260000213d00000bd0010000410000000000100439000000040040044300000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bd1011001c70000800202000039000a00000009001d00090000000a001d000800000005001d000500000006001d000400000007001d000300000004001d2e152e100000040f000000030800002900000004070000290000000506000029000000080400002900000009050000290000000a090000290000000102200190000022260000613d000000000101043b000000000110004c000022260000613d000000400a00043d00000c0a0100004100000000001a043500000000010004140000000202900367000000000202043b000000c403a000390000000000730435000000a403a000390000000000630435000000ff0340018f0000008404a0003900000000003404350000006403a0003900000000005304350000004403a0003900000000002304350000000002000410000900000002001d00000b8b022001970000002403a0003900000000002304350000000002000411000500000002001d00000b8b022001970000000403a000390000000000230435000000040280008c000020f90000c13d00000001040000310000210e0000013d00000b870200004100000b870310009c000000000102801900000b8703a0009c00000000020a40190000004002200210000000c001100210000000000121019f00000c0b011001c7000000000208001900080000000a001d2e152e0b0000040f000000080a0000290000000a090000290000000003010019000000600330027000010b870030019d00000b8704300197000300000001035500000001022001900000224f0000613d0000001f01400039000000200200008a000800000002001d000000000221016f0000000001a20019000000000221004b0000000002000019000000010200403900000b890310009c000022280000213d0000000102200190000022280000c13d000000400010043f00000b88010000410000000102000031000000000320004c0000000003000019000000000301401900000b8802200197000000000420004c000000000100a01900000b880220009c000000000103c019000000000110004c000022260000c13d00000000030000310000000601000029000000000413001900000002010003670000000702000029000000000221034f000000000202043b00000b8805000041000000000642004b0000000006000019000000000605801900000b880440019700000b8807200197000000000847004b0000000005008019000000000447013f00000b880440009c00000000040600190000000004056019000000000440004c000022260000c13d0000000002920019000000000421034f000000000404043b00000b890540009c000022260000213d00000005054002100000000003530049000000200620003900000b8807000041000000000836004b0000000008000019000000000807201900000b880330019700000b8806600197000000000936004b0000000007008019000000000336013f00000b880330009c00000000030800190000000003076019000000000330004c000022260000c13d000000000340004c000022340000613d0000000002250019000000000121034f000000000101043b000700000001001d00000b8b0110009c000022260000213d00000bc70100004100000000001004390000000001000412000600000001001d0000000400100443000000240000044300000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bfd011001c700008005020000392e152e100000040f0000000a030000290000000102200190000022260000613d000000000101043b00000b8b011001970000000702000029000000000112004b0000223a0000c13d00000000010300190000000502000029000000090300002900000002040000292e150fbb0000040f00000bc7020000410000000000200439000000060200002900000004002004430000002400000443000a00000001001d00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bfd011001c700008005020000392e152e100000040f0000000102200190000022260000613d000000000101043b00000bd002000041000000000020043900000b8b01100197000700000001001d000000040010044300000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bd1011001c700008002020000392e152e100000040f0000000102200190000022260000613d000000000101043b000000000110004c000022260000613d000000400500043d00000c0e01000041000000000015043500000004015000390000000a02000029000000000021043500000000010004140000000702000029000000040320008c000021a40000c13d0000000104000031000021b80000013d00000b870400004100000b870310009c000000000104801900000b870350009c000000000304001900000000030540190000004003300210000000c001100210000000000131019f00000b8e011001c7000700000005001d2e152e0b0000040f00000007050000290000000003010019000000600330027000010b870030019d00000b8704300197000300000001035500000001022001900000226e0000613d0000001f014000390000000802000029000000000221016f0000000001520019000000000221004b0000000002000019000000010200403900000b890310009c000022280000213d0000000102200190000022280000c13d000000400010043f00000b88010000410000000102000031000000000320004c0000000003000019000000000301401900000b8802200197000000000420004c000000000100a01900000b880220009c000000000103c019000000000110004c000022260000c13d000000010400002900000b8b014001970000000902000029000000000112004b000022250000613d0000000001000414000000040240008c000021db0000c13d00000001020000390000000101000031000021f60000013d00000b8702000041000000400300043d00000b870530009c000000000302801900000b870510009c0000000001028019000000c0011002100000004002300210000000000112019f0000000a03000029000000000230004c000021f00000613d00000bce011001c7000080090200003900000000050000192e152e0b0000040f0003000000010355000000600110027000010b870010019d00000b8701100197000021f60000013d00000000020400192e152e0b0000040f0003000000010355000000600110027000010b870010019d00000b8701100197000000000310004c000022230000613d0000003f031000390000000804000029000000000443016f000000400300043d0000000004430019000000000534004b0000000005000019000000010500403900000b890640009c000022280000213d0000000105500190000022280000c13d000000400040043f0000000001130436000000030300036700000001050000310000001f0450018f0000000505500272000022140000613d000000000600001900000005076002100000000008710019000000000773034f000000000707043b00000000007804350000000106600039000000000756004b0000220c0000413d000000000640004c000022230000613d0000000505500210000000000353034f00000000015100190000000304400210000000000501043300000000054501cf000000000545022f000000000303043b0000010004400089000000000343022f00000000034301cf000000000353019f000000000031043500000001012001900000228d0000613d000000000001042d000000000100001900002e170001043000000b8d0100004100000000001004350000004101000039000000040010043f00000b8e0100004100002e170001043000000b8d0100004100000000001004350000003201000039000000040010043f00000b8e0100004100002e170001043000000b8d0100004100000000001004350000001101000039000000040010043f00000b8e0100004100002e1700010430000000400100043d000000640210003900000c0c030000410000000000320435000000440210003900000c0d03000041000000000032043500000024021000390000002703000039000000000032043500000bd602000041000000000021043500000004021000390000002003000039000000000032043500000b870200004100000b870310009c0000000001028019000000400110021000000bd7011001c700002e17000104300000001f0340018f00000005024002720000225a0000613d00000000040000190000000505400210000000000651034f000000000606043b00000000006504350000000104400039000000000524004b000022530000413d000000000430004c000022680000613d00000003033002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000b8701000041000000010200003100000b870320009c0000000001024019000000600110021000002e17000104300000001f0340018f0000000502400272000022790000613d00000000040000190000000505400210000000000651034f000000000606043b00000000006504350000000104400039000000000524004b000022720000413d000000000430004c000022870000613d00000003033002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000b8701000041000000010200003100000b870320009c0000000001024019000000600110021000002e1700010430000000400100043d000000440210003900000c0f03000041000000000032043500000024021000390000001003000039000000000032043500000bd602000041000000000021043500000004021000390000002003000039000000000032043500000b870200004100000b870310009c0000000001028019000000400110021000000be4011001c700002e17000104300005000000000002000100000002001d000000000b01001900000000020000310000000001b200490000001f0410008a0000004005b000390000000201000367000000000551034f000000000905043b00000b8805000041000000000649004b0000000006000019000000000605401900000b880440019700000b8807900197000000000847004b000000000500a019000000000447013f00000b880440009c00000000040600190000000004056019000000000440004c000023a60000613d000000000ab900190000000004a1034f000000000404043b00000b890540009c000023a60000213d000000050540021000000000025200490000002006a0003900000b8807000041000000000826004b0000000008000019000000000807201900000b880220019700000b8806600197000000000926004b0000000007008019000000000226013f00000b880220009c00000000020800190000000002076019000000000220004c000023a60000c13d000000000240004c000023ae0000613d0000000002a50019000000000121034f000000000101043b000300000001001d00000b8b0110009c000023a60000213d00000bc70100004100000000001004390000000001000412000200000001001d0000000400100443000000240000044300000b8701000041000000000200041400000b870420009c0000000001024019000000c00110021000000bfd011001c70000800502000039000500000003001d00040000000b001d2e152e100000040f000000040500002900000005040000290000000102200190000023a60000613d000000000101043b00000b8b011001970000000302000029000000000112004b000023b40000c13d000000000200041100000000030004100000000001050019000300000003001d2e150fbb0000040f00000bc7020000410000000000200439000000020200002900000004002004430000002400000443000500000001001d00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bfd011001c700008005020000392e152e100000040f0000000102200190000023a60000613d000000000101043b00000bd002000041000000000020043900000b8b01100197000400000001001d000000040010044300000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bd1011001c700008002020000392e152e100000040f0000000102200190000023a60000613d000000000101043b000000000110004c000023a60000613d000000400600043d00000c0e01000041000000000016043500000004016000390000000502000029000000000021043500000000010004140000000402000029000000040320008c000023220000c13d0000000104000031000023360000013d00000b870400004100000b870310009c000000000104801900000b870360009c000000000304001900000000030640190000004003300210000000c001100210000000000131019f00000b8e011001c7000400000006001d2e152e0b0000040f00000004060000290000000003010019000000600330027000010b870030019d00000b870430019700030000000103550000000102200190000023c90000613d0000001f01400039000000200500008a000000000251016f0000000001620019000000000221004b0000000002000019000000010200403900000b890310009c000023a80000213d0000000102200190000023a80000c13d000000400010043f00000b88010000410000000102000031000000000320004c0000000003000019000000000301401900000b8802200197000000000420004c000000000100a01900000b880220009c000000000103c019000000000110004c000023a60000c13d000000010400002900000b8b014001970000000302000029000000000112004b000023a50000613d0000000001000414000000040240008c000023590000c13d00000001020000390000000101000031000023770000013d000400000005001d00000b8702000041000000400300043d00000b870530009c000000000302801900000b870510009c0000000001028019000000c0011002100000004002300210000000000112019f0000000503000029000000000230004c000023700000613d00000bce011001c7000080090200003900000000050000192e152e0b0000040f0003000000010355000000600110027000010b870010019d00000b87011001970000000405000029000023770000013d00000000020400192e152e0b0000040f0003000000010355000000600110027000010b870010019d00000b87011001970000000405000029000000000310004c000023a30000613d0000003f03100039000000000453016f000000400300043d0000000004430019000000000534004b0000000005000019000000010500403900000b890640009c000023a80000213d0000000105500190000023a80000c13d000000400040043f0000000001130436000000030300036700000001050000310000001f0450018f0000000505500272000023940000613d000000000600001900000005076002100000000008710019000000000773034f000000000707043b00000000007804350000000106600039000000000756004b0000238c0000413d000000000640004c000023a30000613d0000000505500210000000000353034f00000000015100190000000304400210000000000501043300000000054501cf000000000545022f000000000303043b0000010004400089000000000343022f00000000034301cf000000000353019f00000000003104350000000101200190000023e80000613d000000000001042d000000000100001900002e170001043000000b8d0100004100000000001004350000004101000039000000040010043f00000b8e0100004100002e170001043000000b8d0100004100000000001004350000001101000039000000040010043f00000b8e0100004100002e1700010430000000400100043d000000640210003900000c0c030000410000000000320435000000440210003900000c0d03000041000000000032043500000024021000390000002703000039000000000032043500000bd602000041000000000021043500000004021000390000002003000039000000000032043500000b870200004100000b870310009c0000000001028019000000400110021000000bd7011001c700002e17000104300000001f0340018f0000000502400272000023d40000613d00000000040000190000000505400210000000000651034f000000000606043b00000000006504350000000104400039000000000524004b000023cd0000413d000000000430004c000023e20000613d00000003033002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000b8701000041000000010200003100000b870320009c0000000001024019000000600110021000002e1700010430000000400100043d000000440210003900000c0f03000041000000000032043500000024021000390000001003000039000000000032043500000bd602000041000000000021043500000004021000390000002003000039000000000032043500000b870200004100000b870310009c0000000001028019000000400110021000000be4011001c700002e17000104300008000000000002000000000a040019000700000003001d000600000002001d0000000009010019000000000200003100000000019200490000001f0410008a00000040039000390000000201000367000000000331034f000000000303043b00000b880b000041000000000843004b000000000c000019000000000c0b401900000b880440019700000b880d30019700000000084d004b000000000800001900000000080b201900000000044d013f00000b880440009c00000000040c00190000000004086019000000000440004c0000249e0000613d0000000004930019000000000341034f000000000303043b00000b890830009c0000249e0000213d0000000508300210000000000b820049000000200240003900000b88040000410000000008b2004b000000000c000019000000000c04201900000b880bb0019700000b880d2001970000000008bd004b00000000040080190000000008bd013f00000b880880009c00000000040cc019000000000440004c0000249e0000c13d000000000330004c000024a00000613d000000000121034f000000000401043b00000b8b0140009c0000249e0000213d00000bd0010000410000000000100439000000040040044300000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bd1011001c70000800202000039000800000009001d00050000000a001d000400000005001d000300000006001d000200000007001d000100000004001d2e152e100000040f00000001090000290000000208000029000000030700002900000004040000290000000506000029000000080500002900000001022001900000249e0000613d000000000101043b000000000110004c0000249e0000613d000000400a00043d00000c0a0100004100000000001a043500000000010004140000000202500367000000000202043b000000c403a000390000000000830435000000a403a000390000000000730435000000ff0340018f0000008404a0003900000000003404350000006403a0003900000000006304350000004403a000390000000000230435000000000200041000000b8b022001970000002403a000390000000000230435000000000600041100000b8b026001970000000403a000390000000000230435000000040290008c000024690000c13d0000000104000031000024800000013d00000b870200004100000b870310009c000000000102801900000b8703a0009c00000000020a40190000004002200210000000c001100210000000000121019f00000c0b011001c70000000002090019000500000006001d00040000000a001d2e152e0b0000040f000000040a000029000000050600002900000008050000290000000003010019000000600330027000010b870030019d00000b870430019700030000000103550000000102200190000024ac0000613d0000001f01400039000000200200008a000000000221016f0000000001a20019000000000221004b0000000002000019000000010200403900000b890310009c000024a60000213d0000000102200190000024a60000c13d000000400010043f00000b88010000410000000102000031000000000320004c0000000003000019000000000301401900000b8802200197000000000420004c000000000100a01900000b880220009c000000000103c019000000000110004c0000249e0000c13d00000000010500190000000002060019000000060300002900000007040000292e150fbb0000040f000000000001042d000000000100001900002e170001043000000b8d0100004100000000001004350000003201000039000000040010043f00000b8e0100004100002e170001043000000b8d0100004100000000001004350000004101000039000000040010043f00000b8e0100004100002e17000104300000001f0340018f0000000502400272000024b70000613d00000000040000190000000505400210000000000651034f000000000606043b00000000006504350000000104400039000000000524004b000024b00000413d000000000430004c000024c50000613d00000003033002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000b8701000041000000010200003100000b870320009c0000000001024019000000600110021000002e17000104300000000004030019000000000302001900000000020004112e150fbb0000040f000000000001042d0000000002010019000000400100043d00000be70310009c0000250f0000813d0000008003100039000000400030043f0000004203000039000000000331043600000000040000310000000204400367000000000500001900000005065002100000000007630019000000000664034f000000000606043b00000000006704350000000105500039000000030650008c000024db0000413d0000000004010433000000000440004c000025090000613d000000000403043300000bf70440019700000bf8044001c700000000004304350000000004010433000000020440008c000025090000413d0000002104100039000000000504043300000bf70550019700000bf9055001c70000000000540435000000410400003900000000050200190000000002010433000000000242004b000025090000a13d0000000f0250018f0000000302200210000000f80220015f00000bfa06000041000000000226022f0000000006340019000000000706043300000bf707700197000000f802200210000000000227019f00000000002604350000000402500270000000010440008a000000010640008c000024f30000213d000000100250008c000025150000813d000000000001042d00000b8d0100004100000000001004350000003201000039000000040010043f00000b8e0100004100002e170001043000000b8d0100004100000000001004350000004101000039000000040010043f00000b8e0100004100002e1700010430000000400100043d000000440210003900000c1003000041000000000032043500000bd60200004100000000002104350000002402100039000000200300003900000000003204350000000402100039000000000032043500000b870200004100000b870310009c0000000001028019000000400110021000000be4011001c700002e17000104300004000000000002000300000001001d0000000000000435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000025ff0000613d000000000101043b0000000101100039000000000101041a000100000001001d0000000000100435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000025ff0000613d000000000101043b0000000002000411000200000002001d00000b8b02200197000400000002001d0000000000200435000000200010043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000025ff0000613d000000000101043b000000000101041a000000ff01100190000026010000613d0000000000000435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000025ff0000613d000000000101043b000000030200002900000b8b02200197000100000002001d0000000000200435000000200010043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000025ff0000613d000000000101043b000000000101041a000000ff01100190000025ad0000c13d0000000000000435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000025ff0000613d000000000101043b00000001020000290000000000200435000000200010043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000025ff0000613d000000000101043b000000000201041a000001000300008a000000000232016f00000001022001bf000000000021041b000000400100043d00000b8702000041000000000300041400000b870430009c000000000302801900000b870410009c00000000010280190000004001100210000000c002300210000000000112019f00000bce011001c70000800d02000039000000040300003900000bcf040000410000000005000019000000030600002900000002070000292e152e0b0000040f0000000101200190000025ff0000613d0000000000000435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000025ff0000613d000000000101043b00000004020000290000000000200435000000200010043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000025ff0000613d000000000101043b000000000101041a000000ff01100190000025fe0000613d0000000000000435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000025ff0000613d000000000101043b00000004020000290000000000200435000000200010043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000025ff0000613d000000000101043b000000000201041a000001000300008a000000000232016f000000000021041b000000400100043d00000b8702000041000000000300041400000b870430009c000000000302801900000b870410009c00000000010280190000004001100210000000c002300210000000000112019f00000bce011001c70000800d02000039000000040300003900000c02040000410000000005000019000000020600002900000000070600192e152e0b0000040f0000000101200190000025ff0000613d000000000001042d000000000100001900002e1700010430000000400100043d000000000701001900000bf60110009c0000260b0000413d00000b8d0100004100000000001004350000004101000039000000040010043f00000b8e0100004100002e170001043000000000020700190000006001200039000000400010043f0000002a01000039000000000112043600000000020000310000000202200367000000000300001900000005043002100000000005410019000000000442034f000000000404043b00000000004504350000000103300039000000020430008c000026130000413d0000000002070433000000000220004c000026250000613d000000000201043300000bf70220019700000bf8022001c700000000002104350000000002070433000000020220008c0000262b0000813d00000b8d0100004100000000001004350000003201000039000000040010043f00000b8e0100004100002e17000104300000002102700039000000000302043300000bf70330019700000bf9033001c700000000003204350000002902000039000000020500002900000000030500190000000004070433000000000424004b000026250000a13d0000000f0430018f0000000304400210000000f80440015f00000bfa05000041000000000445022f0000000005120019000000000605043300000bf706600197000000f804400210000000000446019f00000000004504350000000405300270000000010220008a000000010420008c000026320000213d000000100130008c00000000010000190000000101004039000300000007001d2e152df70000040f00000001010000292e1524d00000040f000000400400043d000400000004001d000000200240003900000bfb030000410000000000320435000200000001001d000000370240003900000003010000292e15098c0000040f00000bfc020000410000000000210435000000110210003900000002010000292e15098c0000040f00000004030000290000000002310049000000200120008a000000000013043500000000010300192e150a120000040f00000bd601000041000000400200043d000300000002001d0000000000120435000000040120003900000004020000292e15099d0000040f0000000304000029000000000141004900000b870200004100000b870310009c000000000102801900000b870340009c000000000204401900000040022002100000006001100210000000000121019f00002e170001043000010000000000020000000403000039000000000203041a000100000001001d000000000212004b000026890000a13d000000000030043500000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bdd011001c700008010020000392e152e100000040f0000000102200190000026890000613d000000000101043b00000001020000290000000001210019000000000101041a00000b8b01100197000000000001042d000000000100001900002e170001043000010000000000020000000303000039000000000203041a000100000001001d000000000212004b000026a20000a13d000000000030043500000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bdd011001c700008010020000392e152e100000040f0000000102200190000026a20000613d000000000101043b00000001020000290000000001210019000000000101041a00000b8b01100197000000000001042d000000000100001900002e170001043000000b8b022001970000000000200435000000200010043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000026b30000613d000000000101043b000000000001042d000000000100001900002e17000104300000000000100435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000026c30000613d000000000101043b000000000001042d000000000100001900002e17000104300002000000000002000200000001001d00000bc5010000410000000000100435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000027c90000613d000000000101043b000000000200041100000b8b022001970000000000200435000000200010043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000027c90000613d000000000101043b000000000101041a000000ff01100190000027d10000613d00000bd0010000410000000000100439000000020100002900000b8b01100197000200000001001d000000040010044300000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bd1011001c700008002020000392e152e100000040f00000002060000290000000102200190000027c90000613d000000000101043b000000000110004c000027c90000613d000000400900043d00000bd2010000410000000000190435000000000100041000000b8b0210019700000004039000390000000001000414000000000023043500000024029000390000000000620435000000040260008c000027090000c13d00000001030000310000273c0000013d00000b870200004100000b870310009c000000000102801900000b870390009c00000000020940190000004002200210000000c001100210000000000121019f00000bd3011001c70000000002060019000100000009001d2e152e100000040f00000001090000290000000003010019000000600330027000000b8703300197000000200430008c000000200500003900000000050340190000001f0450018f0000000505500272000027280000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b000027200000413d000000000640004c000027370000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f000300000001035500000001022001900000000206000029000028200000613d0000001f01300039000000200700008a000000000271016f0000000001920019000000000221004b0000000002000019000000010200403900000b890310009c000027cb0000213d0000000102200190000027cb0000c13d000000400010043f00000b88020000410000000103000031000000200430008c0000000004000019000000000402401900000b8803300197000000000530004c000000000200a01900000b880330009c000000000204c019000000000220004c000027c90000c13d0000000002090433000000000220004c000027e60000c13d0000004402100039000000010300008a0000000000320435000000200210003900000bd8030000410000000000320435000000240310003900000000006304350000004403000039000000000031043500000bd90310009c000027cb0000213d0000008003100039000000400030043f0000000003000414000000040460008c0000276b0000c13d00000001030000310000000002000019000027820000013d00000b870400004100000b870520009c00000000020480190000004002200210000000000101043300000b870510009c00000000010480190000006001100210000000000121019f00000b870230009c00000000020400190000000002034019000000c002200210000000000121019f0000000002060019000200000007001d2e152e0b0000040f0000000207000029000000010220015f0003000000010355000000600110027000010b870010019d00000b87031001970000006001000039000000000430004c000027af0000613d0000003f01300039000000000471016f000000400100043d0000000004410019000000000514004b0000000005000019000000010500403900000b890640009c000027cb0000213d0000000105500190000027cb0000c13d000000400040043f0000000003310436000000030400036700000001060000310000001f0560018f0000000506600272000027a00000613d000000000700001900000005087002100000000009830019000000000884034f000000000808043b00000000008904350000000107700039000000000867004b000027980000413d000000000750004c000027af0000613d0000000506600210000000000464034f00000000036300190000000305500210000000000603043300000000065601cf000000000656022f000000000404043b0000010005500089000000000454022f00000000045401cf000000000464019f00000000004304350000000102200190000027fa0000c13d0000000012010434000000000320004c000027c80000613d00000b8803000041000000200420008c0000000004000019000000000403401900000b8802200197000000000520004c000000000300a01900000b880220009c00000000020400190000000002036019000000000220004c000027c90000c13d0000000001010433000000000210004c0000000002000019000000010200c039000000000221004b000027c90000c13d000000000110004c0000280b0000613d000000000001042d000000000100001900002e170001043000000b8d0100004100000000001004350000004101000039000000040010043f00000b8e0100004100002e1700010430000000400100043d000000640210003900000be1030000410000000000320435000000440210003900000be203000041000000000032043500000024021000390000002803000039000000000032043500000bd602000041000000000021043500000004021000390000002003000039000000000032043500000b870200004100000b870310009c0000000001028019000000400110021000000bd7011001c700002e1700010430000000640210003900000bd4030000410000000000320435000000440210003900000bd503000041000000000032043500000024021000390000003603000039000000000032043500000bd602000041000000000021043500000004021000390000002003000039000000000032043500000b870200004100000b870310009c0000000001028019000000400110021000000bd7011001c700002e1700010430000000400100043d000000440210003900000be303000041000000000032043500000bd60200004100000000002104350000002402100039000000200300003900000000003204350000000402100039000000000032043500000b870200004100000b870310009c0000000001028019000000400110021000000be4011001c700002e1700010430000000400100043d000000640210003900000bda030000410000000000320435000000440210003900000bdb03000041000000000032043500000024021000390000002a03000039000000000032043500000bd602000041000000000021043500000004021000390000002003000039000000000032043500000b870200004100000b870310009c0000000001028019000000400110021000000bd7011001c700002e17000104300000001f0430018f00000005023002720000282b0000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b000028240000413d000000000340004c000028390000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000b8701000041000000010200003100000b870320009c0000000001024019000000600110021000002e17000104300004000000000002000400000001001d00000bc5010000410000000000100435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000028c70000613d000000000101043b000000000200041100000b8b022001970000000000200435000000200010043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000028c70000613d000000400200043d000000000101043b000000000101041a000000ff01100190000028c90000613d000000200100003900000000011204360000000405000029000000000305043300000000003104350000004001200039000000000430004c000028720000613d00000000040000190000002005500039000000000605043300000b8b0660019700000000016104360000000104400039000000000634004b0000286b0000413d000000000121004900000b870300004100000b870420009c0000000002038019000000400220021000000b870410009c00000000010380190000006001100210000000000121019f000000000200041400000b870420009c0000000002038019000000c002200210000000000121019f00000bce011001c70000800d02000039000000010300003900000bdc040000412e152e0b0000040f0000000101200190000028c70000613d0000000401000029000000000201043300000c110120009c000028dd0000813d0000000304000039000000000304041a000000000024041b000300000002001d000000000132004b000028aa0000813d000100000003001d000200000004001d000000000040043500000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bdd011001c700008010020000392e152e100000040f0000000102200190000028c70000613d000000000201043b0000000301000029000000000112001900000001030000290000000002320019000000000321004b0000000204000029000028aa0000813d000000000001041b0000000101100039000000000321004b000028a60000413d000000000040043500000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bdd011001c700008010020000392e152e100000040f0000000102200190000028c70000613d0000000306000029000000000260004c0000000405000029000028c60000613d000000000101043b0000000002000019000000000301041a00000bde033001970000002005500039000000000405043300000b8b04400197000000000343019f000000000031041b00000001011000390000000102200039000000000362004b000028bb0000413d000000000001042d000000000100001900002e1700010430000000640120003900000be1030000410000000000310435000000440120003900000be203000041000000000031043500000024012000390000002803000039000000000031043500000bd601000041000000000012043500000004012000390000002003000039000000000031043500000b870100004100000b870320009c0000000001024019000000400110021000000bd7011001c700002e170001043000000b8d0100004100000000001004350000004101000039000000040010043f00000b8e0100004100002e17000104300004000000000002000400000001001d00000bc5010000410000000000100435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f00000001022001900000296b0000613d000000000101043b000000000200041100000b8b022001970000000000200435000000200010043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f00000001022001900000296b0000613d000000400200043d000000000101043b000000000101041a000000ff011001900000296d0000613d000000200100003900000000011204360000000405000029000000000305043300000000003104350000004001200039000000000430004c000029160000613d00000000040000190000002005500039000000000605043300000b8b0660019700000000016104360000000104400039000000000634004b0000290f0000413d000000000121004900000b870300004100000b870420009c0000000002038019000000400220021000000b870410009c00000000010380190000006001100210000000000121019f000000000200041400000b870420009c0000000002038019000000c002200210000000000121019f00000bce011001c70000800d02000039000000010300003900000be0040000412e152e0b0000040f00000001012001900000296b0000613d0000000401000029000000000201043300000c110120009c000029810000813d0000000404000039000000000304041a000000000024041b000300000002001d000000000132004b0000294e0000813d000100000003001d000200000004001d000000000040043500000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bdd011001c700008010020000392e152e100000040f00000001022001900000296b0000613d000000000201043b0000000301000029000000000112001900000001030000290000000002320019000000000321004b00000002040000290000294e0000813d000000000001041b0000000101100039000000000321004b0000294a0000413d000000000040043500000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bdd011001c700008010020000392e152e100000040f00000001022001900000296b0000613d0000000306000029000000000260004c00000004050000290000296a0000613d000000000101043b0000000002000019000000000301041a00000bde033001970000002005500039000000000405043300000b8b04400197000000000343019f000000000031041b00000001011000390000000102200039000000000362004b0000295f0000413d000000000001042d000000000100001900002e1700010430000000640120003900000be1030000410000000000310435000000440120003900000be203000041000000000031043500000024012000390000002803000039000000000031043500000bd601000041000000000012043500000004012000390000002003000039000000000031043500000b870100004100000b870320009c0000000001024019000000400110021000000bd7011001c700002e170001043000000b8d0100004100000000001004350000004101000039000000040010043f00000b8e0100004100002e17000104300002000000000002000200000001001d00000bc5010000410000000000100435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000029c40000613d000000000101043b000000000200041100000b8b022001970000000000200435000000200010043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000029c40000613d000000000101043b000000000101041a000000ff01100190000029c60000613d0000000103000039000000000103041a000000400200043d000000200520003900000002040000290000000000450435000000000012043500000b8701000041000000000500041400000b870450009c000000000501801900000b870420009c00000000010240190000004001100210000000c002500210000000000112019f00000bcd011001c70000800d0200003900000c1204000041000100000003001d2e152e0b0000040f0000000101200190000029c40000613d00000002010000290000000102000029000000000012041b000000000001042d000000000100001900002e1700010430000000400100043d000000640210003900000be1030000410000000000320435000000440210003900000be203000041000000000032043500000024021000390000002803000039000000000032043500000bd602000041000000000021043500000004021000390000002003000039000000000032043500000b870200004100000b870310009c0000000001028019000000400110021000000bd7011001c700002e17000104300003000000000002000300000001001d00000bc5010000410000000000100435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f000000010220019000002a200000613d000000000101043b000000000200041100000b8b022001970000000000200435000000200010043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f000000010220019000002a200000613d000000000101043b000000000101041a000000ff0110019000002a220000613d0000000201000039000200000001001d000000000301041a000000030100002900000b8b04100197000000400100043d0000002002100039000100000004001d0000000000420435000300000003001d00000b8b02300197000000000021043500000b8702000041000000000300041400000b870430009c000000000302801900000b870410009c00000000010280190000004001100210000000c002300210000000000112019f00000bcd011001c70000800d02000039000000010300003900000bdf040000412e152e0b0000040f000000010120019000002a200000613d000000030100002900000bde011001970000000102000029000000000121019f0000000202000029000000000012041b000000000001042d000000000100001900002e1700010430000000400100043d000000640210003900000be1030000410000000000320435000000440210003900000be203000041000000000032043500000024021000390000002803000039000000000032043500000bd602000041000000000021043500000004021000390000002003000039000000000032043500000b870200004100000b870310009c0000000001028019000000400110021000000bd7011001c700002e17000104300003000000000002000300000002001d000200000001001d00000bc5010000410000000000100435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f000000010220019000002ae50000613d000000000101043b000000000200041100000b8b02200197000100000002001d0000000000200435000000200010043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f000000010220019000002ae50000613d000000000101043b000000000101041a000000ff0110019000002aed0000613d0000000303000029000000000130004c00002b020000613d000000400100043d00000044021000390000000000320435000000200310003900000bef02000041000000000023043500000024021000390000000104000029000000000042043500000044020000390000000000210435000000020200002900000b8b0220019700000be70410009c00002ae70000813d0000008004100039000000400040043f0000000004000414000000040520008c00002a750000c13d0000000103000031000000000200001900002a890000013d00000b870500004100000b870630009c00000000030580190000004003300210000000000101043300000b870610009c00000000010580190000006001100210000000000131019f00000b870340009c00000000030500190000000003044019000000c003300210000000000131019f2e152e0b0000040f000000010220015f0003000000010355000000600110027000010b870010019d00000b87031001970000006001000039000000000430004c00002ab70000613d0000003f01300039000000200400008a000000000441016f000000400100043d0000000004410019000000000514004b0000000005000019000000010500403900000b890640009c00002ae70000213d000000010550019000002ae70000c13d000000400040043f0000000003310436000000030400036700000001060000310000001f0560018f000000050660027200002aa80000613d000000000700001900000005087002100000000009830019000000000884034f000000000808043b00000000008904350000000107700039000000000867004b00002aa00000413d000000000750004c00002ab70000613d0000000506600210000000000464034f00000000036300190000000305500210000000000603043300000000065601cf000000000656022f000000000404043b0000010005500089000000000454022f00000000045401cf000000000464019f0000000000430435000000010220019000002b140000c13d0000000012010434000000000320004c00002ad00000613d00000b8803000041000000200420008c0000000004000019000000000403401900000b8802200197000000000520004c000000000300a01900000b880220009c00000000020400190000000002036019000000000220004c00002ae50000c13d0000000001010433000000000210004c0000000002000019000000010200c039000000000221004b00002ae50000c13d000000000110004c00002b250000613d000000400100043d0000000302000029000000000021043500000b8702000041000000000300041400000b870430009c000000000302801900000b870410009c00000000010280190000004001100210000000c002300210000000000112019f00000bdd011001c70000800d02000039000000020300003900000c130400004100000002050000292e152e0b0000040f000000010120019000002ae50000613d000000000001042d000000000100001900002e170001043000000b8d0100004100000000001004350000004101000039000000040010043f00000b8e0100004100002e1700010430000000400100043d000000640210003900000be1030000410000000000320435000000440210003900000be203000041000000000032043500000024021000390000002803000039000000000032043500000bd602000041000000000021043500000004021000390000002003000039000000000032043500000b870200004100000b870310009c0000000001028019000000400110021000000bd7011001c700002e1700010430000000400100043d000000440210003900000c1403000041000000000032043500000024021000390000001203000039000000000032043500000bd602000041000000000021043500000004021000390000002003000039000000000032043500000b870200004100000b870310009c0000000001028019000000400110021000000be4011001c700002e1700010430000000400100043d000000440210003900000be303000041000000000032043500000bd60200004100000000002104350000002402100039000000200300003900000000003204350000000402100039000000000032043500000b870200004100000b870310009c0000000001028019000000400110021000000be4011001c700002e1700010430000000400100043d000000640210003900000bda030000410000000000320435000000440210003900000bdb03000041000000000032043500000024021000390000002a03000039000000000032043500000bd602000041000000000021043500000004021000390000002003000039000000000032043500000b870200004100000b870310009c0000000001028019000000400110021000000bd7011001c700002e17000104300002000000000002000200000001001d00000bc5010000410000000000100435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f000000010220019000002bbe0000613d000000000101043b0000000002000411000100000002001d00000b8b022001970000000000200435000000200010043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f000000010220019000002bbe0000613d000000000101043b000000000101041a000000ff0110019000002bc00000613d0000000209000029000000000190004c000000010400002900002bd50000613d0000000001000414000000040240008c00002b670000c13d0000000102000039000000010100003100002b7b0000013d00000b8702000041000000400300043d00000b870530009c000000000302801900000b870510009c0000000001028019000000c0011002100000004002300210000000000112019f00000bce011001c70000800902000039000000000309001900000000050000192e152e0b0000040f0000000209000029000000010220018f0003000000010355000000600110027000010b870010019d00000b8701100197000000000310004c00002ba80000613d0000003f03100039000000200400008a000000000443016f000000400300043d0000000004430019000000000534004b0000000005000019000000010500403900000b890640009c00002bf80000213d000000010550019000002bf80000c13d000000400040043f0000000001130436000000030300036700000001050000310000001f0450018f000000050550027200002b990000613d000000000600001900000005076002100000000008710019000000000773034f000000000707043b00000000007804350000000106600039000000000756004b00002b910000413d000000000640004c00002ba80000613d0000000505500210000000000353034f00000000015100190000000304400210000000000501043300000000054501cf000000000545022f000000000303043b0000010004400089000000000343022f00000000034301cf000000000353019f0000000000310435000000400100043d000000000220004c00002be70000613d000000000091043500000b8702000041000000000300041400000b870430009c000000000302801900000b870410009c00000000010280190000004001100210000000c002300210000000000112019f00000bdd011001c70000800d02000039000000020300003900000c130400004100000000050000192e152e0b0000040f000000010120019000002bbe0000613d000000000001042d000000000100001900002e1700010430000000400100043d000000640210003900000be1030000410000000000320435000000440210003900000be203000041000000000032043500000024021000390000002803000039000000000032043500000bd602000041000000000021043500000004021000390000002003000039000000000032043500000b870200004100000b870310009c0000000001028019000000400110021000000bd7011001c700002e1700010430000000400100043d000000440210003900000c1403000041000000000032043500000024021000390000001203000039000000000032043500000bd602000041000000000021043500000004021000390000002003000039000000000032043500000b870200004100000b870310009c0000000001028019000000400110021000000be4011001c700002e1700010430000000440210003900000c0f03000041000000000032043500000024021000390000001003000039000000000032043500000bd602000041000000000021043500000004021000390000002003000039000000000032043500000b870200004100000b870310009c0000000001028019000000400110021000000be4011001c700002e170001043000000b8d0100004100000000001004350000004101000039000000040010043f00000b8e0100004100002e17000104300004000000000002000300000002001d000400000001001d0000000000100435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f000000010220019000002c880000613d000000000101043b0000000101100039000000000101041a000100000001001d0000000000100435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f000000010220019000002c880000613d000000000101043b0000000002000411000200000002001d00000b8b022001970000000000200435000000200010043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f000000010220019000002c880000613d000000000101043b000000000101041a000000ff0110019000002c8a0000613d00000004010000290000000000100435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f000000010220019000002c880000613d000000000101043b000000030200002900000b8b02200197000100000002001d0000000000200435000000200010043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f000000010220019000002c880000613d000000000101043b000000000101041a000000ff0110019000002c870000c13d00000004010000290000000000100435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f000000010220019000002c880000613d000000000101043b00000001020000290000000000200435000000200010043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f000000010220019000002c880000613d000000000101043b000000000201041a000001000300008a000000000232016f00000001022001bf000000000021041b000000400100043d00000b8702000041000000000300041400000b870430009c000000000302801900000b870410009c00000000010280190000004001100210000000c002300210000000000112019f00000bce011001c70000800d02000039000000040300003900000bcf040000410000000405000029000000030600002900000002070000292e152e0b0000040f000000010120019000002c880000613d000000000001042d000000000100001900002e1700010430000000400100043d000000000701001900000bf60110009c00002c940000413d00000b8d0100004100000000001004350000004101000039000000040010043f00000b8e0100004100002e170001043000000000020700190000006001200039000000400010043f0000002a01000039000000000112043600000000020000310000000202200367000000000300001900000005043002100000000005410019000000000442034f000000000404043b00000000004504350000000103300039000000020430008c00002c9c0000413d0000000002070433000000000220004c00002cae0000613d000000000201043300000bf70220019700000bf8022001c700000000002104350000000002070433000000020220008c00002cb40000813d00000b8d0100004100000000001004350000003201000039000000040010043f00000b8e0100004100002e17000104300000002102700039000000000302043300000bf70330019700000bf9033001c700000000003204350000002902000039000000020500002900000000030500190000000004070433000000000424004b00002cae0000a13d0000000f0430018f0000000304400210000000f80440015f00000bfa05000041000000000445022f0000000005120019000000000605043300000bf706600197000000f804400210000000000446019f00000000004504350000000405300270000000010220008a000000010420008c00002cbb0000213d000000100130008c00000000010000190000000101004039000300000007001d2e152df70000040f00000001010000292e1524d00000040f000000400400043d000400000004001d000000200240003900000bfb030000410000000000320435000200000001001d000000370240003900000003010000292e15098c0000040f00000bfc020000410000000000210435000000110210003900000002010000292e15098c0000040f00000004030000290000000002310049000000200120008a000000000013043500000000010300192e150a120000040f00000bd601000041000000400200043d000300000002001d0000000000120435000000040120003900000004020000292e15099d0000040f0000000304000029000000000141004900000b870200004100000b870310009c000000000102801900000b870340009c000000000204401900000040022002100000006001100210000000000121019f00002e17000104300004000000000002000300000002001d000400000001001d0000000000100435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f000000010220019000002d840000613d000000000101043b0000000101100039000000000101041a000100000001001d0000000000100435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f000000010220019000002d840000613d000000000101043b0000000002000411000200000002001d00000b8b022001970000000000200435000000200010043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f000000010220019000002d840000613d000000000101043b000000000101041a000000ff0110019000002d860000613d00000004010000290000000000100435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f000000010220019000002d840000613d000000000101043b000000030200002900000b8b02200197000100000002001d0000000000200435000000200010043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f000000010220019000002d840000613d000000000101043b000000000101041a000000ff0110019000002d830000613d00000004010000290000000000100435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f000000010220019000002d840000613d000000000101043b00000001020000290000000000200435000000200010043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f000000010220019000002d840000613d000000000101043b000000000201041a000001000300008a000000000232016f000000000021041b000000400100043d00000b8702000041000000000300041400000b870430009c000000000302801900000b870410009c00000000010280190000004001100210000000c002300210000000000112019f00000bce011001c70000800d02000039000000040300003900000c02040000410000000405000029000000030600002900000002070000292e152e0b0000040f000000010120019000002d840000613d000000000001042d000000000100001900002e1700010430000000400100043d000000000701001900000bf60110009c00002d900000413d00000b8d0100004100000000001004350000004101000039000000040010043f00000b8e0100004100002e170001043000000000020700190000006001200039000000400010043f0000002a01000039000000000112043600000000020000310000000202200367000000000300001900000005043002100000000005410019000000000442034f000000000404043b00000000004504350000000103300039000000020430008c00002d980000413d0000000002070433000000000220004c00002daa0000613d000000000201043300000bf70220019700000bf8022001c700000000002104350000000002070433000000020220008c00002db00000813d00000b8d0100004100000000001004350000003201000039000000040010043f00000b8e0100004100002e17000104300000002102700039000000000302043300000bf70330019700000bf9033001c700000000003204350000002902000039000000020500002900000000030500190000000004070433000000000424004b00002daa0000a13d0000000f0430018f0000000304400210000000f80440015f00000bfa05000041000000000445022f0000000005120019000000000605043300000bf706600197000000f804400210000000000446019f00000000004504350000000405300270000000010220008a000000010420008c00002db70000213d000000100130008c00000000010000190000000101004039000300000007001d2e152df70000040f00000001010000292e1524d00000040f000000400400043d000400000004001d000000200240003900000bfb030000410000000000320435000200000001001d000000370240003900000003010000292e15098c0000040f00000bfc020000410000000000210435000000110210003900000002010000292e15098c0000040f00000004030000290000000002310049000000200120008a000000000013043500000000010300192e150a120000040f00000bd601000041000000400200043d000300000002001d0000000000120435000000040120003900000004020000292e15099d0000040f0000000304000029000000000141004900000b870200004100000b870310009c000000000102801900000b870340009c000000000204401900000040022002100000006001100210000000000121019f00002e1700010430000000000110004c00002dfa0000613d000000000001042d000000400100043d000000440210003900000c1003000041000000000032043500000bd60200004100000000002104350000002402100039000000200300003900000000003204350000000402100039000000000032043500000b870200004100000b870310009c0000000001028019000000400110021000000be4011001c700002e170001043000002e0e002104210000000102000039000000000001042d0000000002000019000000000001042d00002e13002104230000000102000039000000000001042d0000000002000019000000000001042d00002e150000043200002e160001042e00002e1700010430000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffff0000000000000000000000000000000000000000000000010000000000000000000000000000000000000000ffffffffffffffffffffffffffffffffffffffff00000002000000000000000000000000000000800000010000000000000000004e487b71000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024000000000000000000000000000000000000000000000000000000000000000000000000000000008bb9c5be00000000000000000000000000000000000000000000000000000000c8a3a5c500000000000000000000000000000000000000000000000000000000dede7f1400000000000000000000000000000000000000000000000000000000f2fde38a00000000000000000000000000000000000000000000000000000000f2fde38b00000000000000000000000000000000000000000000000000000000f874225400000000000000000000000000000000000000000000000000000000fe38c5e600000000000000000000000000000000000000000000000000000000dede7f1500000000000000000000000000000000000000000000000000000000f035038200000000000000000000000000000000000000000000000000000000d73792a800000000000000000000000000000000000000000000000000000000d73792a900000000000000000000000000000000000000000000000000000000d8baf7cf00000000000000000000000000000000000000000000000000000000dd8544b300000000000000000000000000000000000000000000000000000000c8a3a5c600000000000000000000000000000000000000000000000000000000d547741f00000000000000000000000000000000000000000000000000000000a217fdde00000000000000000000000000000000000000000000000000000000aede369200000000000000000000000000000000000000000000000000000000aede369300000000000000000000000000000000000000000000000000000000b381cf4000000000000000000000000000000000000000000000000000000000c3accd4800000000000000000000000000000000000000000000000000000000a217fddf00000000000000000000000000000000000000000000000000000000a3f4df7e0000000000000000000000000000000000000000000000000000000092f5d8890000000000000000000000000000000000000000000000000000000092f5d88a00000000000000000000000000000000000000000000000000000000952e901200000000000000000000000000000000000000000000000000000000a0cf0aea000000000000000000000000000000000000000000000000000000008bb9c5bf0000000000000000000000000000000000000000000000000000000091d14854000000000000000000000000000000000000000000000000000000004c09cf4d0000000000000000000000000000000000000000000000000000000076c7a3c6000000000000000000000000000000000000000000000000000000007c7a561a000000000000000000000000000000000000000000000000000000007c7a561b00000000000000000000000000000000000000000000000000000000809356aa000000000000000000000000000000000000000000000000000000008980f11f0000000000000000000000000000000000000000000000000000000076c7a3c70000000000000000000000000000000000000000000000000000000076ebe69c000000000000000000000000000000000000000000000000000000006b453c1e000000000000000000000000000000000000000000000000000000006b453c1f000000000000000000000000000000000000000000000000000000006bf2df860000000000000000000000000000000000000000000000000000000075d19947000000000000000000000000000000000000000000000000000000004c09cf4e0000000000000000000000000000000000000000000000000000000052a52ab000000000000000000000000000000000000000000000000000000000248a9ca20000000000000000000000000000000000000000000000000000000031ac991f0000000000000000000000000000000000000000000000000000000031ac99200000000000000000000000000000000000000000000000000000000036568abe000000000000000000000000000000000000000000000000000000003a9a408100000000000000000000000000000000000000000000000000000000248a9ca3000000000000000000000000000000000000000000000000000000002f2ff15d00000000000000000000000000000000000000000000000000000000061b15e600000000000000000000000000000000000000000000000000000000061b15e7000000000000000000000000000000000000000000000000000000001e189dc20000000000000000000000000000000000000000000000000000000000b99e360000000000000000000000000000000000000000000000000000000001ffc9a7339759585899103d2ace64958e37e18ccb0504652c81d4a1b8aa80fe2126ab950000000000000000000000000000000000000020000000000000000000000000310ab089e4439a4c15d089f94afb7896ff553aecb10793d0ab882de59d99a32effffffff0000000000000000000000000000000000000000000000000000000001ffc9a7000000000000000000000000000000000000000000000000000000007965db0b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000008000000000000000000200000200000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000004000000000000000000000000002000000000000000000000000000000000000000000000000000000000000002f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d1806aa1896bbf26568e884a7374b41e002500962caba6a15023a8d90e8508b830200000200000000000000000000000000000024000000000000000000000000dd62ed3e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004400000000000000000000000020746f206e6f6e2d7a65726f20616c6c6f77616e6365000000000000000000005361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f08c379a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084000000000000000000000000095ea7b300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffff7f6f742073756363656564000000000000000000000000000000000000000000005361666545524332303a204552433230206f7065726174696f6e20646964206e658ff1688002926d8f426cb10c052ec29003f50042df9652d8613484c1a586470200000000000000000000000000000000000020000000000000000000000000ffffffffffffffffffffffff0000000000000000000000000000000000000000b2c853ac4d80d18d058c43d8018d077a036e542a79acae1647f5ad2a8c76f4e2ebf7325f48e05e5e38809c69f8b02a7c907ed31d8768e6c2d841b1296a9225fe696e7461696e65720000000000000000000000000000000000000000000000004d61696e7461696e61626c653a2043616c6c6572206973206e6f742061206d615361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65640000000000000000000000000000000000000064000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffc059616b526f757465720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffff80ef99893a0000000000000000000000000000000000000000000000000000000069cff80d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffbf000000000000000000000000000000000000000000000000000000003b9aca0023b872dd00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffff5fa9059cbb0000000000000000000000000000000000000000000000000000000059616b526f757465723a20496e73756666696369656e742066656500000000009fc8352e52998db4087d5e6e1c1aafa38788e749e5d7a24f5cb230f737954402eab90da60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a40000000000000000000000006d6f756e7400000000000000000000000000000000000000000000000000000059616b526f757465723a20496e73756666696369656e74206f75747075742061000000000000000000000000000000000000000000000000ffffffffffffffa000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff300000000000000000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000000000000000003031323334353637383961626364656600000000000000000000000000000000416363657373436f6e74726f6c3a206163636f756e7420000000000000000000206973206d697373696e6720726f6c652000000000000000000000000000000002000002000000000000000000000000000000440000000000000000000000000000000000000000000000000000000000000000000000000de0b6b3a7640000000000000000000000000000000000000000000000000000ffffffffffffffdf00000000000000000000000000000000000000000000001fffffffffffffffff59616b526f757465723a20496e76616c6964206d61782d737465707300000000f6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b000000000000000000000001000000000000000000000000000000000000000020726f6c657320666f722073656c660000000000000000000000000000000000416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e6365697468205741564158000000000000000000000000000000000000000000000059616b526f757465723a2050617468206e6565647320746f20626567696e2077d0e30db0000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000004000000000000000000000000d505accf0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e4000000000000000000000000682057415641580000000000000000000000000000000000000000000000000059616b526f757465723a2050617468206e6565647320746f20656e64207769742e1a7d4d000000000000000000000000000000000000000000000000000000005472616e73666572206661696c65642e00000000000000000000000000000000537472696e67733a20686578206c656e67746820696e73756666696369656e7400000000000000000000000000000000000000000000000100000000000000014bb8a6184424e4bb853a4836042f5a726e4e710873989bfc6abdab19966f5b708c1256b8896378cd5044f80c202f9772b9d77dc85c8a6eb51967210b09bfaa284e6f7468696e6720746f207265636f766572000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006032945700430635b1cc1c942b18ad6d5f535c57e1fcb579db736e83bc33103e", + "deployedBytecode": "0x000400000000000200010000000000020000000003010019000000600330027000000b87043001970003000000410355000200000001035500000b870030019d000100000000001f0000000101200190000000250000c13d0000008001000039000000400010043f0000000001000031000000040210008c000000730000413d0000000202000367000000000202043b000000e00220027000000b8f0320009c000000770000a13d00000b900320009c0000008f0000213d00000b9e0120009c000000bb0000213d00000ba50120009c000001710000a13d00000ba60120009c000002300000613d00000ba70120009c000002450000613d00000ba80120009c000004240000c13d0000000001000416000000000110004c000004240000c13d000003c90000013d000000a001000039000000400010043f0000000001000416000000000110004c000004240000c13d0000000001000031000000bf03100039000000200200008a000000000323016f000000400030043f0000001f0310018f000000020400036700000005051002720000003c0000613d00000000060000190000000507600210000000000874034f000000000808043b000000a00770003900000000008704350000000106600039000000000756004b000000340000413d000000000630004c0000004b0000613d0000000505500210000000000454034f0000000303300210000000a005500039000000000605043300000000063601cf000000000636022f000000000404043b0000010003300089000000000434022f00000000033401cf000000000363019f000000000035043500000b8803000041000000800410008c0000000004000019000000000403401900000b8805100197000000000650004c000000000300a01900000b880550009c000000000304c019000000000330004c000004240000c13d000000a00500043d00000b890350009c000004240000213d000000a003100039000000bf0150003900000b8804000041000000000631004b0000000006000019000000000604801900000b880730019700000b8801100197000000000871004b0000000004008019000000000171013f00000b880110009c00000000010600190000000001046019000000000110004c000004240000c13d000000a001500039000000000401043300000b8a0140009c000000f30000413d00000b8d0100004100000000001004350000004101000039000000040010043f00000b8e0100004100002e1700010430000000000110004c000004240000c13d000000000100001900002e160001042e00000bab0120009c000000a50000a13d00000bac0120009c000000cf0000213d00000bb30120009c0000018a0000a13d00000bb40120009c000002630000613d00000bb50120009c0000026f0000613d00000bb60120009c000004240000c13d0000000001000416000000000110004c000004240000c13d00000000010000312e1508a90000040f2e1523fa0000040f00000b8701000041000000400200043d00000b870320009c0000000001024019000000400110021000002e160001042e00000b910320009c000000e30000213d00000b980120009c000001ac0000a13d00000b990120009c0000027b0000613d00000b9a0120009c000002950000613d00000b9b0120009c000004240000c13d0000000001000416000000000110004c000004240000c13d00000000010000312e1507d50000040f2e1526c50000040f00000b8701000041000000400200043d00000b870320009c0000000001024019000000400110021000002e160001042e00000bb90120009c000001550000a13d00000bba0120009c000001bc0000a13d00000bbb0120009c000002a10000613d00000bbc0120009c000002bc0000613d00000bbd0120009c000004240000c13d0000000001000416000000000110004c000004240000c13d00000000010000312e1508010000040f2e1528e30000040f00000b8701000041000000400200043d00000b870320009c0000000001024019000000400110021000002e160001042e00000b9f0120009c000001cc0000a13d00000ba00120009c000002c80000613d00000ba10120009c000002e30000613d00000ba20120009c000004240000c13d0000000001000416000000000110004c000004240000c13d00000000010000312e1507d50000040f2e1529db0000040f00000b8701000041000000400200043d00000b870320009c0000000001024019000000400110021000002e160001042e00000bad0120009c000001f10000a13d00000bae0120009c000003070000613d00000baf0120009c000003220000613d00000bb00120009c000004240000c13d0000000001000416000000000110004c000004240000c13d00000000010000312e1507ea0000040f2e152a370000040f00000b8701000041000000400200043d00000b870320009c0000000001024019000000400110021000002e160001042e00000b920320009c000002100000a13d00000b930320009c000003300000613d00000b940320009c0000033c0000613d00000b950220009c000004240000c13d2e15087f0000040f2e151fa40000040f00000b8701000041000000400200043d00000b870320009c0000000001024019000000400110021000002e160001042e00000005064002100000003f01600039000000000721016f000000400100043d0000000007710019000000000817004b0000000008000019000000010800403900000b890970009c0000006d0000213d00000001088001900000006d0000c13d000000400070043f0000000000410435000000c0055000390000000006560019000000000636004b000004240000213d000000000640004c000001110000613d00000000060000190000000007010019000000005805043400000b8b0980009c000004240000213d000000200770003900000000008704350000000106600039000000000846004b000001090000413d000000c00500043d00000b890450009c000004240000213d000000bf0450003900000b8806000041000000000734004b0000000007000019000000000706801900000b880830019700000b8804400197000000000984004b0000000006008019000000000484013f00000b880440009c00000000040700190000000004066019000000000440004c000004240000c13d000000a004500039000000000404043300000b890640009c0000006d0000213d00000005064002100000003f07600039000000000727016f000000400200043d0000000007720019000000000827004b0000000008000019000000010800403900000b890970009c0000006d0000213d00000001088001900000006d0000c13d000000400070043f0000000000420435000000c0055000390000000006560019000000000336004b000004240000213d000000000340004c000001450000613d00000000030000190000000006020019000000005705043400000b8b0870009c000004240000213d000000200660003900000000007604350000000103300039000000000743004b0000013d0000413d000000e00300043d00000b8b0430009c000004240000213d000001000400043d00000b8b0540009c000004240000213d2e1504370000040f000000800100043d00000140000004430000016000100443000000200100003900000100001004430000000101000039000001200010044300000b8c0100004100002e160001042e00000bc00120009c000002200000213d00000bc30120009c000003560000613d00000bc40120009c000004240000c13d0000000001000416000000000110004c000004240000c13d00000000010000312e1508690000040f00000bc80110019700000bc90210009c0000000002000019000000010200603900000bca0110009c00000000010000190000000101006039000000000121019f000000010110018f000000400200043d000000000012043500000b870100004100000b870320009c0000000001024019000000400110021000000bc6011001c700002e160001042e00000ba90120009c0000036d0000613d00000baa0120009c000004240000c13d0000000001000416000000000110004c000004240000c13d00000000010000312e1508520000040f000100000002001d2e1526b50000040f00000001020000292e1526a40000040f000000000101041a000000ff011001900000000001000019000000010100c039000000400200043d000000000012043500000b870100004100000b870320009c0000000001024019000000400110021000000bc6011001c700002e160001042e00000bb70120009c000003880000613d00000bb80120009c000004240000c13d0000000001000416000000000110004c000004240000c13d000000040100008a000000000110003100000b8802000041000000200310008c0000000003000019000000000302401900000b8801100197000000000410004c000000000200a01900000b880110009c00000000010300190000000001026019000000000110004c000004240000c13d00000004010000390000000201100367000000000101043b2e15268b0000040f00000b8b01100197000000400200043d000000000012043500000b870100004100000b870320009c0000000001024019000000400110021000000bc6011001c700002e160001042e00000b9c0120009c0000039d0000613d00000b9d0120009c000004240000c13d0000000001000416000000000110004c000004240000c13d00000000010000312e1508520000040f2e152cfb0000040f00000b8701000041000000400200043d00000b870320009c0000000001024019000000400110021000002e160001042e00000bbe0120009c000003a90000613d00000bbf0120009c000004240000c13d0000000001000416000000000110004c000004240000c13d00000000010000312e1508520000040f2e152bfe0000040f00000b8701000041000000400200043d00000b870320009c0000000001024019000000400110021000002e160001042e00000ba30120009c000003c60000613d00000ba40120009c000004240000c13d0000000001000416000000000110004c000004240000c13d000000040100008a000000000110003100000b8802000041000000000310004c0000000003000019000000000302401900000b8801100197000000000410004c000000000200a01900000b880110009c00000000010300190000000001026019000000000110004c000004240000c13d2e150a010000040f0000000002010019000000400100043d000100000001001d2e15099d0000040f0000000104000029000000000141004900000b870200004100000b870310009c000000000102801900000b870340009c000000000204401900000040022002100000006001100210000000000121019f00002e160001042e00000bb10120009c000003df0000613d00000bb20120009c000004240000c13d0000000001000416000000000110004c000004240000c13d000000040100008a000000000110003100000b8802000041000000000310004c0000000003000019000000000302401900000b8801100197000000000410004c000000000200a01900000b880110009c00000000010300190000000001026019000000000110004c000004240000c13d0000000301000039000000000101041a000000400200043d000000000012043500000b870100004100000b870320009c0000000001024019000000400110021000000bc6011001c700002e160001042e00000b960120009c000003fa0000613d00000b970120009c000004240000c13d0000000001000416000000000110004c000004240000c13d00000000010000312e15087f0000040f2e15229f0000040f00000b8701000041000000400200043d00000b870320009c0000000001024019000000400110021000002e160001042e00000bc10120009c0000040f0000613d00000bc20120009c000004240000c13d0000000001000416000000000110004c000004240000c13d00000000010000312e1508a90000040f2e1520850000040f00000b8701000041000000400200043d00000b870320009c0000000001024019000000400110021000002e160001042e0000000001000416000000000110004c000004240000c13d00000000010000312e1508f80000040f2e151bb70000040f0000000002010019000000400100043d000100000001001d2e1509f00000040f0000000104000029000000000141004900000b870200004100000b870310009c000000000102801900000b870340009c000000000204401900000040022002100000006001100210000000000121019f00002e160001042e0000000001000416000000000110004c000004240000c13d000000040100008a000000000110003100000b8802000041000000200310008c0000000003000019000000000302401900000b8801100197000000000410004c000000000200a01900000b880110009c00000000010300190000000001026019000000000110004c000004240000c13d00000004010000390000000201100367000000000101043b2e1526720000040f00000b8b01100197000000400200043d000000000012043500000b870100004100000b870320009c0000000001024019000000400110021000000bc6011001c700002e160001042e0000000001000416000000000110004c000004240000c13d00000000010000312e1507d50000040f2e1515aa0000040f00000b8701000041000000400200043d00000b870320009c0000000001024019000000400110021000002e160001042e0000000001000416000000000110004c000004240000c13d00000000010000312e15087f0000040f2e1524cb0000040f00000b8701000041000000400200043d00000b870320009c0000000001024019000000400110021000002e160001042e0000000001000416000000000110004c000004240000c13d000000040100008a000000000110003100000b8802000041000000000310004c0000000003000019000000000302401900000b8801100197000000000410004c000000000200a01900000b880110009c00000000010300190000000001026019000000000110004c000004240000c13d000000400100043d0000271002000039000000000021043500000b870200004100000b870310009c0000000001028019000000400110021000000bc6011001c700002e160001042e0000000001000416000000000110004c000004240000c13d00000000010000312e1507d50000040f2e151dc40000040f00000b8701000041000000400200043d00000b870320009c0000000001024019000000400110021000002e160001042e0000000001000416000000000110004c000004240000c13d000000040100008a000000000110003100000b8802000041000000200310008c0000000003000019000000000302401900000b8801100197000000000410004c000000000200a01900000b880110009c00000000010300190000000001026019000000000110004c000004240000c13d00000004010000390000000201100367000000000101043b2e1529870000040f00000b8701000041000000400200043d00000b870320009c0000000001024019000000400110021000002e160001042e0000000001000416000000000110004c000004240000c13d00000000010000312e1508520000040f2e151f320000040f00000b8701000041000000400200043d00000b870320009c0000000001024019000000400110021000002e160001042e0000000001000416000000000110004c000004240000c13d000000040100008a000000000110003100000b8802000041000000200310008c0000000003000019000000000302401900000b8801100197000000000410004c000000000200a01900000b880110009c00000000010300190000000001026019000000000110004c000004240000c13d00000004010000390000000201100367000000000101043b2e152b3a0000040f00000b8701000041000000400200043d00000b870320009c0000000001024019000000400110021000002e160001042e0000000001000416000000000110004c000004240000c13d000000040100008a000000000110003100000b8802000041000000000310004c0000000003000019000000000302401900000b8801100197000000000410004c000000000200a01900000b880110009c00000000010300190000000001026019000000000110004c000004240000c13d000000400100043d000100000001001d00000bc7010000410000000000100439000000000100041200000004001004430000002400000443000080050100003900000044020000392e1504260000040f00000b8b011001970000000103000029000000000013043500000b870100004100000b870230009c0000000001034019000000400110021000000bc6011001c700002e160001042e0000000001000416000000000110004c000004240000c13d000000040100008a000000000110003100000b8802000041000000000310004c0000000003000019000000000302401900000b8801100197000000000410004c000000000200a01900000b880110009c00000000010300190000000001026019000000000110004c000004240000c13d0000000401000039000000000101041a000000400200043d000000000012043500000b870100004100000b870320009c0000000001024019000000400110021000000bc6011001c700002e160001042e0000000001000416000000000110004c000004240000c13d00000000010000312e15096d0000040f2e151b000000040f000000400200043d000000000012043500000b870100004100000b870320009c0000000001024019000000400110021000000bc6011001c700002e160001042e0000000001000416000000000110004c000004240000c13d00000000010000312e1507d50000040f2e1525260000040f00000b8701000041000000400200043d00000b870320009c0000000001024019000000400110021000002e160001042e0000000001000416000000000110004c000004240000c13d000000040100008a000000000110003100000b8802000041000000000310004c0000000003000019000000000302401900000b8801100197000000000410004c000000000200a01900000b880110009c00000000010300190000000001026019000000000110004c000004240000c13d000000400100043d00000bc502000041000000000021043500000b870200004100000b870310009c0000000001028019000000400110021000000bc6011001c700002e160001042e0000000001000416000000000110004c000004240000c13d000000040100008a000000000110003100000b8802000041000000000310004c0000000003000019000000000302401900000b8801100197000000000410004c000000000200a01900000b880110009c00000000010300190000000001026019000000000110004c000004240000c13d0000000201000039000000000101041a00000b8b01100197000000800010043f00000bcb0100004100002e160001042e0000000001000416000000000110004c000004240000c13d000000040100008a000000000110003100000b8802000041000000200310008c0000000003000019000000000302401900000b8801100197000000000410004c000000000200a01900000b880110009c00000000010300190000000001026019000000000110004c000004240000c13d00000004010000390000000201100367000000000101043b2e151ec00000040f00000b8701000041000000400200043d00000b870320009c0000000001024019000000400110021000002e160001042e0000000001000416000000000110004c000004240000c13d00000000010000312e1509310000040f2e15198c0000040f0000000002010019000000400100043d000100000001001d2e1509b50000040f0000000104000029000000000141004900000b870200004100000b870310009c000000000102801900000b870340009c000000000204401900000040022002100000006001100210000000000121019f00002e160001042e0000000001000416000000000110004c000004240000c13d00000000010000312e1508010000040f2e15283f0000040f00000b8701000041000000400200043d00000b870320009c0000000001024019000000400110021000002e160001042e0000000001000416000000000110004c000004240000c13d000000040100008a000000000110003100000b8802000041000000200310008c0000000003000019000000000302401900000b8801100197000000000410004c000000000200a01900000b880110009c00000000010300190000000001026019000000000110004c000004240000c13d00000004010000390000000201100367000000000101043b2e151aee0000040f000000400200043d000000000012043500000b870100004100000b870320009c0000000001024019000000400110021000000bc6011001c700002e160001042e0000000001000416000000000110004c000004240000c13d000000040100008a000000000110003100000b8802000041000000000310004c0000000003000019000000000302401900000b8801100197000000000410004c000000000200a01900000b880110009c00000000010300190000000001026019000000000110004c000004240000c13d000000400100043d000000000001043500000b870200004100000b870310009c0000000001028019000000400110021000000bc6011001c700002e160001042e0000000001000416000000000110004c000004240000c13d000000040100008a000000000110003100000b8802000041000000000310004c0000000003000019000000000302401900000b8801100197000000000410004c000000000200a01900000b880110009c00000000010300190000000001026019000000000110004c000004240000c13d0000000101000039000000000101041a000000400200043d000000000012043500000b870100004100000b870320009c0000000001024019000000400110021000000bc6011001c700002e160001042e0000000001000416000000000110004c000004240000c13d00000000010000312e1508dd0000040f2e151cc10000040f0000000002010019000000400100043d000100000001001d2e1509f00000040f0000000104000029000000000141004900000b870200004100000b870310009c000000000102801900000b870340009c000000000204401900000040022002100000006001100210000000000121019f00002e160001042e0000000001000416000000000110004c000004240000c13d00000000010000312e15094e0000040f2e1516a70000040f0000000002010019000000400100043d000100000001001d2e1509b50000040f0000000104000029000000000141004900000b870200004100000b870310009c000000000102801900000b870340009c000000000204401900000040022002100000006001100210000000000121019f00002e160001042e000000000100001900002e1700010430000000000301001900000b8701000041000000000400041400000b870540009c0000000001044019000000c0011002100000006002200210000000000112001900000bcc0110004100000000020300192e152e100000040f0000000102200190000004350000613d000000000101043b000000000001042d000000000100001900002e17000104300009000000000002000600000004001d000300000003001d000800000002001d000700000001001d0000000000000435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000007370000613d000000000101043b0000000002000411000500000002001d00000b8b02200197000900000002001d0000000000200435000000200010043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000007370000613d000000000101043b000000000101041a000000ff01100190000004910000c13d0000000000000435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000007370000613d000000000101043b00000009020000290000000000200435000000200010043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000007370000613d000000000101043b000000000201041a000001000300008a000000000232016f00000001022001bf000000000021041b000000400100043d00000b8702000041000000000300041400000b870430009c000000000302801900000b870410009c00000000010280190000004001100210000000c002300210000000000112019f00000bce011001c70000800d02000039000000040300003900000bcf040000410000000005000019000000050600002900000000070600192e152e0b0000040f0000000101200190000007370000613d00000bc5010000410000000000100435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000007370000613d000000000101043b00000009020000290000000000200435000000200010043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000007370000613d000000000101043b000000000101041a000000ff01100190000004e50000c13d00000bc5010000410000000000100435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000007370000613d000000000101043b00000009020000290000000000200435000000200010043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000007370000613d000000000101043b000000000201041a000001000300008a000000000232016f00000001022001bf000000000021041b000000400100043d00000b8702000041000000000300041400000b870430009c000000000302801900000b870410009c00000000010280190000004001100210000000c002300210000000000112019f00000bce011001c70000800d02000039000000040300003900000bcf0400004100000bc505000041000000050600002900000000070600192e152e0b0000040f0000000101200190000007370000613d0000000101000039000400000001001d000000000001041b00000bc5010000410000000000100435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000007370000613d000000000101043b00000009020000290000000000200435000000200010043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000007370000613d000000000101043b000000000101041a000000ff011001900000073f0000613d00000bd0010000410000000000100439000000060100002900000b8b01100197000500000001001d000000040010044300000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bd1011001c700008002020000392e152e100000040f00000005060000290000000102200190000007370000613d000000000101043b000000000110004c000007370000613d000000400900043d00000bd2010000410000000000190435000000000100041000000b8b0210019700000004039000390000000001000414000000000023043500000024029000390000000000620435000000040260008c000005290000c13d00000001030000310000055c0000013d00000b870200004100000b870310009c000000000102801900000b870390009c00000000020940190000004002200210000000c001100210000000000121019f00000bd3011001c70000000002060019000200000009001d2e152e100000040f00000002090000290000000003010019000000600330027000000b8703300197000000200430008c000000200500003900000000050340190000001f0450018f0000000505500272000005480000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b000005400000413d000000000640004c000005570000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f000300000001035500000001022001900000000506000029000007b60000613d0000001f01300039000000200700008a000000000271016f0000000001920019000000000221004b0000000002000019000000010200403900000b890310009c000007390000213d0000000102200190000007390000c13d000000400010043f00000b88020000410000000103000031000000200430008c0000000004000019000000000402401900000b8803300197000000000530004c000000000200a01900000b880330009c000000000204c019000000000220004c000007370000c13d0000000002090433000000000220004c000007540000c13d0000004402100039000000010300008a0000000000320435000000200210003900000bd8030000410000000000320435000000240310003900000000006304350000004403000039000000000031043500000bd90310009c000007390000213d0000008003100039000000400030043f0000000003000414000000040460008c0000058a0000c13d0000000102000031000005a20000013d00000b870400004100000b870520009c00000000020480190000004002200210000000000101043300000b870510009c00000000010480190000006001100210000000000121019f00000b870230009c00000000020400190000000002034019000000c002200210000000000121019f0000000002060019000500000007001d2e152e0b0000040f0000000507000029000000010220018f000400000002001d0003000000010355000000600110027000010b870010019d00000b87021001970000006001000039000000000320004c000005cf0000613d0000003f01200039000000000371016f000000400100043d0000000003310019000000000413004b0000000004000019000000010400403900000b890530009c000007390000213d0000000104400190000007390000c13d000000400030043f0000000002210436000000030300036700000001050000310000001f0450018f0000000505500272000005c00000613d000000000600001900000005076002100000000008720019000000000773034f000000000707043b00000000007804350000000106600039000000000756004b000005b80000413d000000000640004c000005cf0000613d0000000505500210000000000353034f00000000025200190000000304400210000000000502043300000000054501cf000000000545022f000000000303043b0000010004400089000000000343022f00000000034301cf000000000353019f00000000003204350000000402000029000000000220004c000007680000613d0000000012010434000000000320004c000005e90000613d00000b8803000041000000200420008c0000000004000019000000000403401900000b8802200197000000000520004c000000000300a01900000b880220009c00000000020400190000000002036019000000000220004c000007370000c13d0000000001010433000000000210004c0000000002000019000000010200c039000000000221004b000007370000c13d000000000110004c000007a10000613d00000bc5010000410000000000100435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000007370000613d000000000101043b00000009020000290000000000200435000000200010043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000007370000613d000000400200043d000000000101043b000000000101041a000000ff01100190000007790000613d0000002001000039000400000001001d00000000011204360000000803000029000000000303043300000000003104350000004001200039000000000430004c0000061b0000613d000000000400001900000008050000290000002005500039000000000605043300000b8b0660019700000000016104360000000104400039000000000634004b000006140000413d000000000121004900000b870300004100000b870420009c0000000002038019000000400220021000000b870410009c00000000010380190000006001100210000000000121019f000000000200041400000b870420009c0000000002038019000000c002200210000000000121019f00000bce011001c70000800d02000039000000010300003900000bdc040000412e152e0b0000040f0000000101200190000007370000613d0000000801000029000000000201043300000b8a0120009c000007390000213d0000000304000039000000000304041a000000000024041b000500000002001d000000000132004b000006530000813d000100000003001d000200000004001d000000000040043500000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bdd011001c700008010020000392e152e100000040f0000000102200190000007370000613d000000000201043b0000000501000029000000000112001900000001030000290000000002320019000000000321004b0000000204000029000006530000813d000000000001041b0000000101100039000000000321004b0000064f0000413d000000000040043500000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bdd011001c700008010020000392e152e100000040f0000000102200190000007370000613d0000000506000029000000000260004c00000008050000290000066f0000613d000000000101043b0000000002000019000000000301041a00000bde033001970000002005500039000000000405043300000b8b04400197000000000343019f000000000031041b00000001011000390000000102200039000000000362004b000006640000413d00000bc5010000410000000000100435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000007370000613d000000000101043b00000009020000290000000000200435000000200010043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000007370000613d000000000101043b000000000101041a000000ff011001900000073f0000613d0000000201000039000800000001001d000000000301041a000000030100002900000b8b04100197000000400100043d0000002002100039000300000004001d0000000000420435000500000003001d00000b8b02300197000000000021043500000b8702000041000000000300041400000b870430009c000000000302801900000b870410009c00000000010280190000004001100210000000c002300210000000000112019f00000bcd011001c70000800d02000039000000010300003900000bdf040000412e152e0b0000040f0000000101200190000007370000613d000000050100002900000bde011001970000000302000029000000000121019f0000000802000029000000000012041b00000bc5010000410000000000100435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000007370000613d000000000101043b00000009020000290000000000200435000000200010043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000007370000613d000000400200043d000000000101043b000000000101041a000000ff011001900000078d0000613d000000040100002900000000011204360000000705000029000000000305043300000000003104350000004001200039000000000430004c000006e00000613d00000000040000190000002005500039000000000605043300000b8b0660019700000000016104360000000104400039000000000634004b000006d90000413d000000000121004900000b870300004100000b870420009c0000000002038019000000400220021000000b870410009c00000000010380190000006001100210000000000121019f000000000200041400000b870420009c0000000002038019000000c002200210000000000121019f00000bce011001c70000800d02000039000000010300003900000be0040000412e152e0b0000040f0000000101200190000007370000613d0000000701000029000000000201043300000b8a0120009c000007390000213d0000000404000039000000000304041a000000000024041b000900000002001d000000000132004b000007180000813d000500000003001d000800000004001d000000000040043500000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bdd011001c700008010020000392e152e100000040f0000000102200190000007370000613d000000000201043b0000000901000029000000000112001900000005030000290000000002320019000000000321004b0000000804000029000007180000813d000000000001041b0000000101100039000000000321004b000007140000413d000000000040043500000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bdd011001c700008010020000392e152e100000040f0000000102200190000007370000613d0000000906000029000000000260004c0000000705000029000007340000613d000000000101043b0000000002000019000000000301041a00000bde033001970000002005500039000000000405043300000b8b04400197000000000343019f000000000031041b00000001011000390000000102200039000000000362004b000007290000413d0000000601000029000000800010043f000000000001042d000000000100001900002e170001043000000b8d0100004100000000001004350000004101000039000000040010043f00000b8e0100004100002e1700010430000000400100043d000000640210003900000be1030000410000000000320435000000440210003900000be203000041000000000032043500000024021000390000002803000039000000000032043500000bd602000041000000000021043500000004021000390000002003000039000000000032043500000b870200004100000b870310009c0000000001028019000000400110021000000bd7011001c700002e1700010430000000640210003900000bd4030000410000000000320435000000440210003900000bd503000041000000000032043500000024021000390000003603000039000000000032043500000bd602000041000000000021043500000004021000390000002003000039000000000032043500000b870200004100000b870310009c0000000001028019000000400110021000000bd7011001c700002e1700010430000000400100043d000000440210003900000be303000041000000000032043500000bd60200004100000000002104350000002402100039000000200300003900000000003204350000000402100039000000000032043500000b870200004100000b870310009c0000000001028019000000400110021000000be4011001c700002e1700010430000000640120003900000be1030000410000000000310435000000440120003900000be203000041000000000031043500000024012000390000002803000039000000000031043500000bd601000041000000000012043500000004012000390000002003000039000000000031043500000b870100004100000b870320009c0000000001024019000000400110021000000bd7011001c700002e1700010430000000640120003900000be1030000410000000000310435000000440120003900000be203000041000000000031043500000024012000390000002803000039000000000031043500000bd601000041000000000012043500000004012000390000000403000029000000000031043500000b870100004100000b870320009c0000000001024019000000400110021000000bd7011001c700002e1700010430000000400100043d000000640210003900000bda030000410000000000320435000000440210003900000bdb03000041000000000032043500000024021000390000002a03000039000000000032043500000bd602000041000000000021043500000004021000390000002003000039000000000032043500000b870200004100000b870310009c0000000001028019000000400110021000000bd7011001c700002e17000104300000001f0430018f0000000502300272000007c10000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b000007ba0000413d000000000340004c000007cf0000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000b8701000041000000010200003100000b870320009c0000000001024019000000600110021000002e1700010430000000040110008a00000b88020000410000001f0310008c0000000003000019000000000302201900000b8801100197000000000410004c000000000200801900000b880110009c00000000010300190000000001026019000000000110004c000007e80000613d00000004010000390000000201100367000000000101043b00000b8b0210009c000007e80000213d000000000001042d000000000100001900002e1700010430000000040110008a00000b88020000410000003f0310008c0000000003000019000000000302201900000b8801100197000000000410004c000000000200801900000b880110009c00000000010300190000000001026019000000000110004c000007ff0000613d00000002020003670000000401200370000000000101043b00000b8b0310009c000007ff0000213d0000002402200370000000000202043b000000000001042d000000000100001900002e1700010430000000040210008a00000b88030000410000001f0420008c0000000004000019000000000403201900000b8802200197000000000520004c000000000300801900000b880220009c00000000020400190000000002036019000000000220004c0000084a0000613d00000002020003670000000403200370000000000403043b00000b890340009c0000084a0000213d000000230340003900000b8805000041000000000613004b0000000006000019000000000605801900000b880710019700000b8803300197000000000873004b0000000005008019000000000373013f00000b880330009c00000000030600190000000003056019000000000330004c0000084a0000c13d0000000403400039000000000232034f000000000302043b00000b8a0230009c0000084c0000813d00000005053002100000003f02500039000000200600008a000000000662016f000000400200043d0000000006620019000000000726004b0000000007000019000000010700403900000b890860009c0000084c0000213d00000001077001900000084c0000c13d000000400060043f000000000032043500000024044000390000000005540019000000000115004b0000084a0000213d000000000130004c000008480000613d000000000100001900000000050200190000000206400367000000000606043b00000b8b0760009c0000084a0000213d0000002005500039000000000065043500000020044000390000000101100039000000000631004b0000083e0000413d0000000001020019000000000001042d000000000100001900002e170001043000000b8d0100004100000000001004350000004101000039000000040010043f00000b8e0100004100002e1700010430000000040110008a00000b88020000410000003f0310008c0000000003000019000000000302201900000b8801100197000000000410004c000000000200801900000b880110009c00000000010300190000000001026019000000000110004c000008670000613d00000002010003670000002402100370000000000202043b00000b8b0320009c000008670000213d0000000401100370000000000101043b000000000001042d000000000100001900002e1700010430000000040110008a00000b88020000410000001f0310008c0000000003000019000000000302201900000b8801100197000000000410004c000000000200801900000b880110009c00000000010300190000000001026019000000000110004c0000087d0000613d00000004010000390000000201100367000000000101043b00000bc802100197000000000221004b0000087d0000c13d000000000001042d000000000100001900002e17000104300000000002010019000000040120008a00000b88030000410000005f0410008c0000000004000019000000000403201900000b8801100197000000000510004c000000000300801900000b880110009c00000000010400190000000001036019000000000110004c000008a70000613d00000002030003670000000401300370000000000101043b00000b890410009c000008a70000213d0000000401100039000000000212004900000b8804000041000000800520008c0000000005000019000000000504401900000b8802200197000000000620004c000000000400a01900000b880220009c00000000020500190000000002046019000000000220004c000008a70000c13d0000002402300370000000000202043b00000b8b0420009c000008a70000213d0000004403300370000000000303043b000000000001042d000000000100001900002e17000104300000000002010019000000040120008a00000b8803000041000000df0410008c0000000004000019000000000403201900000b8801100197000000000510004c000000000300801900000b880110009c00000000010400190000000001036019000000000110004c000008db0000613d00000002070003670000000401700370000000000101043b00000b890310009c000008db0000213d0000000401100039000000000212004900000b8803000041000000800420008c0000000004000019000000000403401900000b8802200197000000000520004c000000000300a01900000b880220009c00000000020400190000000002036019000000000220004c000008db0000c13d0000002402700370000000000202043b00000b8b0320009c000008db0000213d0000008403700370000000000503043b000000ff0350008c000008db0000213d0000004403700370000000000303043b0000006404700370000000000404043b000000a406700370000000000606043b000000c407700370000000000707043b000000000001042d000000000100001900002e1700010430000000040110008a00000b88020000410000005f0310008c0000000003000019000000000302201900000b8801100197000000000410004c000000000200801900000b880110009c00000000010300190000000001026019000000000110004c000008f60000613d00000002030003670000000401300370000000000101043b0000002402300370000000000202043b00000b8b0420009c000008f60000213d0000004403300370000000000303043b00000b8b0430009c000008f60000213d000000000001042d000000000100001900002e1700010430000000040210008a00000b88030000410000007f0420008c0000000004000019000000000403201900000b8802200197000000000520004c000000000300801900000b880220009c00000000020400190000000002036019000000000220004c0000092f0000613d00000002040003670000000402400370000000000602043b0000002402400370000000000202043b00000b8b0320009c0000092f0000213d0000004403400370000000000303043b00000b8b0530009c0000092f0000213d0000006405400370000000000705043b00000b890570009c0000092f0000213d000000230570003900000b8808000041000000000915004b0000000009000019000000000908801900000b880a10019700000b8805500197000000000ba5004b00000000080080190000000005a5013f00000b880550009c00000000050900190000000005086019000000000550004c0000092f0000c13d0000000405700039000000000454034f000000000504043b00000b890450009c0000092f0000213d000000050850021000000024047000390000000007840019000000000117004b0000092f0000213d0000000001060019000000000001042d000000000100001900002e1700010430000000040110008a00000b88020000410000007f0310008c0000000003000019000000000302201900000b8801100197000000000410004c000000000200801900000b880110009c00000000010300190000000001026019000000000110004c0000094c0000613d00000002040003670000000401400370000000000101043b0000002402400370000000000202043b00000b8b0320009c0000094c0000213d0000004403400370000000000303043b00000b8b0530009c0000094c0000213d0000006404400370000000000404043b000000000001042d000000000100001900002e1700010430000000040110008a00000b88020000410000009f0310008c0000000003000019000000000302201900000b8801100197000000000410004c000000000200801900000b880110009c00000000010300190000000001026019000000000110004c0000096b0000613d00000002050003670000000401500370000000000101043b0000002402500370000000000202043b00000b8b0320009c0000096b0000213d0000004403500370000000000303043b00000b8b0430009c0000096b0000213d0000006404500370000000000404043b0000008405500370000000000505043b000000000001042d000000000100001900002e1700010430000000040110008a00000b88020000410000007f0310008c0000000003000019000000000302201900000b8801100197000000000410004c000000000200801900000b880110009c00000000010300190000000001026019000000000110004c0000098a0000613d00000002040003670000000401400370000000000101043b0000002402400370000000000202043b00000b8b0320009c0000098a0000213d0000004403400370000000000303043b00000b8b0530009c0000098a0000213d0000006404400370000000000404043b000000ff0540008c0000098a0000213d000000000001042d000000000100001900002e170001043000000000030100190000000004030433000000000140004c00000000012400190000099c0000613d000000000500001900000000062500190000002005500039000000000735001900000000070704330000000000760435000000000645004b000009920000413d000000000245004b0000099c0000a13d0000000000010435000000000001042d00000020030000390000000004310436000000000302043300000000003404350000004001100039000000000430004c000009b00000613d000000000400001900000000051400190000002004400039000000000624001900000000060604330000000000650435000000000534004b000009a50000413d000000000234004b000009b00000a13d000000000213001900000000000204350000001f02300039000000200300008a000000000232016f0000000001210019000000000001042d00000020030000390000000005310436000000003402043400000080060000390000000000650435000000a00510003900000000060404330000000000650435000000c005100039000000000760004c000009c70000613d00000000070000190000002004400039000000000804043300000000058504360000000107700039000000000867004b000009c10000413d000000200400008a0000000004140049000000000603043300000040031000390000000007540019000000000073043500000000070604330000000003750436000000000570004c000009d90000613d00000000050000190000002006600039000000000806043300000b8b0880019700000000038304360000000105500039000000000875004b000009d20000413d0000000005340019000000400420003900000000040404330000006006100039000000000056043500000000050404330000000003530436000000000650004c000009ea0000613d00000000060000190000002004400039000000000704043300000b8b0770019700000000037304360000000106600039000000000756004b000009e30000413d00000080011000390000006002200039000000000202043300000000002104350000000001030019000000000001042d000000004302043400000b8b033001970000000003310436000000000404043300000b8b0440019700000000004304350000004003200039000000000303043300000b8b033001970000004004100039000000000034043500000060022000390000000002020433000000600310003900000000002304350000008001100039000000000001042d000000400100043d00000be50210009c00000a0c0000813d0000004002100039000000400020043f000000200210003900000be603000041000000000032043500000009020000390000000000210435000000000001042d00000b8d0100004100000000001004350000004101000039000000040010043f00000b8e0100004100002e17000104300000001f02200039000000200300008a000000000232016f0000000001120019000000000221004b0000000002000019000000010200403900000b890310009c00000a1f0000213d000000010220019000000a1f0000c13d000000400010043f000000000001042d00000b8d0100004100000000001004350000004101000039000000040010043f00000b8e0100004100002e17000104300019000000000002000b00000006001d000600000005001d000800000004001d000a00000003001d000d00000002001d001300000001001d000000400100043d00000be70210009c00000f2d0000813d0000008002100039000000400020043f00000040021000390000006003000039000000000032043500000020021000390000000000320435000700000003001d000000000031043500000060011000390000000000010435000000400100043d00000bd90210009c00000f2d0000213d0000008002100039000000400020043f00000040021000390000000703000029000000000032043500000020021000390000000000320435000000000031043500000060011000390000000000010435000000400100043d000c00000001001d00000bd90110009c00000f2d0000213d0000000602000029000000003102043400000060042000390000004005200039000400000003001d0000000002030433000200000005001d0000000003050433000300000004001d00000000040404330000000c060000290000008005600039000000400050043f0000006005600039000900000005001d00000000004504350000004004600039000f00000004001d00000000003404350000000001160436000e00000001001d0000000000210435000000400100043d00000bd90210009c00000f2d0000213d0000008002100039000000400020043f0000006002100039000000000002043500000040021000390000000000020435000000200210003900000000000204350000000000010435000000400100043d001500000001001d00000bd90110009c00000f2d0000213d00000015020000290000008001200039000000400010043f00000060012000390000000000010435000000400120003900000000000104350000002001200039000000000001043500000000000204350000000402000039000000000102041a001200000001001d000000000110004c0000000003000019000000000c000019001400000002001d00000c690000613d0000000a0100002900000b8b01100197001700000001001d0000000d0100002900000b8b01100197001600000001001d0000801001000039001100000001001d00000000030000190000000004000019001900000003001d000000000102041a001800000004001d000000000141004b00000f330000a13d000000000020043500000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bdd011001c700000011020000292e152e100000040f000000010220019000000f2b0000613d000000000101043b00000018020000290000000001210019000000000101041a00000bd002000041000000000020043900000b8b01100197001800000001001d000000040010044300000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bd1011001c700008002020000392e152e100000040f0000001806000029000000010220019000000f2b0000613d000000000101043b000000000110004c00000f2b0000613d000000400900043d00000be80100004100000000001904350000004402900039000000000100041400000017030000290000000000320435000000240290003900000016030000290000000000320435000000040290003900000013030000290000000000320435000000040260008c00000ac50000c13d000000010300003100000af70000013d00000b870200004100000b870310009c000000000102801900000b870390009c00000000020940190000004002200210000000c001100210000000000121019f00000be4011001c70000000002060019001000000009001d2e152e100000040f00000010090000290000000003010019000000600330027000000b8703300197000000200430008c00000020050000390000000005034019000000050450027200000ae30000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000746004b00000adb0000413d0000001f0550019000000af20000613d0000000504400210000000000641034f00000000044900190000000305500210000000000704043300000000075701cf000000000757022f000000000606043b0000010005500089000000000656022f00000000055601cf000000000575019f0000000000540435000100000003001f00030000000103550000000102200190000000180600002900000f5e0000613d0000001f01300039000000200d00008a0000000002d1016f0000000001920019000000000221004b0000000002000019000000010200403900000b890310009c00000f2d0000213d000000010220019000000f2d0000c13d000000400010043f00000b88020000410000000103000031000000200430008c0000000004000019000000000402401900000b8803300197000000000530004c000000000200a01900000b880330009c000000000204c019000000000220004c00000f2b0000c13d00000000020904330000001903000029000000000330004c00000b180000613d000000150300002900000060033000390000000003030433000000000332004b00000b260000a13d00000bd90310009c00000f2d0000213d0000008003100039000000400030043f000000600310003900000000002304350000004002100039000000170300002900000000003204350000002002100039000000160300002900000000003204350000000000610435001500000001001d0000001903000029000000ff0130008c000000140200002900000f390000613d0000000104300039000000ff0340018f0000001201000029000000000113004b00000a8d0000413d0000001501000029000000600e10003900000000010e0433000000000210004c0000000003000019000000000c00001900000c690000613d0000000b02000029000000000220004c00000b5a0000613d0000001501000029000000000101043300000bd002000041000000000020043900000b8b01100197001700000001001d000000040010044300000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bd1011001c7000080020200003900190000000d001d00180000000e001d2e152e100000040f000000180e000029000000190d000029000000010220019000000f2b0000613d000000000101043b000000000110004c00000f2b0000613d000000400900043d00000be901000041000000000019043500000000010004140000001702000029000000040320008c00000b5d0000c13d000000010300003100000b910000013d000000400300043d000000000c00001900000baa0000013d00000b870400004100000b870310009c000000000104801900000b870390009c000000000304001900000000030940190000004003300210000000c001100210000000000131019f00000bea011001c7001700000009001d2e152e100000040f00000017090000290000000003010019000000600330027000000b8703300197000000200430008c000000200500003900000000050340190000001f0450018f000000050550027200000b7c0000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b00000b740000413d000000000640004c000000190d00002900000b8c0000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f00030000000103550000000102200190000000180e00002900000f9c0000613d0000001f013000390000000001d1016f0000000003910019000000000113004b0000000001000019000000010100403900000b890230009c00000f2d0000213d000000010110019000000f2d0000c13d000000400030043f00000b88010000410000000102000031000000200420008c0000000004000019000000000401401900000b8802200197000000000520004c000000000100a01900000b880220009c000000000104c019000000000110004c00000f2b0000c13d00000000010e0433000000000c0904330000000f0200002900000000070204330000001502000029000000000202043300000b8b0420019700000beb0230009c00000f2d0000213d0000001502000029000000400220003900000000020204330000004005300039000000400050043f00000b8b022001970000002005300039000000000025043500000020020000390000000000230435000000400500043d00000020085000390000000006070433000000000960004c00000bcc0000613d0000000009000019000000000a8900190000002009900039000000000b790019000000000b0b04330000000000ba0435000000000a69004b00000bc10000413d000000000769004b00000bcc0000a13d000000000786001900000000000704350000000007030433000000000970004c00000bdc0000613d00000000086800190000000009000019000000000a8900190000002009900039000000000b390019000000000b0b04330000000000ba0435000000000a79004b00000bd10000413d000000000379004b00000bdc0000a13d00000000038700190000000000030435000000000367001900000000003504350000003f033000390000000006d3016f0000000003560019000000000663004b0000000006000019000000010600403900000b890730009c00000f2d0000213d000000010660019000000f2d0000c13d000000400030043f0000000f0300002900000000005304350000000e030000290000000007030433000000400500043d00000beb0350009c00000f2d0000213d0000004003500039000000400030043f000000200350003900000000004304350000000000250435000000400300043d00000020063000390000000004070433000000000840004c00000c060000613d000000000800001900000000096800190000002008800039000000000a780019000000000a0a04330000000000a90435000000000948004b00000bfb0000413d000000000748004b00000c060000a13d000000000764001900000000000704350000000007050433000000000870004c00000c160000613d0000000006460019000000000800001900000000096800190000002008800039000000000a580019000000000a0a04330000000000a90435000000000978004b00000c0b0000413d000000000578004b00000c160000a13d00000000056700190000000000050435000000000447001900000000004304350000003f044000390000000005d4016f0000000004350019000000000554004b0000000005000019000000010500403900000b890640009c00000f2d0000213d000000010550019000000f2d0000c13d000000400040043f0000000e0400002900000000003404350000000c030000290000000005030433000000400300043d00000beb0430009c00000f2d0000213d0000004004300039000000400040043f000000200430003900000000001404350000000000230435000000400100043d00000020041000390000000002050433000000000620004c00000c400000613d000000000600001900000000074600190000002006600039000000000856001900000000080804330000000000870435000000000726004b00000c350000413d000000000526004b00000c400000a13d000000000542001900000000000504350000000005030433000000000650004c00000c500000613d0000000004240019000000000600001900000000074600190000002006600039000000000836001900000000080804330000000000870435000000000756004b00000c450000413d000000000356004b00000c500000a13d00000000034500190000000000030435000000000225001900000000002104350000003f022000390000000003d2016f0000000002130019000000000332004b0000000003000019000000010300403900000b890420009c00000f2d0000213d000000010330019000000f2d0000c13d000000400020043f0000000c020000290000000000120435000000010100008a00000000021c013f00000009010000290000000001010433000000000221004b00000f390000213d0000000001c100190000000902000029000000000012043500000000030e0433000500000003001d00090000000c001d0000000801000029000000010110008c00000f290000a13d0000000801000029000000020110008a0000000402000029000000000202043300000000020204330000000502200270000000000112004b00000f290000213d0000000301000039000f00000001001d000000000101041a000e00000001001d000000000110004c00000f290000613d0000000d0100002900000b8b01100197001700000001001d0000801001000039000d00000001001d000000000200001900000c8c0000013d000000010100008a0000001002000029000000000112004b00000f390000613d000000100200002900000001022000390000000e01000029000000000112004b00000f290000813d0000000f01000029000000000101041a001000000002001d000000000121004b00000f330000a13d0000000f01000029000000000010043500000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bdd011001c70000000d020000292e152e100000040f000000010220019000000f2b0000613d000000000101043b00000010020000290000000001210019000000000101041a00000b8b011001970000001702000029000000000112004b00000c870000613d0000000f01000029000000000101041a0000001002000029000000000121004b00000f330000a13d0000000f01000029000000000010043500000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bdd011001c700008010020000392e152e100000040f000000010220019000000f2b0000613d000000000101043b00000010020000290000000001210019000000000101041a00000b8b01100197001600000001001d000000400100043d00000bd90210009c00000f2d0000213d0000008002100039000000400020043f0000006002100039000000000002043500000040021000390000000000020435000000200210003900000000000204350000000000010435000000400100043d001500000001001d00000bd90110009c00000f2d0000213d00000015020000290000008001200039000000400010043f00000060012000390000000000010435000000400120003900000000000104350000002001200039000000000001043500000000000204350000001402000029000000000102041a001200000001001d000000000110004c00000c870000613d00000000030000190000000004000019001900000003001d000000000102041a001800000004001d000000000141004b00000f330000a13d000000000020043500000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bdd011001c700008010020000392e152e100000040f000000010220019000000f2b0000613d000000000101043b00000018020000290000000001210019000000000101041a00000bd002000041000000000020043900000b8b01100197001800000001001d000000040010044300000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bd1011001c700008002020000392e152e100000040f0000001806000029000000010220019000000f2b0000613d000000000101043b000000000110004c00000f2b0000613d000000400900043d00000be80100004100000000001904350000004402900039000000000100041400000016030000290000000000320435000000240290003900000017030000290000000000320435000000040290003900000013030000290000000000320435000000040260008c00000d150000c13d000000010300003100000d470000013d00000b870200004100000b870310009c000000000102801900000b870390009c00000000020940190000004002200210000000c001100210000000000121019f00000be4011001c70000000002060019001100000009001d2e152e100000040f00000011090000290000000003010019000000600330027000000b8703300197000000200430008c00000020050000390000000005034019000000050450027200000d330000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000746004b00000d2b0000413d0000001f0550019000000d420000613d0000000504400210000000000641034f00000000044900190000000305500210000000000704043300000000075701cf000000000757022f000000000606043b0000010005500089000000000656022f00000000055601cf000000000575019f0000000000540435000100000003001f00030000000103550000000102200190000000180600002900000f3f0000613d0000001f01300039000000200c00008a0000000002c1016f0000000001920019000000000221004b0000000002000019000000010200403900000b890310009c00000f2d0000213d000000010220019000000f2d0000c13d000000400010043f00000b88020000410000000103000031000000200430008c0000000004000019000000000402401900000b8803300197000000000530004c000000000200a01900000b880330009c000000000204c019000000000220004c00000f2b0000c13d00000000020904330000001903000029000000000330004c00000d680000613d000000150300002900000060033000390000000003030433000000000332004b00000d760000a13d00000bd90310009c00000f2d0000213d0000008003100039000000400030043f000000600310003900000000002304350000004002100039000000160300002900000000003204350000002002100039000000170300002900000000003204350000000000610435001500000001001d0000001903000029000000ff0130008c000000140200002900000f390000613d0000000104300039000000ff0340018f0000001201000029000000000113004b00000cdd0000413d0000001501000029000000600e10003900000000010e0433000000000110004c00000c830000613d000000400100043d00000bd90210009c00000f2d0000213d0000008002100039000000400020043f00000040021000390000000703000029000000000032043500000020021000390000000000320435000000000031043500000060011000390000000000010435000000400d00043d00000bd901d0009c00000f2d0000213d000000040100002900000000010104330000000602000029000000000202043300000002030000290000000003030433000000030400002900000000040404330000008005d00039000000400050043f000000600fd0003900000000004f04350000004004d00039001900000004001d000000000034043500000000022d0436001800000002001d00000000001204350000000b01000029000000000110004c00160000000d001d00000dce0000613d0000001501000029000000000101043300000bd002000041000000000020043900000b8b01100197000100000001001d000000040010044300000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bd1011001c7000080020200003900120000000c001d00110000000e001d00090000000f001d2e152e100000040f000000090f000029000000110e000029000000160d000029000000120c000029000000010220019000000f2b0000613d000000000101043b000000000110004c00000f2b0000613d000000400900043d00000be901000041000000000019043500000000010004140000000102000029000000040320008c00000dd00000c13d000000010300003100000e050000013d000000400300043d00000e1e0000013d00000b870400004100000b870310009c000000000104801900000b870390009c000000000304001900000000030940190000004003300210000000c001100210000000000131019f00000bea011001c7000100000009001d2e152e100000040f00000001090000290000000003010019000000600330027000000b8703300197000000200430008c00000020050000390000000005034019000000050450027200000dee0000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000746004b00000de60000413d0000001f05500190000000120c000029000000110e000029000000090f00002900000e000000613d0000000504400210000000000641034f00000000044900190000000305500210000000000704043300000000075701cf000000000757022f000000000606043b0000010005500089000000000656022f00000000055601cf000000000575019f0000000000540435000100000003001f00030000000103550000000102200190000000160d00002900000f7d0000613d0000001f013000390000000001c1016f0000000003910019000000000113004b0000000001000019000000010100403900000b890230009c00000f2d0000213d000000010110019000000f2d0000c13d000000400030043f00000b88010000410000000102000031000000200420008c0000000004000019000000000401401900000b8802200197000000000520004c000000000100a01900000b880220009c000000000104c019000000000110004c00000f2b0000c13d0000000001090433000900000001001d0000001901000029000000000701043300000000010e04330000001502000029000000000202043300000b8b0420019700000beb0230009c00000f2d0000213d0000001502000029000000400220003900000000020204330000004005300039000000400050043f00000b8b022001970000002005300039000000000025043500000020020000390000000000230435000000400500043d00000020085000390000000006070433000000000960004c00000e410000613d0000000009000019000000000a8900190000002009900039000000000b790019000000000b0b04330000000000ba0435000000000a69004b00000e360000413d000000000769004b00000e410000a13d000000000786001900000000000704350000000007030433000000000970004c00000e510000613d00000000086800190000000009000019000000000a8900190000002009900039000000000b390019000000000b0b04330000000000ba0435000000000a79004b00000e460000413d000000000379004b00000e510000a13d00000000038700190000000000030435000000000367001900000000003504350000003f033000390000000006c3016f0000000003560019000000000663004b0000000006000019000000010600403900000b890730009c00000f2d0000213d000000010660019000000f2d0000c13d000000400030043f0000001903000029000000000053043500000018030000290000000007030433000000400500043d00000beb0350009c00000f2d0000213d0000004003500039000000400030043f000000200350003900000000004304350000000000250435000000400300043d00000020063000390000000004070433000000000840004c00000e7b0000613d000000000800001900000000096800190000002008800039000000000a780019000000000a0a04330000000000a90435000000000948004b00000e700000413d000000000748004b00000e7b0000a13d000000000764001900000000000704350000000007050433000000000870004c00000e8b0000613d0000000006460019000000000800001900000000096800190000002008800039000000000a580019000000000a0a04330000000000a90435000000000978004b00000e800000413d000000000578004b00000e8b0000a13d00000000056700190000000000050435000000000447001900000000004304350000003f044000390000000005c4016f0000000004350019000000000554004b0000000005000019000000010500403900000b890640009c00000f2d0000213d000000010550019000000f2d0000c13d000000400040043f0000001804000029000000000034043500000000050d0433000000400300043d00000beb0430009c00000f2d0000213d0000004004300039000000400040043f000000200430003900000000001404350000000000230435000000400100043d00000020041000390000000002050433000000000620004c00000eb40000613d000000000600001900000000074600190000002006600039000000000856001900000000080804330000000000870435000000000726004b00000ea90000413d000000000526004b00000eb40000a13d000000000542001900000000000504350000000005030433000000000650004c00000ec40000613d0000000004240019000000000600001900000000074600190000002006600039000000000836001900000000080804330000000000870435000000000756004b00000eb90000413d000000000356004b00000ec40000a13d00000000034500190000000000030435000000000225001900000000002104350000003f022000390000000003c2016f0000000002130019000000000332004b0000000003000019000000010300403900000b890420009c00000f2d0000213d000000010330019000000f2d0000c13d000000400020043f00000000001d0435000000010200008a0000000901000029001800000002001d000000000221013f00000000010f0433000000000221004b00000f390000213d0000000902000029000000000121001900000000001f043500000000010e0433001900000001001d0000000f01000029000000000101041a0000001002000029000000000121004b00000f330000a13d0000000f01000029000000000010043500000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bdd011001c700008010020000392e152e100000040f0000000102200190000000160500002900000f2b0000613d000000000101043b00000010020000290000000001210019000000000101041a00000b8b0210019700000019010000290000000a0300002900000008040000290000000b060000292e150a250000040f000000400210003900000000020204330000000003020433000000000223001900000000020204330000000a04000029000000000442013f00000000020104330000000002320019000000000202043300000b8b0340019800000c870000c13d0000000503000029000000000332004b00000c870000a13d0000000c030000290000006003300039000000000303043300000060041000390000000004040433000000000534004b00000f260000a13d00000000033400490000000b05000029000000000450004c00000f1c0000613d000000180400002900000000545400d9000000000434004b00000f390000413d0000000504000029000000000442004b00000f1f0000813d00000f390000013d0000000504000029000000000442004b00000f390000413d000000050400002900000000044200490000000b0500002900000000535300a900000bec5330012a000000000343004b00000c870000213d000500000002001d000c00000001001d00000c870000013d0000000c01000029000000000001042d000000000100001900002e170001043000000b8d0100004100000000001004350000004101000039000000040010043f00000b8e0100004100002e170001043000000b8d0100004100000000001004350000003201000039000000040010043f00000b8e0100004100002e170001043000000b8d0100004100000000001004350000001101000039000000040010043f00000b8e0100004100002e17000104300000001f0430018f000000050230027200000f4a0000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b00000f430000413d000000000340004c00000f580000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000b8701000041000000010200003100000b870320009c0000000001024019000000600110021000002e17000104300000001f0430018f000000050230027200000f690000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b00000f620000413d000000000340004c00000f770000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000b8701000041000000010200003100000b870320009c0000000001024019000000600110021000002e17000104300000001f0430018f000000050230027200000f880000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b00000f810000413d000000000340004c00000f960000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000b8701000041000000010200003100000b870320009c0000000001024019000000600110021000002e17000104300000001f0430018f000000050230027200000fa70000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b00000fa00000413d000000000340004c00000fb50000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000b8701000041000000010200003100000b870320009c0000000001024019000000600110021000002e1700010430000f000000000002000100000003001d000000000b0200190000001f0200008a0000000005120049000f00000001001d00000040021000390000000201000367000a00000002001d000000000221034f000000000202043b0000000003000031000b00000005001d000000000553001900000b8806000041000000000752004b0000000007000019000000000706401900000b880550019700000b8808200197000000000958004b000000000600a019000000000558013f00000b880550009c00000000050700190000000005066019000000000550004c000014b00000613d0000000f050000290000000005520019000000000151034f000000000101043b00000b890210009c000014b00000213d00000005021002100000000003230049000000200550003900000b8806000041000000000735004b0000000007000019000000000706201900000b880330019700000b8805500197000000000835004b0000000006008019000000000335013f00000b880330009c00000000030700190000000003066019000000000330004c000014b00000c13d0000003f03200039000000200500008a000800000005001d000000000353016f000000400500043d0000000003350019000e00000005001d000000000553004b0000000005000019000000010500403900000b890630009c000015130000213d0000000105500190000015130000c13d000000400030043f0000000e03000029000000000c1304360000001f0120018f0000000003000031000000020330036700000005022002720000100d0000613d0000000005000019000000050650021000000000076c0019000000000663034f000000000606043b00000000006704350000000105500039000000000625004b000010050000413d000000000510004c0000101c0000613d0000000502200210000000000323034f00000000022c00190000000301100210000000000502043300000000051501cf000000000515022f000000000303043b0000010001100089000000000313022f00000000011301cf000000000151019f0000000000120435000000000140004c000000000d000410000d0000000c001d000010240000c13d0000000101000039000000000101041a000000000110004c000011630000613d0000000f010000290000000201100367000000000101043b0000000e020000290000000002020433000000000220004c0000150d0000613d0000000102000039000000000202041a000000000242004b000015980000213d000027110240008c000015570000813d0000271002400089000000000310004c000010380000613d000000010300008a00000000431300d9000000000323004b000015570000413d00000000322100a9000027102320011a00000000003c043500000000040000310000000b02000029000000000624001900000002020003670000000a05000029000000000552034f000000000505043b00000b8807000041000000000865004b0000000008000019000000000807801900000b880660019700000b8809500197000000000a69004b0000000007008019000000000669013f00000b880660009c00000000060800190000000006076019000000000660004c000014b00000c13d0000000f060000290000000006650019000000000562034f000000000505043b00000b890750009c000014b00000213d00000005075002100000000007740049000000200460003900000b8806000041000000000874004b0000000008000019000000000806201900000b880770019700000b8809400197000000000a79004b0000000006008019000000000779013f00000b880770009c000000000608c019000000000660004c000014b00000c13d000000000550004c0000150d0000613d000000000242034f000000000202043b00000b8b0420009c000014b00000213d0000000204000039000000000404041a00000b8b044001970000000e050000290000000005050433000000000550004c0000150d0000613d000000000531004b000015570000413d0000000005310049000000400100043d000000200310003900000b8b06b001970000000007d6004b0000108d0000c13d00000bef06000041000000000063043500000044061000390000000000560435000000240510003900000000004504350000004404000039000000000041043500000bd90410009c000015130000213d0000008004100039000000400040043f0000000004000414000000040520008c000010a10000c13d00000001030000310000000002000019000010ba0000013d00000bed0700004100000000007304350000006407100039000000000057043500000044051000390000000000450435000000240410003900000000006404350000006404000039000000000041043500000bee0410009c000015130000213d000000a004100039000000400040043f0000000004000414000000040520008c000011020000c13d000000010300003100000000020000190000111b0000013d00000b870500004100000b870630009c00000000030580190000004003300210000000000101043300000b870610009c00000000010580190000006001100210000000000131019f00000b870340009c00000000030500190000000003044019000000c003300210000000000131019f000c0000000b001d00090000000d001d2e152e0b0000040f000000090d0000290000000c0b0000290000000d0c000029000000010220015f0003000000010355000000600110027000010b870010019d00000b87031001970000006001000039000000000430004c000010e80000613d0000003f013000390000000804000029000000000441016f000000400100043d0000000004410019000000000514004b0000000005000019000000010500403900000b890640009c000015130000213d0000000105500190000015130000c13d000000400040043f0000000003310436000000030400036700000001060000310000001f0560018f0000000506600272000010d90000613d000000000700001900000005087002100000000009830019000000000884034f000000000808043b00000000008904350000000107700039000000000867004b000010d10000413d000000000750004c000010e80000613d0000000506600210000000000464034f00000000036300190000000305500210000000000603043300000000065601cf000000000656022f000000000404043b0000010005500089000000000454022f00000000045401cf000000000464019f000000000043043500000001022001900000155d0000c13d0000000012010434000000000320004c0000116b0000613d00000b8803000041000000200420008c0000000004000019000000000403401900000b8802200197000000000520004c000000000300a01900000b880220009c00000000020400190000000002036019000000000220004c000014b00000c13d0000000001010433000000000210004c0000000002000019000000010200c039000000000221004b000014b00000c13d000000000110004c0000116b0000c13d0000156e0000013d00000b870500004100000b870630009c00000000030580190000004003300210000000000101043300000b870610009c00000000010580190000006001100210000000000131019f00000b870340009c00000000030500190000000003044019000000c003300210000000000131019f000c0000000b001d00090000000d001d2e152e0b0000040f000000090d0000290000000c0b0000290000000d0c000029000000010220015f0003000000010355000000600110027000010b870010019d00000b87031001970000006001000039000000000430004c000011490000613d0000003f013000390000000804000029000000000441016f000000400100043d0000000004410019000000000514004b0000000005000019000000010500403900000b890640009c000015130000213d0000000105500190000015130000c13d000000400040043f0000000003310436000000030400036700000001060000310000001f0560018f00000005066002720000113a0000613d000000000700001900000005087002100000000009830019000000000884034f000000000808043b00000000008904350000000107700039000000000867004b000011320000413d000000000750004c000011490000613d0000000506600210000000000464034f00000000036300190000000305500210000000000603043300000000065601cf000000000656022f000000000404043b0000010005500089000000000454022f00000000045401cf000000000464019f000000000043043500000001022001900000155d0000c13d0000000012010434000000000320004c0000116b0000613d00000b8803000041000000200420008c0000000004000019000000000403401900000b8802200197000000000520004c000000000300a01900000b880220009c00000000020400190000000002036019000000000220004c000014b00000c13d0000000001010433000000000210004c0000000002000019000000010200c039000000000221004b000014b00000c13d000000000110004c0000116b0000c13d0000156e0000013d0000000e010000290000000001010433000000000110004c0000150d0000613d0000000f010000290000000201100367000000000101043b00000000001c043500000002010003670000000a02000029000000000221034f000000000202043b00000000030000310000000b04000029000000000443001900000b880540019700000b880620019700000b8807000041000000000856004b00000000080000190000000008074019000000000556013f000000000642004b0000000006000019000000000607801900000b880550009c00000000050600190000000005086019000000000550004c000014b00000c13d0000000f050000290000000005520019000000000251034f000000000202043b00000b890620009c000014b00000213d00000005062002100000000006630049000000200550003900000b8807000041000000000865004b0000000008000019000000000807201900000b880660019700000b8809500197000000000a69004b0000000007008019000000000669013f00000b880660009c00000000060800190000000006076019000000000660004c000014b00000c13d000000000220004c0000150d0000613d000000000251034f000000000202043b00000b8b0520009c000014b00000213d0000000f050000290000006005500039000900000005001d000000000551034f000000000505043b00000b8806000041000000000745004b0000000007000019000000000706801900000b880440019700000b8808500197000000000948004b0000000006008019000000000448013f00000b880440009c00000000040700190000000004066019000000000440004c000014b00000c13d0000000f040000290000000005450019000000000451034f000000000404043b00000b890640009c000014b00000213d00000005064002100000000006630049000000200350003900000b8805000041000000000763004b0000000007000019000000000705201900000b880660019700000b8808300197000000000968004b0000000005008019000000000668013f00000b880660009c000000000507c019000000000550004c000014b00000c13d000000000440004c0000150d0000613d000000000131034f000000000401043b00000b8b0140009c000014b00000213d0000000e010000290000000001010433000000000110004c0000150d0000613d000000400100043d000000200310003900000000050c043300000b8b06b001970000000007d6004b000011e90000c13d00000bef06000041000000000063043500000044061000390000000000560435000000240510003900000000004504350000004404000039000000000041043500000bd90410009c000015130000213d0000008004100039000000400040043f0000000004000414000000040520008c000011fd0000c13d00000001030000310000000002000019000012120000013d00000bed0700004100000000007304350000006407100039000000000057043500000044051000390000000000450435000000240410003900000000006404350000006404000039000000000041043500000bee0410009c000015130000213d000000a004100039000000400040043f0000000004000414000000040520008c0000125a0000c13d000000010300003100000000020000190000126f0000013d00000b870500004100000b870630009c00000000030580190000004003300210000000000101043300000b870610009c00000000010580190000006001100210000000000131019f00000b870340009c00000000030500190000000003044019000000c003300210000000000131019f2e152e0b0000040f0000000d0c000029000000010220015f0003000000010355000000600110027000010b870010019d00000b87031001970000006001000039000000000430004c000012400000613d0000003f013000390000000804000029000000000441016f000000400100043d0000000004410019000000000514004b0000000005000019000000010500403900000b890640009c000015130000213d0000000105500190000015130000c13d000000400040043f0000000003310436000000030400036700000001060000310000001f0560018f0000000506600272000012310000613d000000000700001900000005087002100000000009830019000000000884034f000000000808043b00000000008904350000000107700039000000000867004b000012290000413d000000000750004c000012400000613d0000000506600210000000000464034f00000000036300190000000305500210000000000603043300000000065601cf000000000656022f000000000404043b0000010005500089000000000454022f00000000045401cf000000000464019f000000000043043500000001022001900000155d0000c13d0000000012010434000000000320004c000012b60000613d00000b8803000041000000200420008c0000000004000019000000000403401900000b8802200197000000000520004c000000000300a01900000b880220009c00000000020400190000000002036019000000000220004c000014b00000c13d0000000001010433000000000210004c0000000002000019000000010200c039000000000221004b000014b00000c13d000000000110004c000012b60000c13d0000156e0000013d00000b870500004100000b870630009c00000000030580190000004003300210000000000101043300000b870610009c00000000010580190000006001100210000000000131019f00000b870340009c00000000030500190000000003044019000000c003300210000000000131019f2e152e0b0000040f0000000d0c000029000000010220015f0003000000010355000000600110027000010b870010019d00000b87031001970000006001000039000000000430004c0000129d0000613d0000003f013000390000000804000029000000000441016f000000400100043d0000000004410019000000000514004b0000000005000019000000010500403900000b890640009c000015130000213d0000000105500190000015130000c13d000000400040043f0000000003310436000000030400036700000001060000310000001f0560018f00000005066002720000128e0000613d000000000700001900000005087002100000000009830019000000000884034f000000000808043b00000000008904350000000107700039000000000867004b000012860000413d000000000750004c0000129d0000613d0000000506600210000000000464034f00000000036300190000000305500210000000000603043300000000065601cf000000000656022f000000000404043b0000010005500089000000000454022f00000000045401cf000000000464019f000000000043043500000001022001900000155d0000c13d0000000012010434000000000320004c000012b60000613d00000b8803000041000000200420008c0000000004000019000000000403401900000b8802200197000000000520004c000000000300a01900000b880220009c00000000020400190000000002036019000000000220004c000014b00000c13d0000000001010433000000000210004c0000000002000019000000010200c039000000000221004b000014b00000c13d000000000110004c0000156e0000613d00000002010003670000000902000029000000000221034f000000000402043b00000000020000310000000b03000029000000000332001900000b880530019700000b880640019700000b8807000041000000000856004b00000000080000190000000008074019000000000556013f000000000634004b0000000006000019000000000607801900000b880550009c00000000050600190000000005086019000000000550004c000014b00000c13d000000000b0000190000000f050000290000000005540019000000000451034f000000000404043b00000b890640009c000014b00000213d00000005064002100000000006620049000000200550003900000b8807000041000000000865004b0000000008000019000000000807201900000b880660019700000b8809500197000000000a69004b0000000007008019000000000669013f00000b880660009c00000000060800190000000006076019000000000660004c000014b00000c13d00000000044b004b000013bd0000813d0000000504b002100000000005450019000000000551034f000000000a05043b00000b8b05a0009c000014b00000213d0000000e0500002900000000050504330000000005b5004b0000150d0000a13d0000000a05000029000000000551034f000000000505043b00000b8806000041000000000735004b0000000007000019000000000706801900000b880330019700000b8808500197000000000938004b0000000006008019000000000338013f00000b880330009c00000000030700190000000003066019000000000330004c000014b00000c13d0000000003c40019000000000c0304330000000f030000290000000005350019000000000351034f000000000303043b00000b890630009c000014b00000213d00000005063002100000000006620049000000200250003900000b8805000041000000000762004b0000000007000019000000000705201900000b880660019700000b8808200197000000000968004b0000000005008019000000000668013f00000b880660009c000000000507c019000000000550004c000014b00000c13d00000000053b004b0000150d0000813d0000000004420019000000000441034f000000000504043b00000b8b0450009c000014b00000213d000000010bb0003900000000033b004b0000150d0000813d0000000503b00210000300000003001d0000000002320019000000000121034f000000000101043b000400000001001d00000b8b0110009c000014b00000213d00000bd00100004100000000001004390000000400a0044300000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bd1011001c70000800202000039000c0000000b001d00070000000a001d00060000000c001d000500000005001d2e152e100000040f0000000505000029000000060300002900000007040000290000000c0b0000290000000d0c0000290000000102200190000014b00000613d000000000101043b000000000110004c000014b00000613d000000400900043d00000be801000041000000000019043500000044029000390000000001000414000000040600002900000000006204350000002402900039000000000052043500000004029000390000000000320435000000040240008c000013530000c13d0000000103000031000013860000013d00000b870200004100000b870310009c000000000102801900000b870390009c00000000020940190000004002200210000000c001100210000000000121019f00000be4011001c70000000002040019000700000009001d2e152e100000040f00000007090000290000000003010019000000600330027000000b8703300197000000200430008c000000200500003900000000050340190000000504500272000013710000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000746004b000013690000413d0000001f05500190000013800000613d0000000504400210000000000641034f00000000044900190000000305500210000000000704043300000000075701cf000000000757022f000000000606043b0000010005500089000000000656022f00000000055601cf000000000575019f0000000000540435000100000003001f000300000001035500000001022001900000000d0c0000290000000c0b000029000015190000613d0000001f013000390000000802000029000000000221016f0000000001920019000000000221004b0000000002000019000000010200403900000b890310009c000015130000213d0000000102200190000015130000c13d000000400010043f00000b88010000410000000102000031000000200320008c0000000003000019000000000301401900000b8802200197000000000420004c000000000100a01900000b880220009c000000000103c019000000000110004c000014b00000c13d0000000e0100002900000000010104330000000001b1004b0000150d0000a13d00000003010000290000000001c100190000000002090433000000000021043500000002010003670000000902000029000000000221034f000000000402043b00000000020000310000000b03000029000000000332001900000b880530019700000b880640019700000b8807000041000000000856004b00000000080000190000000008072019000000000556013f000000000634004b0000000006000019000000000607401900000b880550009c00000000050600190000000005086019000000000550004c000012cd0000c13d000014b00000013d0000000e020000290000000002020433000000000320004c000015570000613d00000005022002100000000e0300002900000000023200190000000f030000290000002003300039000000000131034f000000000101043b0000000002020433000000000112004b000015830000413d000000000200001900000002010003670000000903000029000000000331034f000000000503043b00000000030000310000000b04000029000000000443001900000b880640019700000b880750019700000b8808000041000000000967004b00000000090000190000000009084019000000000667013f000000000745004b0000000007000019000000000708801900000b880660009c00000000060700190000000006096019000000000660004c000014b00000c13d0000000f060000290000000006650019000000000561034f000000000505043b00000b890750009c000014b00000213d00000005075002100000000007730049000000200660003900000b8808000041000000000976004b0000000009000019000000000908201900000b880770019700000b880a600197000000000b7a004b000000000800801900000000077a013f00000b880770009c00000000070900190000000007086019000000000770004c000014b00000c13d000000000752004b000014b20000813d000000010750008a000000000772004b000000010f000029000014080000813d0000000107200039000000000557004b0000150d0000813d00000005057002100000000005560019000000000551034f000000000f05043b00000b8b05f0009c000014b00000213d00000005052002100000000006560019000000000661034f000000000e06043b00000b8b06e0009c000014b00000213d0000000e060000290000000006060433000000000726004b0000150d0000a13d000000010d2000390000000006d6004b0000150d0000a13d0000000006c500190000000006060433000700000006001d0000000a06000029000000000661034f000000000606043b00000b8807000041000000000846004b0000000008000019000000000807801900000b880440019700000b8809600197000000000a49004b0000000007008019000000000449013f00000b880440009c00000000040800190000000004076019000000000440004c000014b00000c13d0000000504d002100000000007c400190000000007070433000600000007001d0000000f070000290000000007760019000000000671034f000000000606043b00000b890860009c000014b00000213d00000005086002100000000008830049000000200370003900000b8807000041000000000983004b0000000009000019000000000907201900000b880880019700000b880a300197000000000b8a004b000000000700801900000000088a013f00000b880880009c000000000709c019000000000770004c000014b00000c13d000000000262004b0000150d0000813d0000000002530019000000000221034f000000000502043b00000b8b0250009c000014b00000213d00000000026d004b0000150d0000813d0000000002430019000000000121034f000000000101043b000200000001001d00000b8b0110009c000014b00000213d00000bd00100004100000000001004390000000400e0044300000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bd1011001c70000800202000039000c0000000d001d00050000000e001d00040000000f001d000300000005001d2e152e100000040f0000000306000029000000040300002900000005040000290000000c050000290000000d0c0000290000000102200190000014b00000613d000000000101043b000000000110004c000014b00000613d000000400700043d00000bf201000041000000000017043500000b8b0230019700000084037000390000000001000414000000000023043500000064027000390000000203000029000000000032043500000044027000390000000000620435000000240270003900000006030000290000000000320435000000040270003900000007030000290000000000320435000000040240008c000014810000c13d0000000104000031000014970000013d00000b870200004100000b870310009c000000000102801900000b870370009c00000000020740190000004002200210000000c001100210000000000121019f00000bf3011001c70000000002040019000700000007001d2e152e0b0000040f00000007070000290000000c050000290000000d0c0000290000000003010019000000600330027000010b870030019d00000b870430019700030000000103550000000102200190000015380000613d0000001f014000390000000802000029000000000221016f0000000001720019000000000221004b0000000002000019000000010200403900000b890310009c000015130000213d0000000102200190000015130000c13d000000400010043f00000b88010000410000000102000031000000000320004c0000000003000019000000000301401900000b8802200197000000000420004c000000000100a01900000b880220009c000000000103c019000000000110004c0000000002050019000013cc0000613d000000000100001900002e17000104300000000a02000029000000000221034f000000000202043b00000b8805000041000000000642004b0000000006000019000000000605801900000b880440019700000b8807200197000000000847004b0000000005008019000000000447013f00000b880440009c00000000040600190000000004056019000000000440004c000014b00000c13d0000000f040000290000000002420019000000000421034f000000000504043b00000b890450009c000014b00000213d00000005045002100000000006430049000000200320003900000b8807000041000000000863004b0000000008000019000000000807201900000b880660019700000b8809300197000000000a69004b0000000007008019000000000669013f00000b880660009c00000000060800190000000006076019000000000660004c000014b00000c13d000000000550004c0000150d0000613d000000000331034f000000000503043b00000b8b0350009c000014b00000213d0000000002240019000000000221034f000000000602043b00000b8b0260009c000014b00000213d0000000e020000290000000002020433000000000320004c000015570000613d00000005022002100000000e0300002900000000023200190000000f03000029000000000131034f000000000101043b0000000002020433000000400300043d00000020043000390000000000240435000000000013043500000b8701000041000000000200041400000b870420009c000000000201801900000b870430009c00000000010340190000004001100210000000c002200210000000000112019f00000bcd011001c70000800d02000039000000030300003900000bf1040000412e152e0b0000040f0000000101200190000014b00000613d0000000e010000290000000001010433000000000210004c000015570000613d00000005011002100000000e0200002900000000012100190000000001010433000000000001042d00000b8d0100004100000000001004350000003201000039000000040010043f00000b8e0100004100002e170001043000000b8d0100004100000000001004350000004101000039000000040010043f00000b8e0100004100002e17000104300000001f0430018f0000000502300272000015240000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b0000151d0000413d000000000340004c000015320000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000b8701000041000000010200003100000b870320009c0000000001024019000000600110021000002e17000104300000001f0340018f0000000502400272000015430000613d00000000040000190000000505400210000000000651034f000000000606043b00000000006504350000000104400039000000000524004b0000153c0000413d000000000430004c000015510000613d00000003033002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000b8701000041000000010200003100000b870320009c0000000001024019000000600110021000002e170001043000000b8d0100004100000000001004350000001101000039000000040010043f00000b8e0100004100002e1700010430000000400100043d000000440210003900000be303000041000000000032043500000bd60200004100000000002104350000002402100039000000200300003900000000003204350000000402100039000000000032043500000b870200004100000b870310009c0000000001028019000000400110021000000be4011001c700002e1700010430000000400100043d000000640210003900000bda030000410000000000320435000000440210003900000bdb03000041000000000032043500000024021000390000002a03000039000000000032043500000bd602000041000000000021043500000004021000390000002003000039000000000032043500000b870200004100000b870310009c0000000001028019000000400110021000000bd7011001c700002e1700010430000000400100043d000000640210003900000bf4030000410000000000320435000000440210003900000bf503000041000000000032043500000024021000390000002503000039000000000032043500000bd602000041000000000021043500000004021000390000002003000039000000000032043500000b870200004100000b870310009c0000000001028019000000400110021000000bd7011001c700002e1700010430000000400100043d000000440210003900000bf003000041000000000032043500000024021000390000001b03000039000000000032043500000bd602000041000000000021043500000004021000390000002003000039000000000032043500000b870200004100000b870310009c0000000001028019000000400110021000000be4011001c700002e17000104300003000000000002000300000001001d00000bc5010000410000000000100435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000016340000613d000000000101043b0000000101100039000000000101041a000100000001001d0000000000100435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000016340000613d000000000101043b0000000002000411000200000002001d00000b8b022001970000000000200435000000200010043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000016340000613d000000000101043b000000000101041a000000ff01100190000016360000613d00000bc5010000410000000000100435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000016340000613d000000000101043b000000030200002900000b8b02200197000100000002001d0000000000200435000000200010043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000016340000613d000000000101043b000000000101041a000000ff01100190000016330000c13d00000bc5010000410000000000100435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000016340000613d000000000101043b00000001020000290000000000200435000000200010043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000016340000613d000000000101043b000000000201041a000001000300008a000000000232016f00000001022001bf000000000021041b000000400100043d00000b8702000041000000000300041400000b870430009c000000000302801900000b870410009c00000000010280190000004001100210000000c002300210000000000112019f00000bce011001c70000800d02000039000000040300003900000bcf0400004100000bc505000041000000030600002900000002070000292e152e0b0000040f0000000101200190000016340000613d000000000001042d000000000100001900002e1700010430000000400100043d000000000701001900000bf60110009c000016400000413d00000b8d0100004100000000001004350000004101000039000000040010043f00000b8e0100004100002e170001043000000000020700190000006001200039000000400010043f0000002a01000039000000000112043600000000020000310000000202200367000000000300001900000005043002100000000005410019000000000442034f000000000404043b00000000004504350000000103300039000000020430008c000016480000413d0000000002070433000000000220004c0000165a0000613d000000000201043300000bf70220019700000bf8022001c700000000002104350000000002070433000000020220008c000016600000813d00000b8d0100004100000000001004350000003201000039000000040010043f00000b8e0100004100002e17000104300000002102700039000000000302043300000bf70330019700000bf9033001c700000000003204350000002902000039000000020500002900000000030500190000000004070433000000000424004b0000165a0000a13d0000000f0430018f0000000304400210000000f80440015f00000bfa05000041000000000445022f0000000005120019000000000605043300000bf706600197000000f804400210000000000446019f00000000004504350000000405300270000000010220008a000000010420008c000016670000213d000000100130008c00000000010000190000000101004039000200000007001d2e152df70000040f00000001010000292e1524d00000040f000000400400043d000300000004001d000000200240003900000bfb030000410000000000320435000100000001001d000000370240003900000002010000292e15098c0000040f00000bfc020000410000000000210435000000110210003900000001010000292e15098c0000040f00000003030000290000000002310049000000200120008a000000000013043500000000010300192e150a120000040f00000bd601000041000000400200043d000200000002001d0000000000120435000000040120003900000003020000292e15099d0000040f0000000204000029000000000141004900000b870200004100000b870310009c000000000102801900000b870340009c000000000204401900000040022002100000006001100210000000000121019f00002e17000104300008000000000002000500000005001d000400000003001d000600000002001d000700000001001d000000400100043d00000be70210009c0000196d0000813d0000008002100039000000400020043f00000040021000390000006007000039000000000072043500000020021000390000000000720435000000000071043500000060011000390000000000010435000000400500043d000000050140008a000000050200008a000000000121004b000019730000a13d00000bd90150009c0000196d0000213d0000008001500039000000400010043f0000002001500039000000000071043500000040015000390000000000710435000000000075043500000060025000390000000000020435000000400200043d00000beb0320009c0000196d0000213d0000004003200039000000400030043f000000200320003900000007060000290000000000630435000000200800003900000000008204350000000000250435000000400200043d00000beb0320009c0000196d0000213d0000004003200039000000400030043f000000200320003900000006060000290000000000630435000000000082043500000000002104350000000501000029000000000110004c0000000006000019000800000007001d000018520000613d000300000008001d000100000005001d000200000004001d00000bc701000041000000000010043900000000010004120000000400100443000000240000044300000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bfd011001c700008005020000392e152e100000040f0000000102200190000019840000613d000000000201043b000000400100043d00000bd90310009c000000080400002900000003070000290000196d0000213d0000008003100039000000400030043f0000004003100039000000000043043500000020031000390000000000430435000000000041043500000060011000390000000000010435000000400500043d00000bd90150009c0000196d0000213d0000008001500039000000400010043f0000002001500039000000000041043500000040015000390000000000410435000000000045043500000060035000390000000000030435000000400300043d00000beb0430009c0000196d0000213d0000004004300039000000400040043f000000200430003900000bfe06000041000000000064043500000000007304350000000000350435000000400300043d00000beb0430009c0000196d0000213d0000004004300039000000400040043f000000200430003900000000002404350000000000730435000000000031043500000bfe010000410000000204000039000000040300002900000000060000192e150a250000040f00000002040000290000000806000029000000200f10003900000000020f04330000000002020433000000000220004c000300000001001d0000004003100039000017400000c13d000000400200043d00000bff0520009c0000196d0000213d0000002005200039000000400050043f000000000002043500000003010000290000000000210435000000400200043d00000bff0520009c0000196d0000213d0000002005200039000000400050043f00000000000204350000000000230435000000400200043d00000bd90520009c0000196d0000213d0000008005200039000000400050043f000000400520003900000000006504350000002005200039000000000065043500000000006204350000006002200039000000000002043500000003010000290000000006010433000000007806043400000c000280009c0000196d0000213d000000200100008a000000000b18016f0000003f02b00039000000000912016f000000400200043d0000000009920019000000000a29004b000000000a000019000000010a00403900000b890c90009c0000196d0000213d000000010aa001900000196d0000c13d0000000508800270000000400090043f00000000088204360000001f09b0018f000000000a000031000000020aa00367000000050bb002720000176f0000613d000000000c000019000000050dc00210000000000ed80019000000000dda034f000000000d0d043b0000000000de0435000000010cc00039000000000dbc004b000017670000413d000000000c90004c0000177e0000613d000000050bb00210000000000aba034f000000000bb800190000000309900210000000000c0b0433000000000c9c01cf000000000c9c022f000000000a0a043b0000010009900089000000000a9a022f00000000099a01cf0000000009c9019f00000000009b04350000000009060433000000200990008c000017970000413d0000000009020433000000000990004c000019670000613d000000000907043300000000009804350000000009060433000000400990008c000017970000413d0000000109000039000000000a020433000000000a9a004b000019670000a13d000000050a900210000000000b8a0019000000000a7a0019000000000a0a04330000000000ab04350000000109900039000000000a060433000000050aa00270000000000aa9004b0000178a0000413d00000000060f0433000000007806043400000c000980009c0000196d0000213d000000000b18016f0000003f09b00039000000000919016f000000400f00043d00000000099f0019000000000af9004b000000000a000019000000010a00403900000b890c90009c0000196d0000213d000000010aa001900000196d0000c13d0000000508800270000000400090043f00000000088f04360000001f09b0018f000000000a000031000000020aa00367000000050bb00272000017b80000613d000000000c000019000000050dc00210000000000ed80019000000000dda034f000000000d0d043b0000000000de0435000000010cc00039000000000dbc004b000017b00000413d000000000c90004c000017c70000613d000000050bb00210000000000aba034f000000000bb800190000000309900210000000000c0b0433000000000c9c01cf000000000c9c022f000000000a0a043b0000010009900089000000000a9a022f00000000099a01cf0000000009c9019f00000000009b04350000000009060433000000200990008c0000000105000029000017e30000413d00000000090f0433000000000990004c000019670000613d000000000907043300000b8b0990019700000000009804350000000009060433000000400990008c000017e30000413d0000000109000039000000000a0f0433000000000a9a004b000019670000a13d000000050a900210000000000b8a0019000000000a7a0019000000000a0a043300000b8b0aa001970000000000ab04350000000109900039000000000a060433000000050aa00270000000000aa9004b000017d50000413d0000000006030433000000007806043400000c000380009c0000196d0000213d000000000a18016f0000003f03a00039000000000113016f000000400300043d0000000001130019000000000931004b0000000009000019000000010900403900000b890b10009c0000196d0000213d00000001099001900000196d0000c13d0000000508800270000000400010043f00000000018304360000001f08a0018f00000000090000310000000209900367000000050aa00272000018040000613d000000000b000019000000050cb00210000000000dc10019000000000cc9034f000000000c0c043b0000000000cd0435000000010bb00039000000000cab004b000017fc0000413d000000000b80004c000018130000613d000000050aa002100000000009a9034f000000000aa100190000000308800210000000000b0a0433000000000b8b01cf000000000b8b022f000000000909043b0000010008800089000000000989022f00000000088901cf0000000008b8019f00000000008a04350000000008060433000000200880008c0000182e0000413d0000000008030433000000000880004c000019670000613d000000000807043300000b8b0880019700000000008104350000000008060433000000400880008c0000182e0000413d00000001080000390000000009030433000000000989004b000019670000a13d0000000509800210000000000a1900190000000009790019000000000909043300000b8b0990019700000000009a0435000000010880003900000000090604330000000509900270000000000998004b000018200000413d000000400700043d00000bd90670009c0000196d0000213d0000000301000029000000600110003900000000010104330000008006700039000000400060043f0000006006700039000000000016043500000020017000390000000000f104350000000000270435000000400170003900000000003104350000000001030433000000000110004c0000000006000019000018520000613d00000000010704330000000002010433000000000320004c000019860000613d000000050220021000000000011200190000000001010433000000000210004c0000184f0000613d000000010200008a00000000321200d90000000503000029000000000232004b000019860000413d000000050200002900000000212100a900000bec1610012a0000000701000029000000060200002900000004030000292e150a250000040f0000000806000029000000200410003900000000020404330000000002020433000000000220004c00000040021000390000186b0000c13d000000400300043d00000bff0530009c0000196d0000213d0000002005300039000000400050043f00000000000304350000000000310435000000400300043d00000bff0530009c0000196d0000213d0000002005300039000000400050043f00000000000304350000000000320435000000400300043d00000bd90530009c0000196d0000213d0000008005300039000000400050043f00000040053000390000000000650435000000200530003900000000006504350000000000630435000000600330003900000000000304350000000006010433000000007806043400000c000380009c0000196d0000213d000000200500008a000000000b58016f0000003f03b00039000000000953016f000000400300043d0000000009930019000000000a39004b000000000a000019000000010a00403900000b890c90009c0000196d0000213d000000010aa001900000196d0000c13d0000000508800270000000400090043f00000000088304360000001f09b0018f000000000a000031000000020aa00367000000050bb00272000018990000613d000000000c000019000000050dc00210000000000ed80019000000000dda034f000000000d0d043b0000000000de0435000000010cc00039000000000dbc004b000018910000413d000000000c90004c000018a80000613d000000050bb00210000000000aba034f000000000bb800190000000309900210000000000c0b0433000000000c9c01cf000000000c9c022f000000000a0a043b0000010009900089000000000a9a022f00000000099a01cf0000000009c9019f00000000009b04350000000009060433000000200990008c000018c10000413d0000000009030433000000000990004c000019670000613d000000000907043300000000009804350000000009060433000000400990008c000018c10000413d0000000109000039000000000a030433000000000a9a004b000019670000a13d000000050a900210000000000b8a0019000000000a7a0019000000000a0a04330000000000ab04350000000109900039000000000a060433000000050aa00270000000000aa9004b000018b40000413d0000000006040433000000007806043400000c000480009c0000196d0000213d000000000b58016f0000003f04b00039000000000954016f000000400400043d0000000009940019000000000a49004b000000000a000019000000010a00403900000b890c90009c0000196d0000213d000000010aa001900000196d0000c13d0000000508800270000000400090043f00000000088404360000001f09b0018f000000000a000031000000020aa00367000000050bb00272000018e20000613d000000000c000019000000050dc00210000000000ed80019000000000dda034f000000000d0d043b0000000000de0435000000010cc00039000000000dbc004b000018da0000413d000000000c90004c000018f10000613d000000050bb00210000000000aba034f000000000bb800190000000309900210000000000c0b0433000000000c9c01cf000000000c9c022f000000000a0a043b0000010009900089000000000a9a022f00000000099a01cf0000000009c9019f00000000009b04350000000009060433000000200990008c0000190c0000413d0000000009040433000000000990004c000019670000613d000000000907043300000b8b0990019700000000009804350000000009060433000000400990008c0000190c0000413d0000000109000039000000000a040433000000000a9a004b000019670000a13d000000050a900210000000000b8a0019000000000a7a0019000000000a0a043300000b8b0aa001970000000000ab04350000000109900039000000000a060433000000050aa00270000000000aa9004b000018fe0000413d0000000002020433000000006702043400000c000870009c0000196d0000213d000000000a57016f0000003f08a00039000000000858016f000000400500043d0000000008850019000000000958004b0000000009000019000000010900403900000b890b80009c0000196d0000213d00000001099001900000196d0000c13d0000000507700270000000400080043f00000000077504360000001f08a0018f00000000090000310000000209900367000000050aa002720000192d0000613d000000000b000019000000050cb00210000000000dc70019000000000cc9034f000000000c0c043b0000000000cd0435000000010bb00039000000000cab004b000019250000413d000000000b80004c0000193c0000613d000000050aa002100000000009a9034f000000000aa700190000000308800210000000000b0a0433000000000b8b01cf000000000b8b022f000000000909043b0000010008800089000000000989022f00000000088901cf0000000008b8019f00000000008a04350000000008020433000000200880008c000019570000413d0000000008050433000000000880004c000019670000613d000000000806043300000b8b0880019700000000008704350000000008020433000000400880008c000019570000413d00000001080000390000000009050433000000000989004b000019670000a13d0000000509800210000000000a7900190000000009690019000000000909043300000b8b0990019700000000009a0435000000010880003900000000090204330000000509900270000000000998004b000019490000413d000000400200043d00000bd90620009c0000196d0000213d000000600110003900000000010104330000008006200039000000400060043f00000060062000390000000000160435000000400120003900000000005104350000002001200039000000000041043500000000003204350000000001020019000000000001042d00000b8d0100004100000000001004350000003201000039000000040010043f00000b8e0100004100002e170001043000000b8d0100004100000000001004350000004101000039000000040010043f00000b8e0100004100002e1700010430000000440150003900000c0102000041000000000021043500000024015000390000001c02000039000000000021043500000bd601000041000000000015043500000004015000390000002002000039000000000021043500000b870100004100000b870250009c0000000001054019000000400110021000000be4011001c700002e1700010430000000000100001900002e170001043000000b8d0100004100000000001004350000001101000039000000040010043f00000b8e0100004100002e17000104300001000000000002000000400500043d00000be70650009c00001ad70000813d0000008006500039000000400060043f0000004006500039000000600a0000390000000000a6043500000020065000390000000000a604350000000000a5043500000060055000390000000000050435000000400500043d000000050640008a000000050700008a000000000676004b00001add0000a13d00000bd90650009c00001ad70000213d0000008006500039000000400060043f00000020065000390000000000a6043500000040065000390000000000a604350000000000a5043500000060075000390000000000070435000000400800043d00000beb0780009c00001ad70000213d0000004007800039000000400070043f00000020078000390000000000170435000000200700003900000000007804350000000000850435000000400800043d00000beb0980009c00001ad70000213d0000004009800039000000400090043f0000002009800039000000000029043500000000007804350000000000860435000000000600001900010000000a001d2e150a250000040f0000000106000029000000200410003900000000020404330000000002020433000000000220004c0000004002100039000019d50000c13d000000400300043d00000bff0530009c00001ad70000213d0000002005300039000000400050043f00000000000304350000000000310435000000400300043d00000bff0530009c00001ad70000213d0000002005300039000000400050043f00000000000304350000000000320435000000400300043d00000bd90530009c00001ad70000213d0000008005300039000000400050043f00000040053000390000000000650435000000200530003900000000006504350000000000630435000000600330003900000000000304350000000006010433000000007806043400000c000380009c00001ad70000213d000000200500008a000000000b58016f0000003f03b00039000000000953016f000000400300043d0000000009930019000000000a39004b000000000a000019000000010a00403900000b890c90009c00001ad70000213d000000010aa0019000001ad70000c13d0000000508800270000000400090043f00000000088304360000001f09b0018f000000000a000031000000020aa00367000000050bb0027200001a030000613d000000000c000019000000050dc00210000000000ed80019000000000dda034f000000000d0d043b0000000000de0435000000010cc00039000000000dbc004b000019fb0000413d000000000c90004c00001a120000613d000000050bb00210000000000aba034f000000000bb800190000000309900210000000000c0b0433000000000c9c01cf000000000c9c022f000000000a0a043b0000010009900089000000000a9a022f00000000099a01cf0000000009c9019f00000000009b04350000000009060433000000200990008c00001a2b0000413d0000000009030433000000000990004c00001ad10000613d000000000907043300000000009804350000000009060433000000400990008c00001a2b0000413d0000000109000039000000000a030433000000000a9a004b00001ad10000a13d000000050a900210000000000b8a0019000000000a7a0019000000000a0a04330000000000ab04350000000109900039000000000a060433000000050aa00270000000000aa9004b00001a1e0000413d0000000006040433000000007806043400000c000480009c00001ad70000213d000000000b58016f0000003f04b00039000000000954016f000000400400043d0000000009940019000000000a49004b000000000a000019000000010a00403900000b890c90009c00001ad70000213d000000010aa0019000001ad70000c13d0000000508800270000000400090043f00000000088404360000001f09b0018f000000000a000031000000020aa00367000000050bb0027200001a4c0000613d000000000c000019000000050dc00210000000000ed80019000000000dda034f000000000d0d043b0000000000de0435000000010cc00039000000000dbc004b00001a440000413d000000000c90004c00001a5b0000613d000000050bb00210000000000aba034f000000000bb800190000000309900210000000000c0b0433000000000c9c01cf000000000c9c022f000000000a0a043b0000010009900089000000000a9a022f00000000099a01cf0000000009c9019f00000000009b04350000000009060433000000200990008c00001a760000413d0000000009040433000000000990004c00001ad10000613d000000000907043300000b8b0990019700000000009804350000000009060433000000400990008c00001a760000413d0000000109000039000000000a040433000000000a9a004b00001ad10000a13d000000050a900210000000000b8a0019000000000a7a0019000000000a0a043300000b8b0aa001970000000000ab04350000000109900039000000000a060433000000050aa00270000000000aa9004b00001a680000413d0000000002020433000000006702043400000c000870009c00001ad70000213d000000000a57016f0000003f08a00039000000000858016f000000400500043d0000000008850019000000000958004b0000000009000019000000010900403900000b890b80009c00001ad70000213d000000010990019000001ad70000c13d0000000507700270000000400080043f00000000077504360000001f08a0018f00000000090000310000000209900367000000050aa0027200001a970000613d000000000b000019000000050cb00210000000000dc70019000000000cc9034f000000000c0c043b0000000000cd0435000000010bb00039000000000cab004b00001a8f0000413d000000000b80004c00001aa60000613d000000050aa002100000000009a9034f000000000aa700190000000308800210000000000b0a0433000000000b8b01cf000000000b8b022f000000000909043b0000010008800089000000000989022f00000000088901cf0000000008b8019f00000000008a04350000000008020433000000200880008c00001ac10000413d0000000008050433000000000880004c00001ad10000613d000000000806043300000b8b0880019700000000008704350000000008020433000000400880008c00001ac10000413d00000001080000390000000009050433000000000989004b00001ad10000a13d0000000509800210000000000a7900190000000009690019000000000909043300000b8b0990019700000000009a0435000000010880003900000000090204330000000509900270000000000998004b00001ab30000413d000000400200043d00000bd90620009c00001ad70000213d000000600110003900000000010104330000008006200039000000400060043f00000060062000390000000000160435000000400120003900000000005104350000002001200039000000000041043500000000003204350000000001020019000000000001042d00000b8d0100004100000000001004350000003201000039000000040010043f00000b8e0100004100002e170001043000000b8d0100004100000000001004350000004101000039000000040010043f00000b8e0100004100002e1700010430000000440150003900000c0102000041000000000021043500000024015000390000001c02000039000000000021043500000bd601000041000000000015043500000004015000390000002002000039000000000021043500000b870100004100000b870250009c0000000001054019000000400110021000000be4011001c700002e17000104300000000000100435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f000000010220019000001afe0000613d000000000101043b0000000101100039000000000101041a000000000001042d000000000100001900002e17000104300004000000000002000100000003001d000200000002001d000300000001001d0000000401000039000000000201041a000400000004001d000000000242004b00001b8c0000a13d000000000010043500000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bdd011001c700008010020000392e152e100000040f000000010220019000001b8a0000613d000000000101043b00000004020000290000000001210019000000000101041a00000bd002000041000000000020043900000b8b01100197000400000001001d000000040010044300000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bd1011001c700008002020000392e152e100000040f000000010220019000001b8a0000613d000000000101043b000000000110004c00001b8a0000613d000000400900043d00000be8010000410000000000190435000000010100002900000b8b02100197000000440390003900000000010004140000000000230435000000020200002900000b8b02200197000000240390003900000000002304350000000402900039000000030300002900000000003204350000000402000029000000040320008c00001b3e0000c13d000000010300003100001b700000013d00000b870400004100000b870310009c000000000104801900000b870390009c000000000304001900000000030940190000004003300210000000c001100210000000000131019f00000be4011001c7000400000009001d2e152e100000040f00000004090000290000000003010019000000600330027000000b8703300197000000200430008c000000200500003900000000050340190000001f0450018f000000050550027200001b5d0000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b00001b550000413d000000000640004c00001b6c0000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f0003000000010355000000010220019000001b980000613d0000001f01300039000000200200008a000000000221016f0000000001920019000000000221004b0000000002000019000000010200403900000b890310009c00001b920000213d000000010220019000001b920000c13d000000400010043f00000b88010000410000000102000031000000200320008c0000000003000019000000000301401900000b8802200197000000000420004c000000000100a01900000b880220009c000000000103c019000000000110004c00001b8a0000c13d0000000001090433000000000001042d000000000100001900002e170001043000000b8d0100004100000000001004350000003201000039000000040010043f00000b8e0100004100002e170001043000000b8d0100004100000000001004350000004101000039000000040010043f00000b8e0100004100002e17000104300000001f0430018f000000050230027200001ba30000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b00001b9c0000413d000000000340004c00001bb10000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000b8701000041000000010200003100000b870320009c0000000001024019000000600110021000002e1700010430000c000000000002000700000005001d000600000004001d000500000001001d000000400100043d00000be70410009c00001c900000813d0000008004100039000000400040043f0000006004100039000000000004043500000040041000390000000000040435000000200410003900000000000404350000000000010435000000400100043d000800000001001d00000bd90110009c00001c900000213d00000008040000290000008001400039000000400010043f00000060014000390000000000010435000000400140003900000000000104350000002001400039000000000001043500000000000404350000000701000029000000000110004c00001c8c0000613d00000b8b01300197000a00000001001d00000b8b01200197000900000001001d0000000401000039000400000001001d0000801001000039000300000001001d0000800201000039000200000001001d0000000002000019000c00000002001d0000000501200210000000060200002900000000012100190000000201100367000000000301043b000001000130008c00001c8e0000813d0000000402000029000000000102041a000b00000003001d000000000131004b00001c9c0000a13d000000000020043500000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bdd011001c700000003020000292e152e100000040f00000001022001900000000b0200002900001c8e0000613d000000000101043b0000000001210019000000000101041a00000bd002000041000000000020043900000b8b01100197000b00000001001d000000040010044300000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bd1011001c700000002020000292e152e100000040f0000000b06000029000000010220019000001c8e0000613d000000000101043b000000000110004c00001c8e0000613d000000400900043d00000be8010000410000000000190435000000440290003900000000010004140000000a030000290000000000320435000000240290003900000009030000290000000000320435000000040290003900000005030000290000000000320435000000040260008c00001c230000c13d000000010300003100001c550000013d00000b870200004100000b870310009c000000000102801900000b870390009c00000000020940190000004002200210000000c001100210000000000121019f00000be4011001c70000000002060019000100000009001d2e152e100000040f00000001090000290000000003010019000000600330027000000b8703300197000000200430008c00000020050000390000000005034019000000050450027200001c410000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000746004b00001c390000413d0000001f0550019000001c500000613d0000000504400210000000000641034f00000000044900190000000305500210000000000704043300000000075701cf000000000757022f000000000606043b0000010005500089000000000656022f00000000055601cf000000000575019f0000000000540435000100000003001f000300000001035500000001022001900000000b0600002900001ca20000613d0000001f01300039000000200200008a000000000221016f0000000001920019000000000221004b0000000002000019000000010200403900000b890310009c00001c900000213d000000010220019000001c900000c13d000000400010043f00000b88020000410000000103000031000000200430008c0000000004000019000000000402401900000b8803300197000000000530004c000000000200a01900000b880330009c000000000204c019000000000220004c00001c8e0000c13d00000000020904330000000c03000029000000000330004c00001c760000613d000000080300002900000060033000390000000003030433000000000332004b00001c840000a13d00000bd90310009c00001c900000213d0000008003100039000000400030043f0000006003100039000000000023043500000040021000390000000a0300002900000000003204350000002002100039000000090300002900000000003204350000000000610435000800000001001d0000000c02000029000000ff0120008c00001c960000613d0000000101200039000000ff0210018f0000000701000029000000000112004b00001be30000413d0000000801000029000000000001042d000000000100001900002e170001043000000b8d0100004100000000001004350000004101000039000000040010043f00000b8e0100004100002e170001043000000b8d0100004100000000001004350000001101000039000000040010043f00000b8e0100004100002e170001043000000b8d0100004100000000001004350000003201000039000000040010043f00000b8e0100004100002e17000104300000001f0430018f000000050230027200001cad0000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b00001ca60000413d000000000340004c00001cbb0000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000b8701000041000000010200003100000b870320009c0000000001024019000000600110021000002e1700010430000b000000000002000500000001001d000000400100043d00000be70410009c00001d930000813d0000008004100039000000400040043f0000006004100039000000000004043500000040041000390000000000040435000000200410003900000000000404350000000000010435000000400100043d000700000001001d00000bd90110009c00001d930000213d00000007040000290000008001400039000000400010043f00000060014000390000000000010435000000400140003900000000000104350000002001400039000000000001043500000000000404350000000401000039000600000001001d000000000101041a000400000001001d000000000110004c00001d8f0000613d00000b8b01300197000900000001001d00000b8b01200197000800000001001d0000801001000039000300000001001d0000800201000039000200000001001d00000000020000190000000003000019000b00000002001d0000000602000029000000000102041a000a00000003001d000000000131004b00001d9f0000a13d000000000020043500000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bdd011001c700000003020000292e152e100000040f000000010220019000001d910000613d000000000101043b0000000a020000290000000001210019000000000101041a00000bd002000041000000000020043900000b8b01100197000a00000001001d000000040010044300000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bd1011001c700000002020000292e152e100000040f0000000a06000029000000010220019000001d910000613d000000000101043b000000000110004c00001d910000613d000000400900043d00000be80100004100000000001904350000004402900039000000000100041400000009030000290000000000320435000000240290003900000008030000290000000000320435000000040290003900000005030000290000000000320435000000040260008c00001d260000c13d000000010300003100001d580000013d00000b870200004100000b870310009c000000000102801900000b870390009c00000000020940190000004002200210000000c001100210000000000121019f00000be4011001c70000000002060019000100000009001d2e152e100000040f00000001090000290000000003010019000000600330027000000b8703300197000000200430008c00000020050000390000000005034019000000050450027200001d440000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000746004b00001d3c0000413d0000001f0550019000001d530000613d0000000504400210000000000641034f00000000044900190000000305500210000000000704043300000000075701cf000000000757022f000000000606043b0000010005500089000000000656022f00000000055601cf000000000575019f0000000000540435000100000003001f000300000001035500000001022001900000000a0600002900001da50000613d0000001f01300039000000200200008a000000000221016f0000000001920019000000000221004b0000000002000019000000010200403900000b890310009c00001d930000213d000000010220019000001d930000c13d000000400010043f00000b88020000410000000103000031000000200430008c0000000004000019000000000402401900000b8803300197000000000530004c000000000200a01900000b880330009c000000000204c019000000000220004c00001d910000c13d00000000020904330000000b03000029000000000330004c00001d790000613d000000070300002900000060033000390000000003030433000000000332004b00001d870000a13d00000bd90310009c00001d930000213d0000008003100039000000400030043f000000600310003900000000002304350000004002100039000000090300002900000000003204350000002002100039000000080300002900000000003204350000000000610435000700000001001d0000000b02000029000000ff0120008c00001d990000613d0000000103200039000000ff0230018f0000000401000029000000000112004b00001ced0000413d0000000701000029000000000001042d000000000100001900002e170001043000000b8d0100004100000000001004350000004101000039000000040010043f00000b8e0100004100002e170001043000000b8d0100004100000000001004350000001101000039000000040010043f00000b8e0100004100002e170001043000000b8d0100004100000000001004350000003201000039000000040010043f00000b8e0100004100002e17000104300000001f0430018f000000050230027200001db00000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b00001da90000413d000000000340004c00001dbe0000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000b8701000041000000010200003100000b870320009c0000000001024019000000600110021000002e17000104300003000000000002000300000001001d00000bc5010000410000000000100435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f000000010220019000001e4d0000613d000000000101043b0000000101100039000000000101041a000100000001001d0000000000100435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f000000010220019000001e4d0000613d000000000101043b0000000002000411000200000002001d00000b8b022001970000000000200435000000200010043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f000000010220019000001e4d0000613d000000000101043b000000000101041a000000ff0110019000001e4f0000613d00000bc5010000410000000000100435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f000000010220019000001e4d0000613d000000000101043b000000030200002900000b8b02200197000100000002001d0000000000200435000000200010043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f000000010220019000001e4d0000613d000000000101043b000000000101041a000000ff0110019000001e4c0000613d00000bc5010000410000000000100435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f000000010220019000001e4d0000613d000000000101043b00000001020000290000000000200435000000200010043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f000000010220019000001e4d0000613d000000000101043b000000000201041a000001000300008a000000000232016f000000000021041b000000400100043d00000b8702000041000000000300041400000b870430009c000000000302801900000b870410009c00000000010280190000004001100210000000c002300210000000000112019f00000bce011001c70000800d02000039000000040300003900000c020400004100000bc505000041000000030600002900000002070000292e152e0b0000040f000000010120019000001e4d0000613d000000000001042d000000000100001900002e1700010430000000400100043d000000000701001900000bf60110009c00001e590000413d00000b8d0100004100000000001004350000004101000039000000040010043f00000b8e0100004100002e170001043000000000020700190000006001200039000000400010043f0000002a01000039000000000112043600000000020000310000000202200367000000000300001900000005043002100000000005410019000000000442034f000000000404043b00000000004504350000000103300039000000020430008c00001e610000413d0000000002070433000000000220004c00001e730000613d000000000201043300000bf70220019700000bf8022001c700000000002104350000000002070433000000020220008c00001e790000813d00000b8d0100004100000000001004350000003201000039000000040010043f00000b8e0100004100002e17000104300000002102700039000000000302043300000bf70330019700000bf9033001c700000000003204350000002902000039000000020500002900000000030500190000000004070433000000000424004b00001e730000a13d0000000f0430018f0000000304400210000000f80440015f00000bfa05000041000000000445022f0000000005120019000000000605043300000bf706600197000000f804400210000000000446019f00000000004504350000000405300270000000010220008a000000010420008c00001e800000213d000000100130008c00000000010000190000000101004039000200000007001d2e152df70000040f00000001010000292e1524d00000040f000000400400043d000300000004001d000000200240003900000bfb030000410000000000320435000100000001001d000000370240003900000002010000292e15098c0000040f00000bfc020000410000000000210435000000110210003900000001010000292e15098c0000040f00000003030000290000000002310049000000200120008a000000000013043500000000010300192e150a120000040f00000bd601000041000000400200043d000200000002001d0000000000120435000000040120003900000003020000292e15099d0000040f0000000204000029000000000141004900000b870200004100000b870310009c000000000102801900000b870340009c000000000204401900000040022002100000006001100210000000000121019f00002e17000104300003000000000002000000000300041100000b8b02300197000300000002001d000100000003001d00000c030230009c00001f1d0000813d000200000001001d0000000000100435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f000000010220019000001f1b0000613d000000000101043b00000003020000290000000000200435000000200010043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f000000010220019000001f1b0000613d000000000101043b000000000101041a000000ff0110019000001f1a0000613d00000002010000290000000000100435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f000000010220019000001f1b0000613d000000000101043b00000003020000290000000000200435000000200010043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f000000010220019000001f1b0000613d000000000101043b000000000201041a000001000300008a000000000232016f000000000021041b000000400100043d00000b8702000041000000000300041400000b870430009c000000000302801900000b870410009c00000000010280190000004001100210000000c002300210000000000112019f00000bce011001c70000800d02000039000000040300003900000c02040000410000000205000029000000010600002900000003070000292e152e0b0000040f000000010120019000001f1b0000613d000000000001042d000000000100001900002e1700010430000000400100043d000000640210003900000c04030000410000000000320435000000440210003900000c0503000041000000000032043500000024021000390000002f03000039000000000032043500000bd602000041000000000021043500000004021000390000002003000039000000000032043500000b870200004100000b870310009c0000000001028019000000400110021000000bd7011001c700002e17000104300003000000000002000100000002001d00000b8b022001970000000003000411000300000002001d000000000232004b00001f8f0000c13d000200000001001d0000000000100435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f000000010220019000001f8d0000613d000000000101043b00000003020000290000000000200435000000200010043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f000000010220019000001f8d0000613d000000000101043b000000000101041a000000ff0110019000001f8c0000613d00000002010000290000000000100435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f000000010220019000001f8d0000613d000000000101043b00000003020000290000000000200435000000200010043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f000000010220019000001f8d0000613d000000000101043b000000000201041a000001000300008a000000000232016f000000000021041b000000400100043d00000b8702000041000000000300041400000b870430009c000000000302801900000b870410009c00000000010280190000004001100210000000c002300210000000000112019f00000bce011001c70000800d02000039000000040300003900000c02040000410000000205000029000000010600002900000003070000292e152e0b0000040f000000010120019000001f8d0000613d000000000001042d000000000100001900002e1700010430000000400100043d000000640210003900000c04030000410000000000320435000000440210003900000c0503000041000000000032043500000024021000390000002f03000039000000000032043500000bd602000041000000000021043500000004021000390000002003000039000000000032043500000b870200004100000b870310009c0000000001028019000000400110021000000bd7011001c700002e17000104300005000000000002000300000003001d000200000002001d000000000200003100000000031200490000001f0430008a000500000001001d00000040031000390000000201000367000000000331034f000000000303043b00000b8805000041000000000643004b0000000006000019000000000605401900000b880440019700000b8807300197000000000847004b000000000500a019000000000447013f00000b880440009c00000000040600190000000004056019000000000440004c000020430000613d00000005040000290000000004430019000000000341034f000000000303043b00000b890530009c000020430000213d00000005053002100000000005520049000000200240003900000b8804000041000000000652004b0000000006000019000000000604201900000b880550019700000b8807200197000000000857004b0000000004008019000000000557013f00000b880550009c000000000406c019000000000440004c000020430000c13d000000000330004c000020450000613d000000000121034f000000000101043b000400000001001d00000b8b0110009c000020430000213d00000bc701000041000000000010043900000000010004120000000400100443000000240000044300000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bfd011001c700008005020000392e152e100000040f0000000102200190000020430000613d000000000101043b00000b8b011001970000000402000029000000000112004b0000204b0000c13d00000bd0010000410000000000100439000000040020044300000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bd1011001c700008002020000392e152e100000040f0000000102200190000020430000613d000000000101043b000000000110004c000020430000613d000000400600043d00000c08010000410000000000160435000000000100041400000005020000290000000202200367000000000302043b0000000404000029000000040240008c0000200a0000c13d0000000104000031000020250000013d00000b870200004100000b870510009c000000000102801900000b870560009c000100000006001d00000000020640190000004002200210000000c001100210000000000121019f000000000230004c0000201a0000613d00000c09011001c7000080090200003900000000050000192e152e0b0000040f0000201d0000013d00000bea011001c700000000020400192e152e0b0000040f00030000000103550000000003010019000000600330027000010b870030019d00000b870430019700000001022001900000000106000029000020660000613d0000001f01400039000000200200008a000000000221016f0000000001620019000000000221004b0000000002000019000000010200403900000b890310009c000020600000213d0000000102200190000020600000c13d000000400010043f00000b88010000410000000102000031000000000320004c0000000003000019000000000301401900000b8802200197000000000420004c000000000100a01900000b880220009c000000000103c019000000000110004c000020430000c13d00000000020004100000000501000029000000020300002900000003040000292e150fbb0000040f000000000001042d000000000100001900002e170001043000000b8d0100004100000000001004350000003201000039000000040010043f00000b8e0100004100002e1700010430000000400100043d000000640210003900000c06030000410000000000320435000000440210003900000c0703000041000000000032043500000024021000390000002903000039000000000032043500000bd602000041000000000021043500000004021000390000002003000039000000000032043500000b870200004100000b870310009c0000000001028019000000400110021000000bd7011001c700002e170001043000000b8d0100004100000000001004350000004101000039000000040010043f00000b8e0100004100002e17000104300000001f0340018f0000000502400272000020710000613d00000000040000190000000505400210000000000651034f000000000606043b00000000006504350000000104400039000000000524004b0000206a0000413d000000000430004c0000207f0000613d00000003033002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000b8701000041000000010200003100000b870320009c0000000001024019000000600110021000002e1700010430000a000000000002000000000a040019000200000003001d000100000002001d00000000090100190000001f0100008a000000000491004900000040029000390000000201000367000700000002001d000000000221034f000000000302043b0000000002000031000600000004001d000000000442001900000b880b000041000000000843004b000000000c000019000000000c0b401900000b880440019700000b880d30019700000000084d004b000000000800001900000000080b201900000000044d013f00000b880440009c00000000040c00190000000004086019000000000440004c000022260000613d0000000004930019000000000341034f000000000303043b00000b890830009c000022260000213d0000000508300210000000000b820049000000200240003900000b88040000410000000008b2004b000000000c000019000000000c04201900000b880bb0019700000b880d2001970000000008bd004b00000000040080190000000008bd013f00000b880880009c00000000040cc019000000000440004c000022260000c13d000000000330004c0000222e0000613d000000000121034f000000000401043b00000b8b0140009c000022260000213d00000bd0010000410000000000100439000000040040044300000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bd1011001c70000800202000039000a00000009001d00090000000a001d000800000005001d000500000006001d000400000007001d000300000004001d2e152e100000040f000000030800002900000004070000290000000506000029000000080400002900000009050000290000000a090000290000000102200190000022260000613d000000000101043b000000000110004c000022260000613d000000400a00043d00000c0a0100004100000000001a043500000000010004140000000202900367000000000202043b000000c403a000390000000000730435000000a403a000390000000000630435000000ff0340018f0000008404a0003900000000003404350000006403a0003900000000005304350000004403a0003900000000002304350000000002000410000900000002001d00000b8b022001970000002403a0003900000000002304350000000002000411000500000002001d00000b8b022001970000000403a000390000000000230435000000040280008c000020f90000c13d00000001040000310000210e0000013d00000b870200004100000b870310009c000000000102801900000b8703a0009c00000000020a40190000004002200210000000c001100210000000000121019f00000c0b011001c7000000000208001900080000000a001d2e152e0b0000040f000000080a0000290000000a090000290000000003010019000000600330027000010b870030019d00000b8704300197000300000001035500000001022001900000224f0000613d0000001f01400039000000200200008a000800000002001d000000000221016f0000000001a20019000000000221004b0000000002000019000000010200403900000b890310009c000022280000213d0000000102200190000022280000c13d000000400010043f00000b88010000410000000102000031000000000320004c0000000003000019000000000301401900000b8802200197000000000420004c000000000100a01900000b880220009c000000000103c019000000000110004c000022260000c13d00000000030000310000000601000029000000000413001900000002010003670000000702000029000000000221034f000000000202043b00000b8805000041000000000642004b0000000006000019000000000605801900000b880440019700000b8807200197000000000847004b0000000005008019000000000447013f00000b880440009c00000000040600190000000004056019000000000440004c000022260000c13d0000000002920019000000000421034f000000000404043b00000b890540009c000022260000213d00000005054002100000000003530049000000200620003900000b8807000041000000000836004b0000000008000019000000000807201900000b880330019700000b8806600197000000000936004b0000000007008019000000000336013f00000b880330009c00000000030800190000000003076019000000000330004c000022260000c13d000000000340004c000022340000613d0000000002250019000000000121034f000000000101043b000700000001001d00000b8b0110009c000022260000213d00000bc70100004100000000001004390000000001000412000600000001001d0000000400100443000000240000044300000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bfd011001c700008005020000392e152e100000040f0000000a030000290000000102200190000022260000613d000000000101043b00000b8b011001970000000702000029000000000112004b0000223a0000c13d00000000010300190000000502000029000000090300002900000002040000292e150fbb0000040f00000bc7020000410000000000200439000000060200002900000004002004430000002400000443000a00000001001d00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bfd011001c700008005020000392e152e100000040f0000000102200190000022260000613d000000000101043b00000bd002000041000000000020043900000b8b01100197000700000001001d000000040010044300000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bd1011001c700008002020000392e152e100000040f0000000102200190000022260000613d000000000101043b000000000110004c000022260000613d000000400500043d00000c0e01000041000000000015043500000004015000390000000a02000029000000000021043500000000010004140000000702000029000000040320008c000021a40000c13d0000000104000031000021b80000013d00000b870400004100000b870310009c000000000104801900000b870350009c000000000304001900000000030540190000004003300210000000c001100210000000000131019f00000b8e011001c7000700000005001d2e152e0b0000040f00000007050000290000000003010019000000600330027000010b870030019d00000b8704300197000300000001035500000001022001900000226e0000613d0000001f014000390000000802000029000000000221016f0000000001520019000000000221004b0000000002000019000000010200403900000b890310009c000022280000213d0000000102200190000022280000c13d000000400010043f00000b88010000410000000102000031000000000320004c0000000003000019000000000301401900000b8802200197000000000420004c000000000100a01900000b880220009c000000000103c019000000000110004c000022260000c13d000000010400002900000b8b014001970000000902000029000000000112004b000022250000613d0000000001000414000000040240008c000021db0000c13d00000001020000390000000101000031000021f60000013d00000b8702000041000000400300043d00000b870530009c000000000302801900000b870510009c0000000001028019000000c0011002100000004002300210000000000112019f0000000a03000029000000000230004c000021f00000613d00000bce011001c7000080090200003900000000050000192e152e0b0000040f0003000000010355000000600110027000010b870010019d00000b8701100197000021f60000013d00000000020400192e152e0b0000040f0003000000010355000000600110027000010b870010019d00000b8701100197000000000310004c000022230000613d0000003f031000390000000804000029000000000443016f000000400300043d0000000004430019000000000534004b0000000005000019000000010500403900000b890640009c000022280000213d0000000105500190000022280000c13d000000400040043f0000000001130436000000030300036700000001050000310000001f0450018f0000000505500272000022140000613d000000000600001900000005076002100000000008710019000000000773034f000000000707043b00000000007804350000000106600039000000000756004b0000220c0000413d000000000640004c000022230000613d0000000505500210000000000353034f00000000015100190000000304400210000000000501043300000000054501cf000000000545022f000000000303043b0000010004400089000000000343022f00000000034301cf000000000353019f000000000031043500000001012001900000228d0000613d000000000001042d000000000100001900002e170001043000000b8d0100004100000000001004350000004101000039000000040010043f00000b8e0100004100002e170001043000000b8d0100004100000000001004350000003201000039000000040010043f00000b8e0100004100002e170001043000000b8d0100004100000000001004350000001101000039000000040010043f00000b8e0100004100002e1700010430000000400100043d000000640210003900000c0c030000410000000000320435000000440210003900000c0d03000041000000000032043500000024021000390000002703000039000000000032043500000bd602000041000000000021043500000004021000390000002003000039000000000032043500000b870200004100000b870310009c0000000001028019000000400110021000000bd7011001c700002e17000104300000001f0340018f00000005024002720000225a0000613d00000000040000190000000505400210000000000651034f000000000606043b00000000006504350000000104400039000000000524004b000022530000413d000000000430004c000022680000613d00000003033002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000b8701000041000000010200003100000b870320009c0000000001024019000000600110021000002e17000104300000001f0340018f0000000502400272000022790000613d00000000040000190000000505400210000000000651034f000000000606043b00000000006504350000000104400039000000000524004b000022720000413d000000000430004c000022870000613d00000003033002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000b8701000041000000010200003100000b870320009c0000000001024019000000600110021000002e1700010430000000400100043d000000440210003900000c0f03000041000000000032043500000024021000390000001003000039000000000032043500000bd602000041000000000021043500000004021000390000002003000039000000000032043500000b870200004100000b870310009c0000000001028019000000400110021000000be4011001c700002e17000104300005000000000002000100000002001d000000000b01001900000000020000310000000001b200490000001f0410008a0000004005b000390000000201000367000000000551034f000000000905043b00000b8805000041000000000649004b0000000006000019000000000605401900000b880440019700000b8807900197000000000847004b000000000500a019000000000447013f00000b880440009c00000000040600190000000004056019000000000440004c000023a60000613d000000000ab900190000000004a1034f000000000404043b00000b890540009c000023a60000213d000000050540021000000000025200490000002006a0003900000b8807000041000000000826004b0000000008000019000000000807201900000b880220019700000b8806600197000000000926004b0000000007008019000000000226013f00000b880220009c00000000020800190000000002076019000000000220004c000023a60000c13d000000000240004c000023ae0000613d0000000002a50019000000000121034f000000000101043b000300000001001d00000b8b0110009c000023a60000213d00000bc70100004100000000001004390000000001000412000200000001001d0000000400100443000000240000044300000b8701000041000000000200041400000b870420009c0000000001024019000000c00110021000000bfd011001c70000800502000039000500000003001d00040000000b001d2e152e100000040f000000040500002900000005040000290000000102200190000023a60000613d000000000101043b00000b8b011001970000000302000029000000000112004b000023b40000c13d000000000200041100000000030004100000000001050019000300000003001d2e150fbb0000040f00000bc7020000410000000000200439000000020200002900000004002004430000002400000443000500000001001d00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bfd011001c700008005020000392e152e100000040f0000000102200190000023a60000613d000000000101043b00000bd002000041000000000020043900000b8b01100197000400000001001d000000040010044300000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bd1011001c700008002020000392e152e100000040f0000000102200190000023a60000613d000000000101043b000000000110004c000023a60000613d000000400600043d00000c0e01000041000000000016043500000004016000390000000502000029000000000021043500000000010004140000000402000029000000040320008c000023220000c13d0000000104000031000023360000013d00000b870400004100000b870310009c000000000104801900000b870360009c000000000304001900000000030640190000004003300210000000c001100210000000000131019f00000b8e011001c7000400000006001d2e152e0b0000040f00000004060000290000000003010019000000600330027000010b870030019d00000b870430019700030000000103550000000102200190000023c90000613d0000001f01400039000000200500008a000000000251016f0000000001620019000000000221004b0000000002000019000000010200403900000b890310009c000023a80000213d0000000102200190000023a80000c13d000000400010043f00000b88010000410000000102000031000000000320004c0000000003000019000000000301401900000b8802200197000000000420004c000000000100a01900000b880220009c000000000103c019000000000110004c000023a60000c13d000000010400002900000b8b014001970000000302000029000000000112004b000023a50000613d0000000001000414000000040240008c000023590000c13d00000001020000390000000101000031000023770000013d000400000005001d00000b8702000041000000400300043d00000b870530009c000000000302801900000b870510009c0000000001028019000000c0011002100000004002300210000000000112019f0000000503000029000000000230004c000023700000613d00000bce011001c7000080090200003900000000050000192e152e0b0000040f0003000000010355000000600110027000010b870010019d00000b87011001970000000405000029000023770000013d00000000020400192e152e0b0000040f0003000000010355000000600110027000010b870010019d00000b87011001970000000405000029000000000310004c000023a30000613d0000003f03100039000000000453016f000000400300043d0000000004430019000000000534004b0000000005000019000000010500403900000b890640009c000023a80000213d0000000105500190000023a80000c13d000000400040043f0000000001130436000000030300036700000001050000310000001f0450018f0000000505500272000023940000613d000000000600001900000005076002100000000008710019000000000773034f000000000707043b00000000007804350000000106600039000000000756004b0000238c0000413d000000000640004c000023a30000613d0000000505500210000000000353034f00000000015100190000000304400210000000000501043300000000054501cf000000000545022f000000000303043b0000010004400089000000000343022f00000000034301cf000000000353019f00000000003104350000000101200190000023e80000613d000000000001042d000000000100001900002e170001043000000b8d0100004100000000001004350000004101000039000000040010043f00000b8e0100004100002e170001043000000b8d0100004100000000001004350000001101000039000000040010043f00000b8e0100004100002e1700010430000000400100043d000000640210003900000c0c030000410000000000320435000000440210003900000c0d03000041000000000032043500000024021000390000002703000039000000000032043500000bd602000041000000000021043500000004021000390000002003000039000000000032043500000b870200004100000b870310009c0000000001028019000000400110021000000bd7011001c700002e17000104300000001f0340018f0000000502400272000023d40000613d00000000040000190000000505400210000000000651034f000000000606043b00000000006504350000000104400039000000000524004b000023cd0000413d000000000430004c000023e20000613d00000003033002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000b8701000041000000010200003100000b870320009c0000000001024019000000600110021000002e1700010430000000400100043d000000440210003900000c0f03000041000000000032043500000024021000390000001003000039000000000032043500000bd602000041000000000021043500000004021000390000002003000039000000000032043500000b870200004100000b870310009c0000000001028019000000400110021000000be4011001c700002e17000104300008000000000002000000000a040019000700000003001d000600000002001d0000000009010019000000000200003100000000019200490000001f0410008a00000040039000390000000201000367000000000331034f000000000303043b00000b880b000041000000000843004b000000000c000019000000000c0b401900000b880440019700000b880d30019700000000084d004b000000000800001900000000080b201900000000044d013f00000b880440009c00000000040c00190000000004086019000000000440004c0000249e0000613d0000000004930019000000000341034f000000000303043b00000b890830009c0000249e0000213d0000000508300210000000000b820049000000200240003900000b88040000410000000008b2004b000000000c000019000000000c04201900000b880bb0019700000b880d2001970000000008bd004b00000000040080190000000008bd013f00000b880880009c00000000040cc019000000000440004c0000249e0000c13d000000000330004c000024a00000613d000000000121034f000000000401043b00000b8b0140009c0000249e0000213d00000bd0010000410000000000100439000000040040044300000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bd1011001c70000800202000039000800000009001d00050000000a001d000400000005001d000300000006001d000200000007001d000100000004001d2e152e100000040f00000001090000290000000208000029000000030700002900000004040000290000000506000029000000080500002900000001022001900000249e0000613d000000000101043b000000000110004c0000249e0000613d000000400a00043d00000c0a0100004100000000001a043500000000010004140000000202500367000000000202043b000000c403a000390000000000830435000000a403a000390000000000730435000000ff0340018f0000008404a0003900000000003404350000006403a0003900000000006304350000004403a000390000000000230435000000000200041000000b8b022001970000002403a000390000000000230435000000000600041100000b8b026001970000000403a000390000000000230435000000040290008c000024690000c13d0000000104000031000024800000013d00000b870200004100000b870310009c000000000102801900000b8703a0009c00000000020a40190000004002200210000000c001100210000000000121019f00000c0b011001c70000000002090019000500000006001d00040000000a001d2e152e0b0000040f000000040a000029000000050600002900000008050000290000000003010019000000600330027000010b870030019d00000b870430019700030000000103550000000102200190000024ac0000613d0000001f01400039000000200200008a000000000221016f0000000001a20019000000000221004b0000000002000019000000010200403900000b890310009c000024a60000213d0000000102200190000024a60000c13d000000400010043f00000b88010000410000000102000031000000000320004c0000000003000019000000000301401900000b8802200197000000000420004c000000000100a01900000b880220009c000000000103c019000000000110004c0000249e0000c13d00000000010500190000000002060019000000060300002900000007040000292e150fbb0000040f000000000001042d000000000100001900002e170001043000000b8d0100004100000000001004350000003201000039000000040010043f00000b8e0100004100002e170001043000000b8d0100004100000000001004350000004101000039000000040010043f00000b8e0100004100002e17000104300000001f0340018f0000000502400272000024b70000613d00000000040000190000000505400210000000000651034f000000000606043b00000000006504350000000104400039000000000524004b000024b00000413d000000000430004c000024c50000613d00000003033002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000b8701000041000000010200003100000b870320009c0000000001024019000000600110021000002e17000104300000000004030019000000000302001900000000020004112e150fbb0000040f000000000001042d0000000002010019000000400100043d00000be70310009c0000250f0000813d0000008003100039000000400030043f0000004203000039000000000331043600000000040000310000000204400367000000000500001900000005065002100000000007630019000000000664034f000000000606043b00000000006704350000000105500039000000030650008c000024db0000413d0000000004010433000000000440004c000025090000613d000000000403043300000bf70440019700000bf8044001c700000000004304350000000004010433000000020440008c000025090000413d0000002104100039000000000504043300000bf70550019700000bf9055001c70000000000540435000000410400003900000000050200190000000002010433000000000242004b000025090000a13d0000000f0250018f0000000302200210000000f80220015f00000bfa06000041000000000226022f0000000006340019000000000706043300000bf707700197000000f802200210000000000227019f00000000002604350000000402500270000000010440008a000000010640008c000024f30000213d000000100250008c000025150000813d000000000001042d00000b8d0100004100000000001004350000003201000039000000040010043f00000b8e0100004100002e170001043000000b8d0100004100000000001004350000004101000039000000040010043f00000b8e0100004100002e1700010430000000400100043d000000440210003900000c1003000041000000000032043500000bd60200004100000000002104350000002402100039000000200300003900000000003204350000000402100039000000000032043500000b870200004100000b870310009c0000000001028019000000400110021000000be4011001c700002e17000104300004000000000002000300000001001d0000000000000435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000025ff0000613d000000000101043b0000000101100039000000000101041a000100000001001d0000000000100435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000025ff0000613d000000000101043b0000000002000411000200000002001d00000b8b02200197000400000002001d0000000000200435000000200010043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000025ff0000613d000000000101043b000000000101041a000000ff01100190000026010000613d0000000000000435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000025ff0000613d000000000101043b000000030200002900000b8b02200197000100000002001d0000000000200435000000200010043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000025ff0000613d000000000101043b000000000101041a000000ff01100190000025ad0000c13d0000000000000435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000025ff0000613d000000000101043b00000001020000290000000000200435000000200010043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000025ff0000613d000000000101043b000000000201041a000001000300008a000000000232016f00000001022001bf000000000021041b000000400100043d00000b8702000041000000000300041400000b870430009c000000000302801900000b870410009c00000000010280190000004001100210000000c002300210000000000112019f00000bce011001c70000800d02000039000000040300003900000bcf040000410000000005000019000000030600002900000002070000292e152e0b0000040f0000000101200190000025ff0000613d0000000000000435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000025ff0000613d000000000101043b00000004020000290000000000200435000000200010043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000025ff0000613d000000000101043b000000000101041a000000ff01100190000025fe0000613d0000000000000435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000025ff0000613d000000000101043b00000004020000290000000000200435000000200010043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000025ff0000613d000000000101043b000000000201041a000001000300008a000000000232016f000000000021041b000000400100043d00000b8702000041000000000300041400000b870430009c000000000302801900000b870410009c00000000010280190000004001100210000000c002300210000000000112019f00000bce011001c70000800d02000039000000040300003900000c02040000410000000005000019000000020600002900000000070600192e152e0b0000040f0000000101200190000025ff0000613d000000000001042d000000000100001900002e1700010430000000400100043d000000000701001900000bf60110009c0000260b0000413d00000b8d0100004100000000001004350000004101000039000000040010043f00000b8e0100004100002e170001043000000000020700190000006001200039000000400010043f0000002a01000039000000000112043600000000020000310000000202200367000000000300001900000005043002100000000005410019000000000442034f000000000404043b00000000004504350000000103300039000000020430008c000026130000413d0000000002070433000000000220004c000026250000613d000000000201043300000bf70220019700000bf8022001c700000000002104350000000002070433000000020220008c0000262b0000813d00000b8d0100004100000000001004350000003201000039000000040010043f00000b8e0100004100002e17000104300000002102700039000000000302043300000bf70330019700000bf9033001c700000000003204350000002902000039000000020500002900000000030500190000000004070433000000000424004b000026250000a13d0000000f0430018f0000000304400210000000f80440015f00000bfa05000041000000000445022f0000000005120019000000000605043300000bf706600197000000f804400210000000000446019f00000000004504350000000405300270000000010220008a000000010420008c000026320000213d000000100130008c00000000010000190000000101004039000300000007001d2e152df70000040f00000001010000292e1524d00000040f000000400400043d000400000004001d000000200240003900000bfb030000410000000000320435000200000001001d000000370240003900000003010000292e15098c0000040f00000bfc020000410000000000210435000000110210003900000002010000292e15098c0000040f00000004030000290000000002310049000000200120008a000000000013043500000000010300192e150a120000040f00000bd601000041000000400200043d000300000002001d0000000000120435000000040120003900000004020000292e15099d0000040f0000000304000029000000000141004900000b870200004100000b870310009c000000000102801900000b870340009c000000000204401900000040022002100000006001100210000000000121019f00002e170001043000010000000000020000000403000039000000000203041a000100000001001d000000000212004b000026890000a13d000000000030043500000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bdd011001c700008010020000392e152e100000040f0000000102200190000026890000613d000000000101043b00000001020000290000000001210019000000000101041a00000b8b01100197000000000001042d000000000100001900002e170001043000010000000000020000000303000039000000000203041a000100000001001d000000000212004b000026a20000a13d000000000030043500000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bdd011001c700008010020000392e152e100000040f0000000102200190000026a20000613d000000000101043b00000001020000290000000001210019000000000101041a00000b8b01100197000000000001042d000000000100001900002e170001043000000b8b022001970000000000200435000000200010043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000026b30000613d000000000101043b000000000001042d000000000100001900002e17000104300000000000100435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000026c30000613d000000000101043b000000000001042d000000000100001900002e17000104300002000000000002000200000001001d00000bc5010000410000000000100435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000027c90000613d000000000101043b000000000200041100000b8b022001970000000000200435000000200010043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000027c90000613d000000000101043b000000000101041a000000ff01100190000027d10000613d00000bd0010000410000000000100439000000020100002900000b8b01100197000200000001001d000000040010044300000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bd1011001c700008002020000392e152e100000040f00000002060000290000000102200190000027c90000613d000000000101043b000000000110004c000027c90000613d000000400900043d00000bd2010000410000000000190435000000000100041000000b8b0210019700000004039000390000000001000414000000000023043500000024029000390000000000620435000000040260008c000027090000c13d00000001030000310000273c0000013d00000b870200004100000b870310009c000000000102801900000b870390009c00000000020940190000004002200210000000c001100210000000000121019f00000bd3011001c70000000002060019000100000009001d2e152e100000040f00000001090000290000000003010019000000600330027000000b8703300197000000200430008c000000200500003900000000050340190000001f0450018f0000000505500272000027280000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b000027200000413d000000000640004c000027370000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f000300000001035500000001022001900000000206000029000028200000613d0000001f01300039000000200700008a000000000271016f0000000001920019000000000221004b0000000002000019000000010200403900000b890310009c000027cb0000213d0000000102200190000027cb0000c13d000000400010043f00000b88020000410000000103000031000000200430008c0000000004000019000000000402401900000b8803300197000000000530004c000000000200a01900000b880330009c000000000204c019000000000220004c000027c90000c13d0000000002090433000000000220004c000027e60000c13d0000004402100039000000010300008a0000000000320435000000200210003900000bd8030000410000000000320435000000240310003900000000006304350000004403000039000000000031043500000bd90310009c000027cb0000213d0000008003100039000000400030043f0000000003000414000000040460008c0000276b0000c13d00000001030000310000000002000019000027820000013d00000b870400004100000b870520009c00000000020480190000004002200210000000000101043300000b870510009c00000000010480190000006001100210000000000121019f00000b870230009c00000000020400190000000002034019000000c002200210000000000121019f0000000002060019000200000007001d2e152e0b0000040f0000000207000029000000010220015f0003000000010355000000600110027000010b870010019d00000b87031001970000006001000039000000000430004c000027af0000613d0000003f01300039000000000471016f000000400100043d0000000004410019000000000514004b0000000005000019000000010500403900000b890640009c000027cb0000213d0000000105500190000027cb0000c13d000000400040043f0000000003310436000000030400036700000001060000310000001f0560018f0000000506600272000027a00000613d000000000700001900000005087002100000000009830019000000000884034f000000000808043b00000000008904350000000107700039000000000867004b000027980000413d000000000750004c000027af0000613d0000000506600210000000000464034f00000000036300190000000305500210000000000603043300000000065601cf000000000656022f000000000404043b0000010005500089000000000454022f00000000045401cf000000000464019f00000000004304350000000102200190000027fa0000c13d0000000012010434000000000320004c000027c80000613d00000b8803000041000000200420008c0000000004000019000000000403401900000b8802200197000000000520004c000000000300a01900000b880220009c00000000020400190000000002036019000000000220004c000027c90000c13d0000000001010433000000000210004c0000000002000019000000010200c039000000000221004b000027c90000c13d000000000110004c0000280b0000613d000000000001042d000000000100001900002e170001043000000b8d0100004100000000001004350000004101000039000000040010043f00000b8e0100004100002e1700010430000000400100043d000000640210003900000be1030000410000000000320435000000440210003900000be203000041000000000032043500000024021000390000002803000039000000000032043500000bd602000041000000000021043500000004021000390000002003000039000000000032043500000b870200004100000b870310009c0000000001028019000000400110021000000bd7011001c700002e1700010430000000640210003900000bd4030000410000000000320435000000440210003900000bd503000041000000000032043500000024021000390000003603000039000000000032043500000bd602000041000000000021043500000004021000390000002003000039000000000032043500000b870200004100000b870310009c0000000001028019000000400110021000000bd7011001c700002e1700010430000000400100043d000000440210003900000be303000041000000000032043500000bd60200004100000000002104350000002402100039000000200300003900000000003204350000000402100039000000000032043500000b870200004100000b870310009c0000000001028019000000400110021000000be4011001c700002e1700010430000000400100043d000000640210003900000bda030000410000000000320435000000440210003900000bdb03000041000000000032043500000024021000390000002a03000039000000000032043500000bd602000041000000000021043500000004021000390000002003000039000000000032043500000b870200004100000b870310009c0000000001028019000000400110021000000bd7011001c700002e17000104300000001f0430018f00000005023002720000282b0000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b000028240000413d000000000340004c000028390000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000b8701000041000000010200003100000b870320009c0000000001024019000000600110021000002e17000104300004000000000002000400000001001d00000bc5010000410000000000100435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000028c70000613d000000000101043b000000000200041100000b8b022001970000000000200435000000200010043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000028c70000613d000000400200043d000000000101043b000000000101041a000000ff01100190000028c90000613d000000200100003900000000011204360000000405000029000000000305043300000000003104350000004001200039000000000430004c000028720000613d00000000040000190000002005500039000000000605043300000b8b0660019700000000016104360000000104400039000000000634004b0000286b0000413d000000000121004900000b870300004100000b870420009c0000000002038019000000400220021000000b870410009c00000000010380190000006001100210000000000121019f000000000200041400000b870420009c0000000002038019000000c002200210000000000121019f00000bce011001c70000800d02000039000000010300003900000bdc040000412e152e0b0000040f0000000101200190000028c70000613d0000000401000029000000000201043300000c110120009c000028dd0000813d0000000304000039000000000304041a000000000024041b000300000002001d000000000132004b000028aa0000813d000100000003001d000200000004001d000000000040043500000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bdd011001c700008010020000392e152e100000040f0000000102200190000028c70000613d000000000201043b0000000301000029000000000112001900000001030000290000000002320019000000000321004b0000000204000029000028aa0000813d000000000001041b0000000101100039000000000321004b000028a60000413d000000000040043500000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bdd011001c700008010020000392e152e100000040f0000000102200190000028c70000613d0000000306000029000000000260004c0000000405000029000028c60000613d000000000101043b0000000002000019000000000301041a00000bde033001970000002005500039000000000405043300000b8b04400197000000000343019f000000000031041b00000001011000390000000102200039000000000362004b000028bb0000413d000000000001042d000000000100001900002e1700010430000000640120003900000be1030000410000000000310435000000440120003900000be203000041000000000031043500000024012000390000002803000039000000000031043500000bd601000041000000000012043500000004012000390000002003000039000000000031043500000b870100004100000b870320009c0000000001024019000000400110021000000bd7011001c700002e170001043000000b8d0100004100000000001004350000004101000039000000040010043f00000b8e0100004100002e17000104300004000000000002000400000001001d00000bc5010000410000000000100435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f00000001022001900000296b0000613d000000000101043b000000000200041100000b8b022001970000000000200435000000200010043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f00000001022001900000296b0000613d000000400200043d000000000101043b000000000101041a000000ff011001900000296d0000613d000000200100003900000000011204360000000405000029000000000305043300000000003104350000004001200039000000000430004c000029160000613d00000000040000190000002005500039000000000605043300000b8b0660019700000000016104360000000104400039000000000634004b0000290f0000413d000000000121004900000b870300004100000b870420009c0000000002038019000000400220021000000b870410009c00000000010380190000006001100210000000000121019f000000000200041400000b870420009c0000000002038019000000c002200210000000000121019f00000bce011001c70000800d02000039000000010300003900000be0040000412e152e0b0000040f00000001012001900000296b0000613d0000000401000029000000000201043300000c110120009c000029810000813d0000000404000039000000000304041a000000000024041b000300000002001d000000000132004b0000294e0000813d000100000003001d000200000004001d000000000040043500000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bdd011001c700008010020000392e152e100000040f00000001022001900000296b0000613d000000000201043b0000000301000029000000000112001900000001030000290000000002320019000000000321004b00000002040000290000294e0000813d000000000001041b0000000101100039000000000321004b0000294a0000413d000000000040043500000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bdd011001c700008010020000392e152e100000040f00000001022001900000296b0000613d0000000306000029000000000260004c00000004050000290000296a0000613d000000000101043b0000000002000019000000000301041a00000bde033001970000002005500039000000000405043300000b8b04400197000000000343019f000000000031041b00000001011000390000000102200039000000000362004b0000295f0000413d000000000001042d000000000100001900002e1700010430000000640120003900000be1030000410000000000310435000000440120003900000be203000041000000000031043500000024012000390000002803000039000000000031043500000bd601000041000000000012043500000004012000390000002003000039000000000031043500000b870100004100000b870320009c0000000001024019000000400110021000000bd7011001c700002e170001043000000b8d0100004100000000001004350000004101000039000000040010043f00000b8e0100004100002e17000104300002000000000002000200000001001d00000bc5010000410000000000100435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000029c40000613d000000000101043b000000000200041100000b8b022001970000000000200435000000200010043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000029c40000613d000000000101043b000000000101041a000000ff01100190000029c60000613d0000000103000039000000000103041a000000400200043d000000200520003900000002040000290000000000450435000000000012043500000b8701000041000000000500041400000b870450009c000000000501801900000b870420009c00000000010240190000004001100210000000c002500210000000000112019f00000bcd011001c70000800d0200003900000c1204000041000100000003001d2e152e0b0000040f0000000101200190000029c40000613d00000002010000290000000102000029000000000012041b000000000001042d000000000100001900002e1700010430000000400100043d000000640210003900000be1030000410000000000320435000000440210003900000be203000041000000000032043500000024021000390000002803000039000000000032043500000bd602000041000000000021043500000004021000390000002003000039000000000032043500000b870200004100000b870310009c0000000001028019000000400110021000000bd7011001c700002e17000104300003000000000002000300000001001d00000bc5010000410000000000100435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f000000010220019000002a200000613d000000000101043b000000000200041100000b8b022001970000000000200435000000200010043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f000000010220019000002a200000613d000000000101043b000000000101041a000000ff0110019000002a220000613d0000000201000039000200000001001d000000000301041a000000030100002900000b8b04100197000000400100043d0000002002100039000100000004001d0000000000420435000300000003001d00000b8b02300197000000000021043500000b8702000041000000000300041400000b870430009c000000000302801900000b870410009c00000000010280190000004001100210000000c002300210000000000112019f00000bcd011001c70000800d02000039000000010300003900000bdf040000412e152e0b0000040f000000010120019000002a200000613d000000030100002900000bde011001970000000102000029000000000121019f0000000202000029000000000012041b000000000001042d000000000100001900002e1700010430000000400100043d000000640210003900000be1030000410000000000320435000000440210003900000be203000041000000000032043500000024021000390000002803000039000000000032043500000bd602000041000000000021043500000004021000390000002003000039000000000032043500000b870200004100000b870310009c0000000001028019000000400110021000000bd7011001c700002e17000104300003000000000002000300000002001d000200000001001d00000bc5010000410000000000100435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f000000010220019000002ae50000613d000000000101043b000000000200041100000b8b02200197000100000002001d0000000000200435000000200010043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f000000010220019000002ae50000613d000000000101043b000000000101041a000000ff0110019000002aed0000613d0000000303000029000000000130004c00002b020000613d000000400100043d00000044021000390000000000320435000000200310003900000bef02000041000000000023043500000024021000390000000104000029000000000042043500000044020000390000000000210435000000020200002900000b8b0220019700000be70410009c00002ae70000813d0000008004100039000000400040043f0000000004000414000000040520008c00002a750000c13d0000000103000031000000000200001900002a890000013d00000b870500004100000b870630009c00000000030580190000004003300210000000000101043300000b870610009c00000000010580190000006001100210000000000131019f00000b870340009c00000000030500190000000003044019000000c003300210000000000131019f2e152e0b0000040f000000010220015f0003000000010355000000600110027000010b870010019d00000b87031001970000006001000039000000000430004c00002ab70000613d0000003f01300039000000200400008a000000000441016f000000400100043d0000000004410019000000000514004b0000000005000019000000010500403900000b890640009c00002ae70000213d000000010550019000002ae70000c13d000000400040043f0000000003310436000000030400036700000001060000310000001f0560018f000000050660027200002aa80000613d000000000700001900000005087002100000000009830019000000000884034f000000000808043b00000000008904350000000107700039000000000867004b00002aa00000413d000000000750004c00002ab70000613d0000000506600210000000000464034f00000000036300190000000305500210000000000603043300000000065601cf000000000656022f000000000404043b0000010005500089000000000454022f00000000045401cf000000000464019f0000000000430435000000010220019000002b140000c13d0000000012010434000000000320004c00002ad00000613d00000b8803000041000000200420008c0000000004000019000000000403401900000b8802200197000000000520004c000000000300a01900000b880220009c00000000020400190000000002036019000000000220004c00002ae50000c13d0000000001010433000000000210004c0000000002000019000000010200c039000000000221004b00002ae50000c13d000000000110004c00002b250000613d000000400100043d0000000302000029000000000021043500000b8702000041000000000300041400000b870430009c000000000302801900000b870410009c00000000010280190000004001100210000000c002300210000000000112019f00000bdd011001c70000800d02000039000000020300003900000c130400004100000002050000292e152e0b0000040f000000010120019000002ae50000613d000000000001042d000000000100001900002e170001043000000b8d0100004100000000001004350000004101000039000000040010043f00000b8e0100004100002e1700010430000000400100043d000000640210003900000be1030000410000000000320435000000440210003900000be203000041000000000032043500000024021000390000002803000039000000000032043500000bd602000041000000000021043500000004021000390000002003000039000000000032043500000b870200004100000b870310009c0000000001028019000000400110021000000bd7011001c700002e1700010430000000400100043d000000440210003900000c1403000041000000000032043500000024021000390000001203000039000000000032043500000bd602000041000000000021043500000004021000390000002003000039000000000032043500000b870200004100000b870310009c0000000001028019000000400110021000000be4011001c700002e1700010430000000400100043d000000440210003900000be303000041000000000032043500000bd60200004100000000002104350000002402100039000000200300003900000000003204350000000402100039000000000032043500000b870200004100000b870310009c0000000001028019000000400110021000000be4011001c700002e1700010430000000400100043d000000640210003900000bda030000410000000000320435000000440210003900000bdb03000041000000000032043500000024021000390000002a03000039000000000032043500000bd602000041000000000021043500000004021000390000002003000039000000000032043500000b870200004100000b870310009c0000000001028019000000400110021000000bd7011001c700002e17000104300002000000000002000200000001001d00000bc5010000410000000000100435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f000000010220019000002bbe0000613d000000000101043b0000000002000411000100000002001d00000b8b022001970000000000200435000000200010043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f000000010220019000002bbe0000613d000000000101043b000000000101041a000000ff0110019000002bc00000613d0000000209000029000000000190004c000000010400002900002bd50000613d0000000001000414000000040240008c00002b670000c13d0000000102000039000000010100003100002b7b0000013d00000b8702000041000000400300043d00000b870530009c000000000302801900000b870510009c0000000001028019000000c0011002100000004002300210000000000112019f00000bce011001c70000800902000039000000000309001900000000050000192e152e0b0000040f0000000209000029000000010220018f0003000000010355000000600110027000010b870010019d00000b8701100197000000000310004c00002ba80000613d0000003f03100039000000200400008a000000000443016f000000400300043d0000000004430019000000000534004b0000000005000019000000010500403900000b890640009c00002bf80000213d000000010550019000002bf80000c13d000000400040043f0000000001130436000000030300036700000001050000310000001f0450018f000000050550027200002b990000613d000000000600001900000005076002100000000008710019000000000773034f000000000707043b00000000007804350000000106600039000000000756004b00002b910000413d000000000640004c00002ba80000613d0000000505500210000000000353034f00000000015100190000000304400210000000000501043300000000054501cf000000000545022f000000000303043b0000010004400089000000000343022f00000000034301cf000000000353019f0000000000310435000000400100043d000000000220004c00002be70000613d000000000091043500000b8702000041000000000300041400000b870430009c000000000302801900000b870410009c00000000010280190000004001100210000000c002300210000000000112019f00000bdd011001c70000800d02000039000000020300003900000c130400004100000000050000192e152e0b0000040f000000010120019000002bbe0000613d000000000001042d000000000100001900002e1700010430000000400100043d000000640210003900000be1030000410000000000320435000000440210003900000be203000041000000000032043500000024021000390000002803000039000000000032043500000bd602000041000000000021043500000004021000390000002003000039000000000032043500000b870200004100000b870310009c0000000001028019000000400110021000000bd7011001c700002e1700010430000000400100043d000000440210003900000c1403000041000000000032043500000024021000390000001203000039000000000032043500000bd602000041000000000021043500000004021000390000002003000039000000000032043500000b870200004100000b870310009c0000000001028019000000400110021000000be4011001c700002e1700010430000000440210003900000c0f03000041000000000032043500000024021000390000001003000039000000000032043500000bd602000041000000000021043500000004021000390000002003000039000000000032043500000b870200004100000b870310009c0000000001028019000000400110021000000be4011001c700002e170001043000000b8d0100004100000000001004350000004101000039000000040010043f00000b8e0100004100002e17000104300004000000000002000300000002001d000400000001001d0000000000100435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f000000010220019000002c880000613d000000000101043b0000000101100039000000000101041a000100000001001d0000000000100435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f000000010220019000002c880000613d000000000101043b0000000002000411000200000002001d00000b8b022001970000000000200435000000200010043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f000000010220019000002c880000613d000000000101043b000000000101041a000000ff0110019000002c8a0000613d00000004010000290000000000100435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f000000010220019000002c880000613d000000000101043b000000030200002900000b8b02200197000100000002001d0000000000200435000000200010043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f000000010220019000002c880000613d000000000101043b000000000101041a000000ff0110019000002c870000c13d00000004010000290000000000100435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f000000010220019000002c880000613d000000000101043b00000001020000290000000000200435000000200010043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f000000010220019000002c880000613d000000000101043b000000000201041a000001000300008a000000000232016f00000001022001bf000000000021041b000000400100043d00000b8702000041000000000300041400000b870430009c000000000302801900000b870410009c00000000010280190000004001100210000000c002300210000000000112019f00000bce011001c70000800d02000039000000040300003900000bcf040000410000000405000029000000030600002900000002070000292e152e0b0000040f000000010120019000002c880000613d000000000001042d000000000100001900002e1700010430000000400100043d000000000701001900000bf60110009c00002c940000413d00000b8d0100004100000000001004350000004101000039000000040010043f00000b8e0100004100002e170001043000000000020700190000006001200039000000400010043f0000002a01000039000000000112043600000000020000310000000202200367000000000300001900000005043002100000000005410019000000000442034f000000000404043b00000000004504350000000103300039000000020430008c00002c9c0000413d0000000002070433000000000220004c00002cae0000613d000000000201043300000bf70220019700000bf8022001c700000000002104350000000002070433000000020220008c00002cb40000813d00000b8d0100004100000000001004350000003201000039000000040010043f00000b8e0100004100002e17000104300000002102700039000000000302043300000bf70330019700000bf9033001c700000000003204350000002902000039000000020500002900000000030500190000000004070433000000000424004b00002cae0000a13d0000000f0430018f0000000304400210000000f80440015f00000bfa05000041000000000445022f0000000005120019000000000605043300000bf706600197000000f804400210000000000446019f00000000004504350000000405300270000000010220008a000000010420008c00002cbb0000213d000000100130008c00000000010000190000000101004039000300000007001d2e152df70000040f00000001010000292e1524d00000040f000000400400043d000400000004001d000000200240003900000bfb030000410000000000320435000200000001001d000000370240003900000003010000292e15098c0000040f00000bfc020000410000000000210435000000110210003900000002010000292e15098c0000040f00000004030000290000000002310049000000200120008a000000000013043500000000010300192e150a120000040f00000bd601000041000000400200043d000300000002001d0000000000120435000000040120003900000004020000292e15099d0000040f0000000304000029000000000141004900000b870200004100000b870310009c000000000102801900000b870340009c000000000204401900000040022002100000006001100210000000000121019f00002e17000104300004000000000002000300000002001d000400000001001d0000000000100435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f000000010220019000002d840000613d000000000101043b0000000101100039000000000101041a000100000001001d0000000000100435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f000000010220019000002d840000613d000000000101043b0000000002000411000200000002001d00000b8b022001970000000000200435000000200010043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f000000010220019000002d840000613d000000000101043b000000000101041a000000ff0110019000002d860000613d00000004010000290000000000100435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f000000010220019000002d840000613d000000000101043b000000030200002900000b8b02200197000100000002001d0000000000200435000000200010043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f000000010220019000002d840000613d000000000101043b000000000101041a000000ff0110019000002d830000613d00000004010000290000000000100435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f000000010220019000002d840000613d000000000101043b00000001020000290000000000200435000000200010043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f000000010220019000002d840000613d000000000101043b000000000201041a000001000300008a000000000232016f000000000021041b000000400100043d00000b8702000041000000000300041400000b870430009c000000000302801900000b870410009c00000000010280190000004001100210000000c002300210000000000112019f00000bce011001c70000800d02000039000000040300003900000c02040000410000000405000029000000030600002900000002070000292e152e0b0000040f000000010120019000002d840000613d000000000001042d000000000100001900002e1700010430000000400100043d000000000701001900000bf60110009c00002d900000413d00000b8d0100004100000000001004350000004101000039000000040010043f00000b8e0100004100002e170001043000000000020700190000006001200039000000400010043f0000002a01000039000000000112043600000000020000310000000202200367000000000300001900000005043002100000000005410019000000000442034f000000000404043b00000000004504350000000103300039000000020430008c00002d980000413d0000000002070433000000000220004c00002daa0000613d000000000201043300000bf70220019700000bf8022001c700000000002104350000000002070433000000020220008c00002db00000813d00000b8d0100004100000000001004350000003201000039000000040010043f00000b8e0100004100002e17000104300000002102700039000000000302043300000bf70330019700000bf9033001c700000000003204350000002902000039000000020500002900000000030500190000000004070433000000000424004b00002daa0000a13d0000000f0430018f0000000304400210000000f80440015f00000bfa05000041000000000445022f0000000005120019000000000605043300000bf706600197000000f804400210000000000446019f00000000004504350000000405300270000000010220008a000000010420008c00002db70000213d000000100130008c00000000010000190000000101004039000300000007001d2e152df70000040f00000001010000292e1524d00000040f000000400400043d000400000004001d000000200240003900000bfb030000410000000000320435000200000001001d000000370240003900000003010000292e15098c0000040f00000bfc020000410000000000210435000000110210003900000002010000292e15098c0000040f00000004030000290000000002310049000000200120008a000000000013043500000000010300192e150a120000040f00000bd601000041000000400200043d000300000002001d0000000000120435000000040120003900000004020000292e15099d0000040f0000000304000029000000000141004900000b870200004100000b870310009c000000000102801900000b870340009c000000000204401900000040022002100000006001100210000000000121019f00002e1700010430000000000110004c00002dfa0000613d000000000001042d000000400100043d000000440210003900000c1003000041000000000032043500000bd60200004100000000002104350000002402100039000000200300003900000000003204350000000402100039000000000032043500000b870200004100000b870310009c0000000001028019000000400110021000000be4011001c700002e170001043000002e0e002104210000000102000039000000000001042d0000000002000019000000000001042d00002e13002104230000000102000039000000000001042d0000000002000019000000000001042d00002e150000043200002e160001042e00002e1700010430000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffff0000000000000000000000000000000000000000000000010000000000000000000000000000000000000000ffffffffffffffffffffffffffffffffffffffff00000002000000000000000000000000000000800000010000000000000000004e487b71000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024000000000000000000000000000000000000000000000000000000000000000000000000000000008bb9c5be00000000000000000000000000000000000000000000000000000000c8a3a5c500000000000000000000000000000000000000000000000000000000dede7f1400000000000000000000000000000000000000000000000000000000f2fde38a00000000000000000000000000000000000000000000000000000000f2fde38b00000000000000000000000000000000000000000000000000000000f874225400000000000000000000000000000000000000000000000000000000fe38c5e600000000000000000000000000000000000000000000000000000000dede7f1500000000000000000000000000000000000000000000000000000000f035038200000000000000000000000000000000000000000000000000000000d73792a800000000000000000000000000000000000000000000000000000000d73792a900000000000000000000000000000000000000000000000000000000d8baf7cf00000000000000000000000000000000000000000000000000000000dd8544b300000000000000000000000000000000000000000000000000000000c8a3a5c600000000000000000000000000000000000000000000000000000000d547741f00000000000000000000000000000000000000000000000000000000a217fdde00000000000000000000000000000000000000000000000000000000aede369200000000000000000000000000000000000000000000000000000000aede369300000000000000000000000000000000000000000000000000000000b381cf4000000000000000000000000000000000000000000000000000000000c3accd4800000000000000000000000000000000000000000000000000000000a217fddf00000000000000000000000000000000000000000000000000000000a3f4df7e0000000000000000000000000000000000000000000000000000000092f5d8890000000000000000000000000000000000000000000000000000000092f5d88a00000000000000000000000000000000000000000000000000000000952e901200000000000000000000000000000000000000000000000000000000a0cf0aea000000000000000000000000000000000000000000000000000000008bb9c5bf0000000000000000000000000000000000000000000000000000000091d14854000000000000000000000000000000000000000000000000000000004c09cf4d0000000000000000000000000000000000000000000000000000000076c7a3c6000000000000000000000000000000000000000000000000000000007c7a561a000000000000000000000000000000000000000000000000000000007c7a561b00000000000000000000000000000000000000000000000000000000809356aa000000000000000000000000000000000000000000000000000000008980f11f0000000000000000000000000000000000000000000000000000000076c7a3c70000000000000000000000000000000000000000000000000000000076ebe69c000000000000000000000000000000000000000000000000000000006b453c1e000000000000000000000000000000000000000000000000000000006b453c1f000000000000000000000000000000000000000000000000000000006bf2df860000000000000000000000000000000000000000000000000000000075d19947000000000000000000000000000000000000000000000000000000004c09cf4e0000000000000000000000000000000000000000000000000000000052a52ab000000000000000000000000000000000000000000000000000000000248a9ca20000000000000000000000000000000000000000000000000000000031ac991f0000000000000000000000000000000000000000000000000000000031ac99200000000000000000000000000000000000000000000000000000000036568abe000000000000000000000000000000000000000000000000000000003a9a408100000000000000000000000000000000000000000000000000000000248a9ca3000000000000000000000000000000000000000000000000000000002f2ff15d00000000000000000000000000000000000000000000000000000000061b15e600000000000000000000000000000000000000000000000000000000061b15e7000000000000000000000000000000000000000000000000000000001e189dc20000000000000000000000000000000000000000000000000000000000b99e360000000000000000000000000000000000000000000000000000000001ffc9a7339759585899103d2ace64958e37e18ccb0504652c81d4a1b8aa80fe2126ab950000000000000000000000000000000000000020000000000000000000000000310ab089e4439a4c15d089f94afb7896ff553aecb10793d0ab882de59d99a32effffffff0000000000000000000000000000000000000000000000000000000001ffc9a7000000000000000000000000000000000000000000000000000000007965db0b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000008000000000000000000200000200000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000004000000000000000000000000002000000000000000000000000000000000000000000000000000000000000002f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d1806aa1896bbf26568e884a7374b41e002500962caba6a15023a8d90e8508b830200000200000000000000000000000000000024000000000000000000000000dd62ed3e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004400000000000000000000000020746f206e6f6e2d7a65726f20616c6c6f77616e6365000000000000000000005361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f08c379a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084000000000000000000000000095ea7b300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffff7f6f742073756363656564000000000000000000000000000000000000000000005361666545524332303a204552433230206f7065726174696f6e20646964206e658ff1688002926d8f426cb10c052ec29003f50042df9652d8613484c1a586470200000000000000000000000000000000000020000000000000000000000000ffffffffffffffffffffffff0000000000000000000000000000000000000000b2c853ac4d80d18d058c43d8018d077a036e542a79acae1647f5ad2a8c76f4e2ebf7325f48e05e5e38809c69f8b02a7c907ed31d8768e6c2d841b1296a9225fe696e7461696e65720000000000000000000000000000000000000000000000004d61696e7461696e61626c653a2043616c6c6572206973206e6f742061206d615361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65640000000000000000000000000000000000000064000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffc059616b526f757465720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffff80ef99893a0000000000000000000000000000000000000000000000000000000069cff80d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffbf000000000000000000000000000000000000000000000000000000003b9aca0023b872dd00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffff5fa9059cbb0000000000000000000000000000000000000000000000000000000059616b526f757465723a20496e73756666696369656e742066656500000000009fc8352e52998db4087d5e6e1c1aafa38788e749e5d7a24f5cb230f737954402eab90da60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a40000000000000000000000006d6f756e7400000000000000000000000000000000000000000000000000000059616b526f757465723a20496e73756666696369656e74206f75747075742061000000000000000000000000000000000000000000000000ffffffffffffffa000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff300000000000000000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000000000000000003031323334353637383961626364656600000000000000000000000000000000416363657373436f6e74726f6c3a206163636f756e7420000000000000000000206973206d697373696e6720726f6c652000000000000000000000000000000002000002000000000000000000000000000000440000000000000000000000000000000000000000000000000000000000000000000000000de0b6b3a7640000000000000000000000000000000000000000000000000000ffffffffffffffdf00000000000000000000000000000000000000000000001fffffffffffffffff59616b526f757465723a20496e76616c6964206d61782d737465707300000000f6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b000000000000000000000001000000000000000000000000000000000000000020726f6c657320666f722073656c660000000000000000000000000000000000416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e6365697468205741564158000000000000000000000000000000000000000000000059616b526f757465723a2050617468206e6565647320746f20626567696e2077d0e30db0000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000004000000000000000000000000d505accf0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e4000000000000000000000000682057415641580000000000000000000000000000000000000000000000000059616b526f757465723a2050617468206e6565647320746f20656e64207769742e1a7d4d000000000000000000000000000000000000000000000000000000005472616e73666572206661696c65642e00000000000000000000000000000000537472696e67733a20686578206c656e67746820696e73756666696369656e7400000000000000000000000000000000000000000000000100000000000000014bb8a6184424e4bb853a4836042f5a726e4e710873989bfc6abdab19966f5b708c1256b8896378cd5044f80c202f9772b9d77dc85c8a6eb51967210b09bfaa284e6f7468696e6720746f207265636f766572000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006032945700430635b1cc1c942b18ad6d5f535c57e1fcb579db736e83bc33103e", + "devdoc": { + "kind": "dev", + "methods": { + "getRoleAdmin(bytes32)": { + "details": "Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}." + }, + "grantRole(bytes32,address)": { + "details": "Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event." + }, + "hasRole(bytes32,address)": { + "details": "Returns `true` if `account` has been granted `role`." + }, + "recoverERC20(address,uint256)": { + "params": { + "_tokenAddress": "token address", + "_tokenAmount": "amount to recover" + } + }, + "recoverNative(uint256)": { + "params": { + "_amount": "amount" + } + }, + "renounceRole(bytes32,address)": { + "details": "Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event." + }, + "revokeRole(bytes32,address)": { + "details": "Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event." + }, + "supportsInterface(bytes4)": { + "details": "See {IERC165-supportsInterface}." + } + }, + "version": 1 + }, + "userdoc": { + "kind": "user", + "methods": { + "findBestPath(uint256,address,address,uint256)": { + "notice": "Return path with best returns between two tokens" + }, + "findBestPathWithGas(uint256,address,address,uint256,uint256)": { + "notice": "Return path with best returns between two tokens Takes gas-cost into account" + }, + "queryAdapter(uint256,address,address,uint8)": { + "notice": "Query single adapter" + }, + "queryNoSplit(uint256,address,address)": { + "notice": "Query all adapters" + }, + "queryNoSplit(uint256,address,address,uint8[])": { + "notice": "Query specified adapters" + }, + "recoverERC20(address,uint256)": { + "notice": "Recover ERC20 from contract" + }, + "recoverNative(uint256)": { + "notice": "Recover native asset from contract" + }, + "swapNoSplitToAVAXWithPermit((uint256,uint256,address[],address[]),address,uint256,uint256,uint8,bytes32,bytes32)": { + "notice": "Swap token to AVAX without the need to approve the first token" + }, + "swapNoSplitWithPermit((uint256,uint256,address[],address[]),address,uint256,uint256,uint8,bytes32,bytes32)": { + "notice": "Swap token to token without the need to approve the first token" + } + }, + "version": 1 + }, + "storageLayout": { + "storage": [ + { + "astId": 24, + "contract": "src/contracts/YakRouter.sol:YakRouter", + "label": "_roles", + "offset": 0, + "slot": "0", + "type": "t_mapping(t_bytes32,t_struct(RoleData)19_storage)" + }, + { + "astId": 1042, + "contract": "src/contracts/YakRouter.sol:YakRouter", + "label": "MIN_FEE", + "offset": 0, + "slot": "1", + "type": "t_uint256" + }, + { + "astId": 1044, + "contract": "src/contracts/YakRouter.sol:YakRouter", + "label": "FEE_CLAIMER", + "offset": 0, + "slot": "2", + "type": "t_address" + }, + { + "astId": 1047, + "contract": "src/contracts/YakRouter.sol:YakRouter", + "label": "TRUSTED_TOKENS", + "offset": 0, + "slot": "3", + "type": "t_array(t_address)dyn_storage" + }, + { + "astId": 1050, + "contract": "src/contracts/YakRouter.sol:YakRouter", + "label": "ADAPTERS", + "offset": 0, + "slot": "4", + "type": "t_array(t_address)dyn_storage" + } + ], + "types": { + "t_address": { + "encoding": "inplace", + "label": "address", + "numberOfBytes": "20" + }, + "t_array(t_address)dyn_storage": { + "base": "t_address", + "encoding": "dynamic_array", + "label": "address[]", + "numberOfBytes": "32" + }, + "t_bool": { + "encoding": "inplace", + "label": "bool", + "numberOfBytes": "1" + }, + "t_bytes32": { + "encoding": "inplace", + "label": "bytes32", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_bool)": { + "encoding": "mapping", + "key": "t_address", + "label": "mapping(address => bool)", + "numberOfBytes": "32", + "value": "t_bool" + }, + "t_mapping(t_bytes32,t_struct(RoleData)19_storage)": { + "encoding": "mapping", + "key": "t_bytes32", + "label": "mapping(bytes32 => struct AccessControl.RoleData)", + "numberOfBytes": "32", + "value": "t_struct(RoleData)19_storage" + }, + "t_struct(RoleData)19_storage": { + "encoding": "inplace", + "label": "struct AccessControl.RoleData", + "members": [ + { + "astId": 16, + "contract": "src/contracts/YakRouter.sol:YakRouter", + "label": "members", + "offset": 0, + "slot": "0", + "type": "t_mapping(t_address,t_bool)" + }, + { + "astId": 18, + "contract": "src/contracts/YakRouter.sol:YakRouter", + "label": "adminRole", + "offset": 0, + "slot": "1", + "type": "t_bytes32" + } + ], + "numberOfBytes": "64" + }, + "t_uint256": { + "encoding": "inplace", + "label": "uint256", + "numberOfBytes": "32" + } + } + }, + "factoryDeps": [ + "0x000400000000000200010000000000020000000003010019000000600330027000000b87043001970003000000410355000200000001035500000b870030019d000100000000001f0000000101200190000000250000c13d0000008001000039000000400010043f0000000001000031000000040210008c000000730000413d0000000202000367000000000202043b000000e00220027000000b8f0320009c000000770000a13d00000b900320009c0000008f0000213d00000b9e0120009c000000bb0000213d00000ba50120009c000001710000a13d00000ba60120009c000002300000613d00000ba70120009c000002450000613d00000ba80120009c000004240000c13d0000000001000416000000000110004c000004240000c13d000003c90000013d000000a001000039000000400010043f0000000001000416000000000110004c000004240000c13d0000000001000031000000bf03100039000000200200008a000000000323016f000000400030043f0000001f0310018f000000020400036700000005051002720000003c0000613d00000000060000190000000507600210000000000874034f000000000808043b000000a00770003900000000008704350000000106600039000000000756004b000000340000413d000000000630004c0000004b0000613d0000000505500210000000000454034f0000000303300210000000a005500039000000000605043300000000063601cf000000000636022f000000000404043b0000010003300089000000000434022f00000000033401cf000000000363019f000000000035043500000b8803000041000000800410008c0000000004000019000000000403401900000b8805100197000000000650004c000000000300a01900000b880550009c000000000304c019000000000330004c000004240000c13d000000a00500043d00000b890350009c000004240000213d000000a003100039000000bf0150003900000b8804000041000000000631004b0000000006000019000000000604801900000b880730019700000b8801100197000000000871004b0000000004008019000000000171013f00000b880110009c00000000010600190000000001046019000000000110004c000004240000c13d000000a001500039000000000401043300000b8a0140009c000000f30000413d00000b8d0100004100000000001004350000004101000039000000040010043f00000b8e0100004100002e1700010430000000000110004c000004240000c13d000000000100001900002e160001042e00000bab0120009c000000a50000a13d00000bac0120009c000000cf0000213d00000bb30120009c0000018a0000a13d00000bb40120009c000002630000613d00000bb50120009c0000026f0000613d00000bb60120009c000004240000c13d0000000001000416000000000110004c000004240000c13d00000000010000312e1508a90000040f2e1523fa0000040f00000b8701000041000000400200043d00000b870320009c0000000001024019000000400110021000002e160001042e00000b910320009c000000e30000213d00000b980120009c000001ac0000a13d00000b990120009c0000027b0000613d00000b9a0120009c000002950000613d00000b9b0120009c000004240000c13d0000000001000416000000000110004c000004240000c13d00000000010000312e1507d50000040f2e1526c50000040f00000b8701000041000000400200043d00000b870320009c0000000001024019000000400110021000002e160001042e00000bb90120009c000001550000a13d00000bba0120009c000001bc0000a13d00000bbb0120009c000002a10000613d00000bbc0120009c000002bc0000613d00000bbd0120009c000004240000c13d0000000001000416000000000110004c000004240000c13d00000000010000312e1508010000040f2e1528e30000040f00000b8701000041000000400200043d00000b870320009c0000000001024019000000400110021000002e160001042e00000b9f0120009c000001cc0000a13d00000ba00120009c000002c80000613d00000ba10120009c000002e30000613d00000ba20120009c000004240000c13d0000000001000416000000000110004c000004240000c13d00000000010000312e1507d50000040f2e1529db0000040f00000b8701000041000000400200043d00000b870320009c0000000001024019000000400110021000002e160001042e00000bad0120009c000001f10000a13d00000bae0120009c000003070000613d00000baf0120009c000003220000613d00000bb00120009c000004240000c13d0000000001000416000000000110004c000004240000c13d00000000010000312e1507ea0000040f2e152a370000040f00000b8701000041000000400200043d00000b870320009c0000000001024019000000400110021000002e160001042e00000b920320009c000002100000a13d00000b930320009c000003300000613d00000b940320009c0000033c0000613d00000b950220009c000004240000c13d2e15087f0000040f2e151fa40000040f00000b8701000041000000400200043d00000b870320009c0000000001024019000000400110021000002e160001042e00000005064002100000003f01600039000000000721016f000000400100043d0000000007710019000000000817004b0000000008000019000000010800403900000b890970009c0000006d0000213d00000001088001900000006d0000c13d000000400070043f0000000000410435000000c0055000390000000006560019000000000636004b000004240000213d000000000640004c000001110000613d00000000060000190000000007010019000000005805043400000b8b0980009c000004240000213d000000200770003900000000008704350000000106600039000000000846004b000001090000413d000000c00500043d00000b890450009c000004240000213d000000bf0450003900000b8806000041000000000734004b0000000007000019000000000706801900000b880830019700000b8804400197000000000984004b0000000006008019000000000484013f00000b880440009c00000000040700190000000004066019000000000440004c000004240000c13d000000a004500039000000000404043300000b890640009c0000006d0000213d00000005064002100000003f07600039000000000727016f000000400200043d0000000007720019000000000827004b0000000008000019000000010800403900000b890970009c0000006d0000213d00000001088001900000006d0000c13d000000400070043f0000000000420435000000c0055000390000000006560019000000000336004b000004240000213d000000000340004c000001450000613d00000000030000190000000006020019000000005705043400000b8b0870009c000004240000213d000000200660003900000000007604350000000103300039000000000743004b0000013d0000413d000000e00300043d00000b8b0430009c000004240000213d000001000400043d00000b8b0540009c000004240000213d2e1504370000040f000000800100043d00000140000004430000016000100443000000200100003900000100001004430000000101000039000001200010044300000b8c0100004100002e160001042e00000bc00120009c000002200000213d00000bc30120009c000003560000613d00000bc40120009c000004240000c13d0000000001000416000000000110004c000004240000c13d00000000010000312e1508690000040f00000bc80110019700000bc90210009c0000000002000019000000010200603900000bca0110009c00000000010000190000000101006039000000000121019f000000010110018f000000400200043d000000000012043500000b870100004100000b870320009c0000000001024019000000400110021000000bc6011001c700002e160001042e00000ba90120009c0000036d0000613d00000baa0120009c000004240000c13d0000000001000416000000000110004c000004240000c13d00000000010000312e1508520000040f000100000002001d2e1526b50000040f00000001020000292e1526a40000040f000000000101041a000000ff011001900000000001000019000000010100c039000000400200043d000000000012043500000b870100004100000b870320009c0000000001024019000000400110021000000bc6011001c700002e160001042e00000bb70120009c000003880000613d00000bb80120009c000004240000c13d0000000001000416000000000110004c000004240000c13d000000040100008a000000000110003100000b8802000041000000200310008c0000000003000019000000000302401900000b8801100197000000000410004c000000000200a01900000b880110009c00000000010300190000000001026019000000000110004c000004240000c13d00000004010000390000000201100367000000000101043b2e15268b0000040f00000b8b01100197000000400200043d000000000012043500000b870100004100000b870320009c0000000001024019000000400110021000000bc6011001c700002e160001042e00000b9c0120009c0000039d0000613d00000b9d0120009c000004240000c13d0000000001000416000000000110004c000004240000c13d00000000010000312e1508520000040f2e152cfb0000040f00000b8701000041000000400200043d00000b870320009c0000000001024019000000400110021000002e160001042e00000bbe0120009c000003a90000613d00000bbf0120009c000004240000c13d0000000001000416000000000110004c000004240000c13d00000000010000312e1508520000040f2e152bfe0000040f00000b8701000041000000400200043d00000b870320009c0000000001024019000000400110021000002e160001042e00000ba30120009c000003c60000613d00000ba40120009c000004240000c13d0000000001000416000000000110004c000004240000c13d000000040100008a000000000110003100000b8802000041000000000310004c0000000003000019000000000302401900000b8801100197000000000410004c000000000200a01900000b880110009c00000000010300190000000001026019000000000110004c000004240000c13d2e150a010000040f0000000002010019000000400100043d000100000001001d2e15099d0000040f0000000104000029000000000141004900000b870200004100000b870310009c000000000102801900000b870340009c000000000204401900000040022002100000006001100210000000000121019f00002e160001042e00000bb10120009c000003df0000613d00000bb20120009c000004240000c13d0000000001000416000000000110004c000004240000c13d000000040100008a000000000110003100000b8802000041000000000310004c0000000003000019000000000302401900000b8801100197000000000410004c000000000200a01900000b880110009c00000000010300190000000001026019000000000110004c000004240000c13d0000000301000039000000000101041a000000400200043d000000000012043500000b870100004100000b870320009c0000000001024019000000400110021000000bc6011001c700002e160001042e00000b960120009c000003fa0000613d00000b970120009c000004240000c13d0000000001000416000000000110004c000004240000c13d00000000010000312e15087f0000040f2e15229f0000040f00000b8701000041000000400200043d00000b870320009c0000000001024019000000400110021000002e160001042e00000bc10120009c0000040f0000613d00000bc20120009c000004240000c13d0000000001000416000000000110004c000004240000c13d00000000010000312e1508a90000040f2e1520850000040f00000b8701000041000000400200043d00000b870320009c0000000001024019000000400110021000002e160001042e0000000001000416000000000110004c000004240000c13d00000000010000312e1508f80000040f2e151bb70000040f0000000002010019000000400100043d000100000001001d2e1509f00000040f0000000104000029000000000141004900000b870200004100000b870310009c000000000102801900000b870340009c000000000204401900000040022002100000006001100210000000000121019f00002e160001042e0000000001000416000000000110004c000004240000c13d000000040100008a000000000110003100000b8802000041000000200310008c0000000003000019000000000302401900000b8801100197000000000410004c000000000200a01900000b880110009c00000000010300190000000001026019000000000110004c000004240000c13d00000004010000390000000201100367000000000101043b2e1526720000040f00000b8b01100197000000400200043d000000000012043500000b870100004100000b870320009c0000000001024019000000400110021000000bc6011001c700002e160001042e0000000001000416000000000110004c000004240000c13d00000000010000312e1507d50000040f2e1515aa0000040f00000b8701000041000000400200043d00000b870320009c0000000001024019000000400110021000002e160001042e0000000001000416000000000110004c000004240000c13d00000000010000312e15087f0000040f2e1524cb0000040f00000b8701000041000000400200043d00000b870320009c0000000001024019000000400110021000002e160001042e0000000001000416000000000110004c000004240000c13d000000040100008a000000000110003100000b8802000041000000000310004c0000000003000019000000000302401900000b8801100197000000000410004c000000000200a01900000b880110009c00000000010300190000000001026019000000000110004c000004240000c13d000000400100043d0000271002000039000000000021043500000b870200004100000b870310009c0000000001028019000000400110021000000bc6011001c700002e160001042e0000000001000416000000000110004c000004240000c13d00000000010000312e1507d50000040f2e151dc40000040f00000b8701000041000000400200043d00000b870320009c0000000001024019000000400110021000002e160001042e0000000001000416000000000110004c000004240000c13d000000040100008a000000000110003100000b8802000041000000200310008c0000000003000019000000000302401900000b8801100197000000000410004c000000000200a01900000b880110009c00000000010300190000000001026019000000000110004c000004240000c13d00000004010000390000000201100367000000000101043b2e1529870000040f00000b8701000041000000400200043d00000b870320009c0000000001024019000000400110021000002e160001042e0000000001000416000000000110004c000004240000c13d00000000010000312e1508520000040f2e151f320000040f00000b8701000041000000400200043d00000b870320009c0000000001024019000000400110021000002e160001042e0000000001000416000000000110004c000004240000c13d000000040100008a000000000110003100000b8802000041000000200310008c0000000003000019000000000302401900000b8801100197000000000410004c000000000200a01900000b880110009c00000000010300190000000001026019000000000110004c000004240000c13d00000004010000390000000201100367000000000101043b2e152b3a0000040f00000b8701000041000000400200043d00000b870320009c0000000001024019000000400110021000002e160001042e0000000001000416000000000110004c000004240000c13d000000040100008a000000000110003100000b8802000041000000000310004c0000000003000019000000000302401900000b8801100197000000000410004c000000000200a01900000b880110009c00000000010300190000000001026019000000000110004c000004240000c13d000000400100043d000100000001001d00000bc7010000410000000000100439000000000100041200000004001004430000002400000443000080050100003900000044020000392e1504260000040f00000b8b011001970000000103000029000000000013043500000b870100004100000b870230009c0000000001034019000000400110021000000bc6011001c700002e160001042e0000000001000416000000000110004c000004240000c13d000000040100008a000000000110003100000b8802000041000000000310004c0000000003000019000000000302401900000b8801100197000000000410004c000000000200a01900000b880110009c00000000010300190000000001026019000000000110004c000004240000c13d0000000401000039000000000101041a000000400200043d000000000012043500000b870100004100000b870320009c0000000001024019000000400110021000000bc6011001c700002e160001042e0000000001000416000000000110004c000004240000c13d00000000010000312e15096d0000040f2e151b000000040f000000400200043d000000000012043500000b870100004100000b870320009c0000000001024019000000400110021000000bc6011001c700002e160001042e0000000001000416000000000110004c000004240000c13d00000000010000312e1507d50000040f2e1525260000040f00000b8701000041000000400200043d00000b870320009c0000000001024019000000400110021000002e160001042e0000000001000416000000000110004c000004240000c13d000000040100008a000000000110003100000b8802000041000000000310004c0000000003000019000000000302401900000b8801100197000000000410004c000000000200a01900000b880110009c00000000010300190000000001026019000000000110004c000004240000c13d000000400100043d00000bc502000041000000000021043500000b870200004100000b870310009c0000000001028019000000400110021000000bc6011001c700002e160001042e0000000001000416000000000110004c000004240000c13d000000040100008a000000000110003100000b8802000041000000000310004c0000000003000019000000000302401900000b8801100197000000000410004c000000000200a01900000b880110009c00000000010300190000000001026019000000000110004c000004240000c13d0000000201000039000000000101041a00000b8b01100197000000800010043f00000bcb0100004100002e160001042e0000000001000416000000000110004c000004240000c13d000000040100008a000000000110003100000b8802000041000000200310008c0000000003000019000000000302401900000b8801100197000000000410004c000000000200a01900000b880110009c00000000010300190000000001026019000000000110004c000004240000c13d00000004010000390000000201100367000000000101043b2e151ec00000040f00000b8701000041000000400200043d00000b870320009c0000000001024019000000400110021000002e160001042e0000000001000416000000000110004c000004240000c13d00000000010000312e1509310000040f2e15198c0000040f0000000002010019000000400100043d000100000001001d2e1509b50000040f0000000104000029000000000141004900000b870200004100000b870310009c000000000102801900000b870340009c000000000204401900000040022002100000006001100210000000000121019f00002e160001042e0000000001000416000000000110004c000004240000c13d00000000010000312e1508010000040f2e15283f0000040f00000b8701000041000000400200043d00000b870320009c0000000001024019000000400110021000002e160001042e0000000001000416000000000110004c000004240000c13d000000040100008a000000000110003100000b8802000041000000200310008c0000000003000019000000000302401900000b8801100197000000000410004c000000000200a01900000b880110009c00000000010300190000000001026019000000000110004c000004240000c13d00000004010000390000000201100367000000000101043b2e151aee0000040f000000400200043d000000000012043500000b870100004100000b870320009c0000000001024019000000400110021000000bc6011001c700002e160001042e0000000001000416000000000110004c000004240000c13d000000040100008a000000000110003100000b8802000041000000000310004c0000000003000019000000000302401900000b8801100197000000000410004c000000000200a01900000b880110009c00000000010300190000000001026019000000000110004c000004240000c13d000000400100043d000000000001043500000b870200004100000b870310009c0000000001028019000000400110021000000bc6011001c700002e160001042e0000000001000416000000000110004c000004240000c13d000000040100008a000000000110003100000b8802000041000000000310004c0000000003000019000000000302401900000b8801100197000000000410004c000000000200a01900000b880110009c00000000010300190000000001026019000000000110004c000004240000c13d0000000101000039000000000101041a000000400200043d000000000012043500000b870100004100000b870320009c0000000001024019000000400110021000000bc6011001c700002e160001042e0000000001000416000000000110004c000004240000c13d00000000010000312e1508dd0000040f2e151cc10000040f0000000002010019000000400100043d000100000001001d2e1509f00000040f0000000104000029000000000141004900000b870200004100000b870310009c000000000102801900000b870340009c000000000204401900000040022002100000006001100210000000000121019f00002e160001042e0000000001000416000000000110004c000004240000c13d00000000010000312e15094e0000040f2e1516a70000040f0000000002010019000000400100043d000100000001001d2e1509b50000040f0000000104000029000000000141004900000b870200004100000b870310009c000000000102801900000b870340009c000000000204401900000040022002100000006001100210000000000121019f00002e160001042e000000000100001900002e1700010430000000000301001900000b8701000041000000000400041400000b870540009c0000000001044019000000c0011002100000006002200210000000000112001900000bcc0110004100000000020300192e152e100000040f0000000102200190000004350000613d000000000101043b000000000001042d000000000100001900002e17000104300009000000000002000600000004001d000300000003001d000800000002001d000700000001001d0000000000000435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000007370000613d000000000101043b0000000002000411000500000002001d00000b8b02200197000900000002001d0000000000200435000000200010043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000007370000613d000000000101043b000000000101041a000000ff01100190000004910000c13d0000000000000435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000007370000613d000000000101043b00000009020000290000000000200435000000200010043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000007370000613d000000000101043b000000000201041a000001000300008a000000000232016f00000001022001bf000000000021041b000000400100043d00000b8702000041000000000300041400000b870430009c000000000302801900000b870410009c00000000010280190000004001100210000000c002300210000000000112019f00000bce011001c70000800d02000039000000040300003900000bcf040000410000000005000019000000050600002900000000070600192e152e0b0000040f0000000101200190000007370000613d00000bc5010000410000000000100435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000007370000613d000000000101043b00000009020000290000000000200435000000200010043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000007370000613d000000000101043b000000000101041a000000ff01100190000004e50000c13d00000bc5010000410000000000100435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000007370000613d000000000101043b00000009020000290000000000200435000000200010043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000007370000613d000000000101043b000000000201041a000001000300008a000000000232016f00000001022001bf000000000021041b000000400100043d00000b8702000041000000000300041400000b870430009c000000000302801900000b870410009c00000000010280190000004001100210000000c002300210000000000112019f00000bce011001c70000800d02000039000000040300003900000bcf0400004100000bc505000041000000050600002900000000070600192e152e0b0000040f0000000101200190000007370000613d0000000101000039000400000001001d000000000001041b00000bc5010000410000000000100435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000007370000613d000000000101043b00000009020000290000000000200435000000200010043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000007370000613d000000000101043b000000000101041a000000ff011001900000073f0000613d00000bd0010000410000000000100439000000060100002900000b8b01100197000500000001001d000000040010044300000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bd1011001c700008002020000392e152e100000040f00000005060000290000000102200190000007370000613d000000000101043b000000000110004c000007370000613d000000400900043d00000bd2010000410000000000190435000000000100041000000b8b0210019700000004039000390000000001000414000000000023043500000024029000390000000000620435000000040260008c000005290000c13d00000001030000310000055c0000013d00000b870200004100000b870310009c000000000102801900000b870390009c00000000020940190000004002200210000000c001100210000000000121019f00000bd3011001c70000000002060019000200000009001d2e152e100000040f00000002090000290000000003010019000000600330027000000b8703300197000000200430008c000000200500003900000000050340190000001f0450018f0000000505500272000005480000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b000005400000413d000000000640004c000005570000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f000300000001035500000001022001900000000506000029000007b60000613d0000001f01300039000000200700008a000000000271016f0000000001920019000000000221004b0000000002000019000000010200403900000b890310009c000007390000213d0000000102200190000007390000c13d000000400010043f00000b88020000410000000103000031000000200430008c0000000004000019000000000402401900000b8803300197000000000530004c000000000200a01900000b880330009c000000000204c019000000000220004c000007370000c13d0000000002090433000000000220004c000007540000c13d0000004402100039000000010300008a0000000000320435000000200210003900000bd8030000410000000000320435000000240310003900000000006304350000004403000039000000000031043500000bd90310009c000007390000213d0000008003100039000000400030043f0000000003000414000000040460008c0000058a0000c13d0000000102000031000005a20000013d00000b870400004100000b870520009c00000000020480190000004002200210000000000101043300000b870510009c00000000010480190000006001100210000000000121019f00000b870230009c00000000020400190000000002034019000000c002200210000000000121019f0000000002060019000500000007001d2e152e0b0000040f0000000507000029000000010220018f000400000002001d0003000000010355000000600110027000010b870010019d00000b87021001970000006001000039000000000320004c000005cf0000613d0000003f01200039000000000371016f000000400100043d0000000003310019000000000413004b0000000004000019000000010400403900000b890530009c000007390000213d0000000104400190000007390000c13d000000400030043f0000000002210436000000030300036700000001050000310000001f0450018f0000000505500272000005c00000613d000000000600001900000005076002100000000008720019000000000773034f000000000707043b00000000007804350000000106600039000000000756004b000005b80000413d000000000640004c000005cf0000613d0000000505500210000000000353034f00000000025200190000000304400210000000000502043300000000054501cf000000000545022f000000000303043b0000010004400089000000000343022f00000000034301cf000000000353019f00000000003204350000000402000029000000000220004c000007680000613d0000000012010434000000000320004c000005e90000613d00000b8803000041000000200420008c0000000004000019000000000403401900000b8802200197000000000520004c000000000300a01900000b880220009c00000000020400190000000002036019000000000220004c000007370000c13d0000000001010433000000000210004c0000000002000019000000010200c039000000000221004b000007370000c13d000000000110004c000007a10000613d00000bc5010000410000000000100435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000007370000613d000000000101043b00000009020000290000000000200435000000200010043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000007370000613d000000400200043d000000000101043b000000000101041a000000ff01100190000007790000613d0000002001000039000400000001001d00000000011204360000000803000029000000000303043300000000003104350000004001200039000000000430004c0000061b0000613d000000000400001900000008050000290000002005500039000000000605043300000b8b0660019700000000016104360000000104400039000000000634004b000006140000413d000000000121004900000b870300004100000b870420009c0000000002038019000000400220021000000b870410009c00000000010380190000006001100210000000000121019f000000000200041400000b870420009c0000000002038019000000c002200210000000000121019f00000bce011001c70000800d02000039000000010300003900000bdc040000412e152e0b0000040f0000000101200190000007370000613d0000000801000029000000000201043300000b8a0120009c000007390000213d0000000304000039000000000304041a000000000024041b000500000002001d000000000132004b000006530000813d000100000003001d000200000004001d000000000040043500000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bdd011001c700008010020000392e152e100000040f0000000102200190000007370000613d000000000201043b0000000501000029000000000112001900000001030000290000000002320019000000000321004b0000000204000029000006530000813d000000000001041b0000000101100039000000000321004b0000064f0000413d000000000040043500000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bdd011001c700008010020000392e152e100000040f0000000102200190000007370000613d0000000506000029000000000260004c00000008050000290000066f0000613d000000000101043b0000000002000019000000000301041a00000bde033001970000002005500039000000000405043300000b8b04400197000000000343019f000000000031041b00000001011000390000000102200039000000000362004b000006640000413d00000bc5010000410000000000100435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000007370000613d000000000101043b00000009020000290000000000200435000000200010043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000007370000613d000000000101043b000000000101041a000000ff011001900000073f0000613d0000000201000039000800000001001d000000000301041a000000030100002900000b8b04100197000000400100043d0000002002100039000300000004001d0000000000420435000500000003001d00000b8b02300197000000000021043500000b8702000041000000000300041400000b870430009c000000000302801900000b870410009c00000000010280190000004001100210000000c002300210000000000112019f00000bcd011001c70000800d02000039000000010300003900000bdf040000412e152e0b0000040f0000000101200190000007370000613d000000050100002900000bde011001970000000302000029000000000121019f0000000802000029000000000012041b00000bc5010000410000000000100435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000007370000613d000000000101043b00000009020000290000000000200435000000200010043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000007370000613d000000400200043d000000000101043b000000000101041a000000ff011001900000078d0000613d000000040100002900000000011204360000000705000029000000000305043300000000003104350000004001200039000000000430004c000006e00000613d00000000040000190000002005500039000000000605043300000b8b0660019700000000016104360000000104400039000000000634004b000006d90000413d000000000121004900000b870300004100000b870420009c0000000002038019000000400220021000000b870410009c00000000010380190000006001100210000000000121019f000000000200041400000b870420009c0000000002038019000000c002200210000000000121019f00000bce011001c70000800d02000039000000010300003900000be0040000412e152e0b0000040f0000000101200190000007370000613d0000000701000029000000000201043300000b8a0120009c000007390000213d0000000404000039000000000304041a000000000024041b000900000002001d000000000132004b000007180000813d000500000003001d000800000004001d000000000040043500000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bdd011001c700008010020000392e152e100000040f0000000102200190000007370000613d000000000201043b0000000901000029000000000112001900000005030000290000000002320019000000000321004b0000000804000029000007180000813d000000000001041b0000000101100039000000000321004b000007140000413d000000000040043500000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bdd011001c700008010020000392e152e100000040f0000000102200190000007370000613d0000000906000029000000000260004c0000000705000029000007340000613d000000000101043b0000000002000019000000000301041a00000bde033001970000002005500039000000000405043300000b8b04400197000000000343019f000000000031041b00000001011000390000000102200039000000000362004b000007290000413d0000000601000029000000800010043f000000000001042d000000000100001900002e170001043000000b8d0100004100000000001004350000004101000039000000040010043f00000b8e0100004100002e1700010430000000400100043d000000640210003900000be1030000410000000000320435000000440210003900000be203000041000000000032043500000024021000390000002803000039000000000032043500000bd602000041000000000021043500000004021000390000002003000039000000000032043500000b870200004100000b870310009c0000000001028019000000400110021000000bd7011001c700002e1700010430000000640210003900000bd4030000410000000000320435000000440210003900000bd503000041000000000032043500000024021000390000003603000039000000000032043500000bd602000041000000000021043500000004021000390000002003000039000000000032043500000b870200004100000b870310009c0000000001028019000000400110021000000bd7011001c700002e1700010430000000400100043d000000440210003900000be303000041000000000032043500000bd60200004100000000002104350000002402100039000000200300003900000000003204350000000402100039000000000032043500000b870200004100000b870310009c0000000001028019000000400110021000000be4011001c700002e1700010430000000640120003900000be1030000410000000000310435000000440120003900000be203000041000000000031043500000024012000390000002803000039000000000031043500000bd601000041000000000012043500000004012000390000002003000039000000000031043500000b870100004100000b870320009c0000000001024019000000400110021000000bd7011001c700002e1700010430000000640120003900000be1030000410000000000310435000000440120003900000be203000041000000000031043500000024012000390000002803000039000000000031043500000bd601000041000000000012043500000004012000390000000403000029000000000031043500000b870100004100000b870320009c0000000001024019000000400110021000000bd7011001c700002e1700010430000000400100043d000000640210003900000bda030000410000000000320435000000440210003900000bdb03000041000000000032043500000024021000390000002a03000039000000000032043500000bd602000041000000000021043500000004021000390000002003000039000000000032043500000b870200004100000b870310009c0000000001028019000000400110021000000bd7011001c700002e17000104300000001f0430018f0000000502300272000007c10000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b000007ba0000413d000000000340004c000007cf0000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000b8701000041000000010200003100000b870320009c0000000001024019000000600110021000002e1700010430000000040110008a00000b88020000410000001f0310008c0000000003000019000000000302201900000b8801100197000000000410004c000000000200801900000b880110009c00000000010300190000000001026019000000000110004c000007e80000613d00000004010000390000000201100367000000000101043b00000b8b0210009c000007e80000213d000000000001042d000000000100001900002e1700010430000000040110008a00000b88020000410000003f0310008c0000000003000019000000000302201900000b8801100197000000000410004c000000000200801900000b880110009c00000000010300190000000001026019000000000110004c000007ff0000613d00000002020003670000000401200370000000000101043b00000b8b0310009c000007ff0000213d0000002402200370000000000202043b000000000001042d000000000100001900002e1700010430000000040210008a00000b88030000410000001f0420008c0000000004000019000000000403201900000b8802200197000000000520004c000000000300801900000b880220009c00000000020400190000000002036019000000000220004c0000084a0000613d00000002020003670000000403200370000000000403043b00000b890340009c0000084a0000213d000000230340003900000b8805000041000000000613004b0000000006000019000000000605801900000b880710019700000b8803300197000000000873004b0000000005008019000000000373013f00000b880330009c00000000030600190000000003056019000000000330004c0000084a0000c13d0000000403400039000000000232034f000000000302043b00000b8a0230009c0000084c0000813d00000005053002100000003f02500039000000200600008a000000000662016f000000400200043d0000000006620019000000000726004b0000000007000019000000010700403900000b890860009c0000084c0000213d00000001077001900000084c0000c13d000000400060043f000000000032043500000024044000390000000005540019000000000115004b0000084a0000213d000000000130004c000008480000613d000000000100001900000000050200190000000206400367000000000606043b00000b8b0760009c0000084a0000213d0000002005500039000000000065043500000020044000390000000101100039000000000631004b0000083e0000413d0000000001020019000000000001042d000000000100001900002e170001043000000b8d0100004100000000001004350000004101000039000000040010043f00000b8e0100004100002e1700010430000000040110008a00000b88020000410000003f0310008c0000000003000019000000000302201900000b8801100197000000000410004c000000000200801900000b880110009c00000000010300190000000001026019000000000110004c000008670000613d00000002010003670000002402100370000000000202043b00000b8b0320009c000008670000213d0000000401100370000000000101043b000000000001042d000000000100001900002e1700010430000000040110008a00000b88020000410000001f0310008c0000000003000019000000000302201900000b8801100197000000000410004c000000000200801900000b880110009c00000000010300190000000001026019000000000110004c0000087d0000613d00000004010000390000000201100367000000000101043b00000bc802100197000000000221004b0000087d0000c13d000000000001042d000000000100001900002e17000104300000000002010019000000040120008a00000b88030000410000005f0410008c0000000004000019000000000403201900000b8801100197000000000510004c000000000300801900000b880110009c00000000010400190000000001036019000000000110004c000008a70000613d00000002030003670000000401300370000000000101043b00000b890410009c000008a70000213d0000000401100039000000000212004900000b8804000041000000800520008c0000000005000019000000000504401900000b8802200197000000000620004c000000000400a01900000b880220009c00000000020500190000000002046019000000000220004c000008a70000c13d0000002402300370000000000202043b00000b8b0420009c000008a70000213d0000004403300370000000000303043b000000000001042d000000000100001900002e17000104300000000002010019000000040120008a00000b8803000041000000df0410008c0000000004000019000000000403201900000b8801100197000000000510004c000000000300801900000b880110009c00000000010400190000000001036019000000000110004c000008db0000613d00000002070003670000000401700370000000000101043b00000b890310009c000008db0000213d0000000401100039000000000212004900000b8803000041000000800420008c0000000004000019000000000403401900000b8802200197000000000520004c000000000300a01900000b880220009c00000000020400190000000002036019000000000220004c000008db0000c13d0000002402700370000000000202043b00000b8b0320009c000008db0000213d0000008403700370000000000503043b000000ff0350008c000008db0000213d0000004403700370000000000303043b0000006404700370000000000404043b000000a406700370000000000606043b000000c407700370000000000707043b000000000001042d000000000100001900002e1700010430000000040110008a00000b88020000410000005f0310008c0000000003000019000000000302201900000b8801100197000000000410004c000000000200801900000b880110009c00000000010300190000000001026019000000000110004c000008f60000613d00000002030003670000000401300370000000000101043b0000002402300370000000000202043b00000b8b0420009c000008f60000213d0000004403300370000000000303043b00000b8b0430009c000008f60000213d000000000001042d000000000100001900002e1700010430000000040210008a00000b88030000410000007f0420008c0000000004000019000000000403201900000b8802200197000000000520004c000000000300801900000b880220009c00000000020400190000000002036019000000000220004c0000092f0000613d00000002040003670000000402400370000000000602043b0000002402400370000000000202043b00000b8b0320009c0000092f0000213d0000004403400370000000000303043b00000b8b0530009c0000092f0000213d0000006405400370000000000705043b00000b890570009c0000092f0000213d000000230570003900000b8808000041000000000915004b0000000009000019000000000908801900000b880a10019700000b8805500197000000000ba5004b00000000080080190000000005a5013f00000b880550009c00000000050900190000000005086019000000000550004c0000092f0000c13d0000000405700039000000000454034f000000000504043b00000b890450009c0000092f0000213d000000050850021000000024047000390000000007840019000000000117004b0000092f0000213d0000000001060019000000000001042d000000000100001900002e1700010430000000040110008a00000b88020000410000007f0310008c0000000003000019000000000302201900000b8801100197000000000410004c000000000200801900000b880110009c00000000010300190000000001026019000000000110004c0000094c0000613d00000002040003670000000401400370000000000101043b0000002402400370000000000202043b00000b8b0320009c0000094c0000213d0000004403400370000000000303043b00000b8b0530009c0000094c0000213d0000006404400370000000000404043b000000000001042d000000000100001900002e1700010430000000040110008a00000b88020000410000009f0310008c0000000003000019000000000302201900000b8801100197000000000410004c000000000200801900000b880110009c00000000010300190000000001026019000000000110004c0000096b0000613d00000002050003670000000401500370000000000101043b0000002402500370000000000202043b00000b8b0320009c0000096b0000213d0000004403500370000000000303043b00000b8b0430009c0000096b0000213d0000006404500370000000000404043b0000008405500370000000000505043b000000000001042d000000000100001900002e1700010430000000040110008a00000b88020000410000007f0310008c0000000003000019000000000302201900000b8801100197000000000410004c000000000200801900000b880110009c00000000010300190000000001026019000000000110004c0000098a0000613d00000002040003670000000401400370000000000101043b0000002402400370000000000202043b00000b8b0320009c0000098a0000213d0000004403400370000000000303043b00000b8b0530009c0000098a0000213d0000006404400370000000000404043b000000ff0540008c0000098a0000213d000000000001042d000000000100001900002e170001043000000000030100190000000004030433000000000140004c00000000012400190000099c0000613d000000000500001900000000062500190000002005500039000000000735001900000000070704330000000000760435000000000645004b000009920000413d000000000245004b0000099c0000a13d0000000000010435000000000001042d00000020030000390000000004310436000000000302043300000000003404350000004001100039000000000430004c000009b00000613d000000000400001900000000051400190000002004400039000000000624001900000000060604330000000000650435000000000534004b000009a50000413d000000000234004b000009b00000a13d000000000213001900000000000204350000001f02300039000000200300008a000000000232016f0000000001210019000000000001042d00000020030000390000000005310436000000003402043400000080060000390000000000650435000000a00510003900000000060404330000000000650435000000c005100039000000000760004c000009c70000613d00000000070000190000002004400039000000000804043300000000058504360000000107700039000000000867004b000009c10000413d000000200400008a0000000004140049000000000603043300000040031000390000000007540019000000000073043500000000070604330000000003750436000000000570004c000009d90000613d00000000050000190000002006600039000000000806043300000b8b0880019700000000038304360000000105500039000000000875004b000009d20000413d0000000005340019000000400420003900000000040404330000006006100039000000000056043500000000050404330000000003530436000000000650004c000009ea0000613d00000000060000190000002004400039000000000704043300000b8b0770019700000000037304360000000106600039000000000756004b000009e30000413d00000080011000390000006002200039000000000202043300000000002104350000000001030019000000000001042d000000004302043400000b8b033001970000000003310436000000000404043300000b8b0440019700000000004304350000004003200039000000000303043300000b8b033001970000004004100039000000000034043500000060022000390000000002020433000000600310003900000000002304350000008001100039000000000001042d000000400100043d00000be50210009c00000a0c0000813d0000004002100039000000400020043f000000200210003900000be603000041000000000032043500000009020000390000000000210435000000000001042d00000b8d0100004100000000001004350000004101000039000000040010043f00000b8e0100004100002e17000104300000001f02200039000000200300008a000000000232016f0000000001120019000000000221004b0000000002000019000000010200403900000b890310009c00000a1f0000213d000000010220019000000a1f0000c13d000000400010043f000000000001042d00000b8d0100004100000000001004350000004101000039000000040010043f00000b8e0100004100002e17000104300019000000000002000b00000006001d000600000005001d000800000004001d000a00000003001d000d00000002001d001300000001001d000000400100043d00000be70210009c00000f2d0000813d0000008002100039000000400020043f00000040021000390000006003000039000000000032043500000020021000390000000000320435000700000003001d000000000031043500000060011000390000000000010435000000400100043d00000bd90210009c00000f2d0000213d0000008002100039000000400020043f00000040021000390000000703000029000000000032043500000020021000390000000000320435000000000031043500000060011000390000000000010435000000400100043d000c00000001001d00000bd90110009c00000f2d0000213d0000000602000029000000003102043400000060042000390000004005200039000400000003001d0000000002030433000200000005001d0000000003050433000300000004001d00000000040404330000000c060000290000008005600039000000400050043f0000006005600039000900000005001d00000000004504350000004004600039000f00000004001d00000000003404350000000001160436000e00000001001d0000000000210435000000400100043d00000bd90210009c00000f2d0000213d0000008002100039000000400020043f0000006002100039000000000002043500000040021000390000000000020435000000200210003900000000000204350000000000010435000000400100043d001500000001001d00000bd90110009c00000f2d0000213d00000015020000290000008001200039000000400010043f00000060012000390000000000010435000000400120003900000000000104350000002001200039000000000001043500000000000204350000000402000039000000000102041a001200000001001d000000000110004c0000000003000019000000000c000019001400000002001d00000c690000613d0000000a0100002900000b8b01100197001700000001001d0000000d0100002900000b8b01100197001600000001001d0000801001000039001100000001001d00000000030000190000000004000019001900000003001d000000000102041a001800000004001d000000000141004b00000f330000a13d000000000020043500000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bdd011001c700000011020000292e152e100000040f000000010220019000000f2b0000613d000000000101043b00000018020000290000000001210019000000000101041a00000bd002000041000000000020043900000b8b01100197001800000001001d000000040010044300000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bd1011001c700008002020000392e152e100000040f0000001806000029000000010220019000000f2b0000613d000000000101043b000000000110004c00000f2b0000613d000000400900043d00000be80100004100000000001904350000004402900039000000000100041400000017030000290000000000320435000000240290003900000016030000290000000000320435000000040290003900000013030000290000000000320435000000040260008c00000ac50000c13d000000010300003100000af70000013d00000b870200004100000b870310009c000000000102801900000b870390009c00000000020940190000004002200210000000c001100210000000000121019f00000be4011001c70000000002060019001000000009001d2e152e100000040f00000010090000290000000003010019000000600330027000000b8703300197000000200430008c00000020050000390000000005034019000000050450027200000ae30000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000746004b00000adb0000413d0000001f0550019000000af20000613d0000000504400210000000000641034f00000000044900190000000305500210000000000704043300000000075701cf000000000757022f000000000606043b0000010005500089000000000656022f00000000055601cf000000000575019f0000000000540435000100000003001f00030000000103550000000102200190000000180600002900000f5e0000613d0000001f01300039000000200d00008a0000000002d1016f0000000001920019000000000221004b0000000002000019000000010200403900000b890310009c00000f2d0000213d000000010220019000000f2d0000c13d000000400010043f00000b88020000410000000103000031000000200430008c0000000004000019000000000402401900000b8803300197000000000530004c000000000200a01900000b880330009c000000000204c019000000000220004c00000f2b0000c13d00000000020904330000001903000029000000000330004c00000b180000613d000000150300002900000060033000390000000003030433000000000332004b00000b260000a13d00000bd90310009c00000f2d0000213d0000008003100039000000400030043f000000600310003900000000002304350000004002100039000000170300002900000000003204350000002002100039000000160300002900000000003204350000000000610435001500000001001d0000001903000029000000ff0130008c000000140200002900000f390000613d0000000104300039000000ff0340018f0000001201000029000000000113004b00000a8d0000413d0000001501000029000000600e10003900000000010e0433000000000210004c0000000003000019000000000c00001900000c690000613d0000000b02000029000000000220004c00000b5a0000613d0000001501000029000000000101043300000bd002000041000000000020043900000b8b01100197001700000001001d000000040010044300000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bd1011001c7000080020200003900190000000d001d00180000000e001d2e152e100000040f000000180e000029000000190d000029000000010220019000000f2b0000613d000000000101043b000000000110004c00000f2b0000613d000000400900043d00000be901000041000000000019043500000000010004140000001702000029000000040320008c00000b5d0000c13d000000010300003100000b910000013d000000400300043d000000000c00001900000baa0000013d00000b870400004100000b870310009c000000000104801900000b870390009c000000000304001900000000030940190000004003300210000000c001100210000000000131019f00000bea011001c7001700000009001d2e152e100000040f00000017090000290000000003010019000000600330027000000b8703300197000000200430008c000000200500003900000000050340190000001f0450018f000000050550027200000b7c0000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b00000b740000413d000000000640004c000000190d00002900000b8c0000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f00030000000103550000000102200190000000180e00002900000f9c0000613d0000001f013000390000000001d1016f0000000003910019000000000113004b0000000001000019000000010100403900000b890230009c00000f2d0000213d000000010110019000000f2d0000c13d000000400030043f00000b88010000410000000102000031000000200420008c0000000004000019000000000401401900000b8802200197000000000520004c000000000100a01900000b880220009c000000000104c019000000000110004c00000f2b0000c13d00000000010e0433000000000c0904330000000f0200002900000000070204330000001502000029000000000202043300000b8b0420019700000beb0230009c00000f2d0000213d0000001502000029000000400220003900000000020204330000004005300039000000400050043f00000b8b022001970000002005300039000000000025043500000020020000390000000000230435000000400500043d00000020085000390000000006070433000000000960004c00000bcc0000613d0000000009000019000000000a8900190000002009900039000000000b790019000000000b0b04330000000000ba0435000000000a69004b00000bc10000413d000000000769004b00000bcc0000a13d000000000786001900000000000704350000000007030433000000000970004c00000bdc0000613d00000000086800190000000009000019000000000a8900190000002009900039000000000b390019000000000b0b04330000000000ba0435000000000a79004b00000bd10000413d000000000379004b00000bdc0000a13d00000000038700190000000000030435000000000367001900000000003504350000003f033000390000000006d3016f0000000003560019000000000663004b0000000006000019000000010600403900000b890730009c00000f2d0000213d000000010660019000000f2d0000c13d000000400030043f0000000f0300002900000000005304350000000e030000290000000007030433000000400500043d00000beb0350009c00000f2d0000213d0000004003500039000000400030043f000000200350003900000000004304350000000000250435000000400300043d00000020063000390000000004070433000000000840004c00000c060000613d000000000800001900000000096800190000002008800039000000000a780019000000000a0a04330000000000a90435000000000948004b00000bfb0000413d000000000748004b00000c060000a13d000000000764001900000000000704350000000007050433000000000870004c00000c160000613d0000000006460019000000000800001900000000096800190000002008800039000000000a580019000000000a0a04330000000000a90435000000000978004b00000c0b0000413d000000000578004b00000c160000a13d00000000056700190000000000050435000000000447001900000000004304350000003f044000390000000005d4016f0000000004350019000000000554004b0000000005000019000000010500403900000b890640009c00000f2d0000213d000000010550019000000f2d0000c13d000000400040043f0000000e0400002900000000003404350000000c030000290000000005030433000000400300043d00000beb0430009c00000f2d0000213d0000004004300039000000400040043f000000200430003900000000001404350000000000230435000000400100043d00000020041000390000000002050433000000000620004c00000c400000613d000000000600001900000000074600190000002006600039000000000856001900000000080804330000000000870435000000000726004b00000c350000413d000000000526004b00000c400000a13d000000000542001900000000000504350000000005030433000000000650004c00000c500000613d0000000004240019000000000600001900000000074600190000002006600039000000000836001900000000080804330000000000870435000000000756004b00000c450000413d000000000356004b00000c500000a13d00000000034500190000000000030435000000000225001900000000002104350000003f022000390000000003d2016f0000000002130019000000000332004b0000000003000019000000010300403900000b890420009c00000f2d0000213d000000010330019000000f2d0000c13d000000400020043f0000000c020000290000000000120435000000010100008a00000000021c013f00000009010000290000000001010433000000000221004b00000f390000213d0000000001c100190000000902000029000000000012043500000000030e0433000500000003001d00090000000c001d0000000801000029000000010110008c00000f290000a13d0000000801000029000000020110008a0000000402000029000000000202043300000000020204330000000502200270000000000112004b00000f290000213d0000000301000039000f00000001001d000000000101041a000e00000001001d000000000110004c00000f290000613d0000000d0100002900000b8b01100197001700000001001d0000801001000039000d00000001001d000000000200001900000c8c0000013d000000010100008a0000001002000029000000000112004b00000f390000613d000000100200002900000001022000390000000e01000029000000000112004b00000f290000813d0000000f01000029000000000101041a001000000002001d000000000121004b00000f330000a13d0000000f01000029000000000010043500000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bdd011001c70000000d020000292e152e100000040f000000010220019000000f2b0000613d000000000101043b00000010020000290000000001210019000000000101041a00000b8b011001970000001702000029000000000112004b00000c870000613d0000000f01000029000000000101041a0000001002000029000000000121004b00000f330000a13d0000000f01000029000000000010043500000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bdd011001c700008010020000392e152e100000040f000000010220019000000f2b0000613d000000000101043b00000010020000290000000001210019000000000101041a00000b8b01100197001600000001001d000000400100043d00000bd90210009c00000f2d0000213d0000008002100039000000400020043f0000006002100039000000000002043500000040021000390000000000020435000000200210003900000000000204350000000000010435000000400100043d001500000001001d00000bd90110009c00000f2d0000213d00000015020000290000008001200039000000400010043f00000060012000390000000000010435000000400120003900000000000104350000002001200039000000000001043500000000000204350000001402000029000000000102041a001200000001001d000000000110004c00000c870000613d00000000030000190000000004000019001900000003001d000000000102041a001800000004001d000000000141004b00000f330000a13d000000000020043500000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bdd011001c700008010020000392e152e100000040f000000010220019000000f2b0000613d000000000101043b00000018020000290000000001210019000000000101041a00000bd002000041000000000020043900000b8b01100197001800000001001d000000040010044300000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bd1011001c700008002020000392e152e100000040f0000001806000029000000010220019000000f2b0000613d000000000101043b000000000110004c00000f2b0000613d000000400900043d00000be80100004100000000001904350000004402900039000000000100041400000016030000290000000000320435000000240290003900000017030000290000000000320435000000040290003900000013030000290000000000320435000000040260008c00000d150000c13d000000010300003100000d470000013d00000b870200004100000b870310009c000000000102801900000b870390009c00000000020940190000004002200210000000c001100210000000000121019f00000be4011001c70000000002060019001100000009001d2e152e100000040f00000011090000290000000003010019000000600330027000000b8703300197000000200430008c00000020050000390000000005034019000000050450027200000d330000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000746004b00000d2b0000413d0000001f0550019000000d420000613d0000000504400210000000000641034f00000000044900190000000305500210000000000704043300000000075701cf000000000757022f000000000606043b0000010005500089000000000656022f00000000055601cf000000000575019f0000000000540435000100000003001f00030000000103550000000102200190000000180600002900000f3f0000613d0000001f01300039000000200c00008a0000000002c1016f0000000001920019000000000221004b0000000002000019000000010200403900000b890310009c00000f2d0000213d000000010220019000000f2d0000c13d000000400010043f00000b88020000410000000103000031000000200430008c0000000004000019000000000402401900000b8803300197000000000530004c000000000200a01900000b880330009c000000000204c019000000000220004c00000f2b0000c13d00000000020904330000001903000029000000000330004c00000d680000613d000000150300002900000060033000390000000003030433000000000332004b00000d760000a13d00000bd90310009c00000f2d0000213d0000008003100039000000400030043f000000600310003900000000002304350000004002100039000000160300002900000000003204350000002002100039000000170300002900000000003204350000000000610435001500000001001d0000001903000029000000ff0130008c000000140200002900000f390000613d0000000104300039000000ff0340018f0000001201000029000000000113004b00000cdd0000413d0000001501000029000000600e10003900000000010e0433000000000110004c00000c830000613d000000400100043d00000bd90210009c00000f2d0000213d0000008002100039000000400020043f00000040021000390000000703000029000000000032043500000020021000390000000000320435000000000031043500000060011000390000000000010435000000400d00043d00000bd901d0009c00000f2d0000213d000000040100002900000000010104330000000602000029000000000202043300000002030000290000000003030433000000030400002900000000040404330000008005d00039000000400050043f000000600fd0003900000000004f04350000004004d00039001900000004001d000000000034043500000000022d0436001800000002001d00000000001204350000000b01000029000000000110004c00160000000d001d00000dce0000613d0000001501000029000000000101043300000bd002000041000000000020043900000b8b01100197000100000001001d000000040010044300000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bd1011001c7000080020200003900120000000c001d00110000000e001d00090000000f001d2e152e100000040f000000090f000029000000110e000029000000160d000029000000120c000029000000010220019000000f2b0000613d000000000101043b000000000110004c00000f2b0000613d000000400900043d00000be901000041000000000019043500000000010004140000000102000029000000040320008c00000dd00000c13d000000010300003100000e050000013d000000400300043d00000e1e0000013d00000b870400004100000b870310009c000000000104801900000b870390009c000000000304001900000000030940190000004003300210000000c001100210000000000131019f00000bea011001c7000100000009001d2e152e100000040f00000001090000290000000003010019000000600330027000000b8703300197000000200430008c00000020050000390000000005034019000000050450027200000dee0000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000746004b00000de60000413d0000001f05500190000000120c000029000000110e000029000000090f00002900000e000000613d0000000504400210000000000641034f00000000044900190000000305500210000000000704043300000000075701cf000000000757022f000000000606043b0000010005500089000000000656022f00000000055601cf000000000575019f0000000000540435000100000003001f00030000000103550000000102200190000000160d00002900000f7d0000613d0000001f013000390000000001c1016f0000000003910019000000000113004b0000000001000019000000010100403900000b890230009c00000f2d0000213d000000010110019000000f2d0000c13d000000400030043f00000b88010000410000000102000031000000200420008c0000000004000019000000000401401900000b8802200197000000000520004c000000000100a01900000b880220009c000000000104c019000000000110004c00000f2b0000c13d0000000001090433000900000001001d0000001901000029000000000701043300000000010e04330000001502000029000000000202043300000b8b0420019700000beb0230009c00000f2d0000213d0000001502000029000000400220003900000000020204330000004005300039000000400050043f00000b8b022001970000002005300039000000000025043500000020020000390000000000230435000000400500043d00000020085000390000000006070433000000000960004c00000e410000613d0000000009000019000000000a8900190000002009900039000000000b790019000000000b0b04330000000000ba0435000000000a69004b00000e360000413d000000000769004b00000e410000a13d000000000786001900000000000704350000000007030433000000000970004c00000e510000613d00000000086800190000000009000019000000000a8900190000002009900039000000000b390019000000000b0b04330000000000ba0435000000000a79004b00000e460000413d000000000379004b00000e510000a13d00000000038700190000000000030435000000000367001900000000003504350000003f033000390000000006c3016f0000000003560019000000000663004b0000000006000019000000010600403900000b890730009c00000f2d0000213d000000010660019000000f2d0000c13d000000400030043f0000001903000029000000000053043500000018030000290000000007030433000000400500043d00000beb0350009c00000f2d0000213d0000004003500039000000400030043f000000200350003900000000004304350000000000250435000000400300043d00000020063000390000000004070433000000000840004c00000e7b0000613d000000000800001900000000096800190000002008800039000000000a780019000000000a0a04330000000000a90435000000000948004b00000e700000413d000000000748004b00000e7b0000a13d000000000764001900000000000704350000000007050433000000000870004c00000e8b0000613d0000000006460019000000000800001900000000096800190000002008800039000000000a580019000000000a0a04330000000000a90435000000000978004b00000e800000413d000000000578004b00000e8b0000a13d00000000056700190000000000050435000000000447001900000000004304350000003f044000390000000005c4016f0000000004350019000000000554004b0000000005000019000000010500403900000b890640009c00000f2d0000213d000000010550019000000f2d0000c13d000000400040043f0000001804000029000000000034043500000000050d0433000000400300043d00000beb0430009c00000f2d0000213d0000004004300039000000400040043f000000200430003900000000001404350000000000230435000000400100043d00000020041000390000000002050433000000000620004c00000eb40000613d000000000600001900000000074600190000002006600039000000000856001900000000080804330000000000870435000000000726004b00000ea90000413d000000000526004b00000eb40000a13d000000000542001900000000000504350000000005030433000000000650004c00000ec40000613d0000000004240019000000000600001900000000074600190000002006600039000000000836001900000000080804330000000000870435000000000756004b00000eb90000413d000000000356004b00000ec40000a13d00000000034500190000000000030435000000000225001900000000002104350000003f022000390000000003c2016f0000000002130019000000000332004b0000000003000019000000010300403900000b890420009c00000f2d0000213d000000010330019000000f2d0000c13d000000400020043f00000000001d0435000000010200008a0000000901000029001800000002001d000000000221013f00000000010f0433000000000221004b00000f390000213d0000000902000029000000000121001900000000001f043500000000010e0433001900000001001d0000000f01000029000000000101041a0000001002000029000000000121004b00000f330000a13d0000000f01000029000000000010043500000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bdd011001c700008010020000392e152e100000040f0000000102200190000000160500002900000f2b0000613d000000000101043b00000010020000290000000001210019000000000101041a00000b8b0210019700000019010000290000000a0300002900000008040000290000000b060000292e150a250000040f000000400210003900000000020204330000000003020433000000000223001900000000020204330000000a04000029000000000442013f00000000020104330000000002320019000000000202043300000b8b0340019800000c870000c13d0000000503000029000000000332004b00000c870000a13d0000000c030000290000006003300039000000000303043300000060041000390000000004040433000000000534004b00000f260000a13d00000000033400490000000b05000029000000000450004c00000f1c0000613d000000180400002900000000545400d9000000000434004b00000f390000413d0000000504000029000000000442004b00000f1f0000813d00000f390000013d0000000504000029000000000442004b00000f390000413d000000050400002900000000044200490000000b0500002900000000535300a900000bec5330012a000000000343004b00000c870000213d000500000002001d000c00000001001d00000c870000013d0000000c01000029000000000001042d000000000100001900002e170001043000000b8d0100004100000000001004350000004101000039000000040010043f00000b8e0100004100002e170001043000000b8d0100004100000000001004350000003201000039000000040010043f00000b8e0100004100002e170001043000000b8d0100004100000000001004350000001101000039000000040010043f00000b8e0100004100002e17000104300000001f0430018f000000050230027200000f4a0000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b00000f430000413d000000000340004c00000f580000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000b8701000041000000010200003100000b870320009c0000000001024019000000600110021000002e17000104300000001f0430018f000000050230027200000f690000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b00000f620000413d000000000340004c00000f770000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000b8701000041000000010200003100000b870320009c0000000001024019000000600110021000002e17000104300000001f0430018f000000050230027200000f880000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b00000f810000413d000000000340004c00000f960000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000b8701000041000000010200003100000b870320009c0000000001024019000000600110021000002e17000104300000001f0430018f000000050230027200000fa70000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b00000fa00000413d000000000340004c00000fb50000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000b8701000041000000010200003100000b870320009c0000000001024019000000600110021000002e1700010430000f000000000002000100000003001d000000000b0200190000001f0200008a0000000005120049000f00000001001d00000040021000390000000201000367000a00000002001d000000000221034f000000000202043b0000000003000031000b00000005001d000000000553001900000b8806000041000000000752004b0000000007000019000000000706401900000b880550019700000b8808200197000000000958004b000000000600a019000000000558013f00000b880550009c00000000050700190000000005066019000000000550004c000014b00000613d0000000f050000290000000005520019000000000151034f000000000101043b00000b890210009c000014b00000213d00000005021002100000000003230049000000200550003900000b8806000041000000000735004b0000000007000019000000000706201900000b880330019700000b8805500197000000000835004b0000000006008019000000000335013f00000b880330009c00000000030700190000000003066019000000000330004c000014b00000c13d0000003f03200039000000200500008a000800000005001d000000000353016f000000400500043d0000000003350019000e00000005001d000000000553004b0000000005000019000000010500403900000b890630009c000015130000213d0000000105500190000015130000c13d000000400030043f0000000e03000029000000000c1304360000001f0120018f0000000003000031000000020330036700000005022002720000100d0000613d0000000005000019000000050650021000000000076c0019000000000663034f000000000606043b00000000006704350000000105500039000000000625004b000010050000413d000000000510004c0000101c0000613d0000000502200210000000000323034f00000000022c00190000000301100210000000000502043300000000051501cf000000000515022f000000000303043b0000010001100089000000000313022f00000000011301cf000000000151019f0000000000120435000000000140004c000000000d000410000d0000000c001d000010240000c13d0000000101000039000000000101041a000000000110004c000011630000613d0000000f010000290000000201100367000000000101043b0000000e020000290000000002020433000000000220004c0000150d0000613d0000000102000039000000000202041a000000000242004b000015980000213d000027110240008c000015570000813d0000271002400089000000000310004c000010380000613d000000010300008a00000000431300d9000000000323004b000015570000413d00000000322100a9000027102320011a00000000003c043500000000040000310000000b02000029000000000624001900000002020003670000000a05000029000000000552034f000000000505043b00000b8807000041000000000865004b0000000008000019000000000807801900000b880660019700000b8809500197000000000a69004b0000000007008019000000000669013f00000b880660009c00000000060800190000000006076019000000000660004c000014b00000c13d0000000f060000290000000006650019000000000562034f000000000505043b00000b890750009c000014b00000213d00000005075002100000000007740049000000200460003900000b8806000041000000000874004b0000000008000019000000000806201900000b880770019700000b8809400197000000000a79004b0000000006008019000000000779013f00000b880770009c000000000608c019000000000660004c000014b00000c13d000000000550004c0000150d0000613d000000000242034f000000000202043b00000b8b0420009c000014b00000213d0000000204000039000000000404041a00000b8b044001970000000e050000290000000005050433000000000550004c0000150d0000613d000000000531004b000015570000413d0000000005310049000000400100043d000000200310003900000b8b06b001970000000007d6004b0000108d0000c13d00000bef06000041000000000063043500000044061000390000000000560435000000240510003900000000004504350000004404000039000000000041043500000bd90410009c000015130000213d0000008004100039000000400040043f0000000004000414000000040520008c000010a10000c13d00000001030000310000000002000019000010ba0000013d00000bed0700004100000000007304350000006407100039000000000057043500000044051000390000000000450435000000240410003900000000006404350000006404000039000000000041043500000bee0410009c000015130000213d000000a004100039000000400040043f0000000004000414000000040520008c000011020000c13d000000010300003100000000020000190000111b0000013d00000b870500004100000b870630009c00000000030580190000004003300210000000000101043300000b870610009c00000000010580190000006001100210000000000131019f00000b870340009c00000000030500190000000003044019000000c003300210000000000131019f000c0000000b001d00090000000d001d2e152e0b0000040f000000090d0000290000000c0b0000290000000d0c000029000000010220015f0003000000010355000000600110027000010b870010019d00000b87031001970000006001000039000000000430004c000010e80000613d0000003f013000390000000804000029000000000441016f000000400100043d0000000004410019000000000514004b0000000005000019000000010500403900000b890640009c000015130000213d0000000105500190000015130000c13d000000400040043f0000000003310436000000030400036700000001060000310000001f0560018f0000000506600272000010d90000613d000000000700001900000005087002100000000009830019000000000884034f000000000808043b00000000008904350000000107700039000000000867004b000010d10000413d000000000750004c000010e80000613d0000000506600210000000000464034f00000000036300190000000305500210000000000603043300000000065601cf000000000656022f000000000404043b0000010005500089000000000454022f00000000045401cf000000000464019f000000000043043500000001022001900000155d0000c13d0000000012010434000000000320004c0000116b0000613d00000b8803000041000000200420008c0000000004000019000000000403401900000b8802200197000000000520004c000000000300a01900000b880220009c00000000020400190000000002036019000000000220004c000014b00000c13d0000000001010433000000000210004c0000000002000019000000010200c039000000000221004b000014b00000c13d000000000110004c0000116b0000c13d0000156e0000013d00000b870500004100000b870630009c00000000030580190000004003300210000000000101043300000b870610009c00000000010580190000006001100210000000000131019f00000b870340009c00000000030500190000000003044019000000c003300210000000000131019f000c0000000b001d00090000000d001d2e152e0b0000040f000000090d0000290000000c0b0000290000000d0c000029000000010220015f0003000000010355000000600110027000010b870010019d00000b87031001970000006001000039000000000430004c000011490000613d0000003f013000390000000804000029000000000441016f000000400100043d0000000004410019000000000514004b0000000005000019000000010500403900000b890640009c000015130000213d0000000105500190000015130000c13d000000400040043f0000000003310436000000030400036700000001060000310000001f0560018f00000005066002720000113a0000613d000000000700001900000005087002100000000009830019000000000884034f000000000808043b00000000008904350000000107700039000000000867004b000011320000413d000000000750004c000011490000613d0000000506600210000000000464034f00000000036300190000000305500210000000000603043300000000065601cf000000000656022f000000000404043b0000010005500089000000000454022f00000000045401cf000000000464019f000000000043043500000001022001900000155d0000c13d0000000012010434000000000320004c0000116b0000613d00000b8803000041000000200420008c0000000004000019000000000403401900000b8802200197000000000520004c000000000300a01900000b880220009c00000000020400190000000002036019000000000220004c000014b00000c13d0000000001010433000000000210004c0000000002000019000000010200c039000000000221004b000014b00000c13d000000000110004c0000116b0000c13d0000156e0000013d0000000e010000290000000001010433000000000110004c0000150d0000613d0000000f010000290000000201100367000000000101043b00000000001c043500000002010003670000000a02000029000000000221034f000000000202043b00000000030000310000000b04000029000000000443001900000b880540019700000b880620019700000b8807000041000000000856004b00000000080000190000000008074019000000000556013f000000000642004b0000000006000019000000000607801900000b880550009c00000000050600190000000005086019000000000550004c000014b00000c13d0000000f050000290000000005520019000000000251034f000000000202043b00000b890620009c000014b00000213d00000005062002100000000006630049000000200550003900000b8807000041000000000865004b0000000008000019000000000807201900000b880660019700000b8809500197000000000a69004b0000000007008019000000000669013f00000b880660009c00000000060800190000000006076019000000000660004c000014b00000c13d000000000220004c0000150d0000613d000000000251034f000000000202043b00000b8b0520009c000014b00000213d0000000f050000290000006005500039000900000005001d000000000551034f000000000505043b00000b8806000041000000000745004b0000000007000019000000000706801900000b880440019700000b8808500197000000000948004b0000000006008019000000000448013f00000b880440009c00000000040700190000000004066019000000000440004c000014b00000c13d0000000f040000290000000005450019000000000451034f000000000404043b00000b890640009c000014b00000213d00000005064002100000000006630049000000200350003900000b8805000041000000000763004b0000000007000019000000000705201900000b880660019700000b8808300197000000000968004b0000000005008019000000000668013f00000b880660009c000000000507c019000000000550004c000014b00000c13d000000000440004c0000150d0000613d000000000131034f000000000401043b00000b8b0140009c000014b00000213d0000000e010000290000000001010433000000000110004c0000150d0000613d000000400100043d000000200310003900000000050c043300000b8b06b001970000000007d6004b000011e90000c13d00000bef06000041000000000063043500000044061000390000000000560435000000240510003900000000004504350000004404000039000000000041043500000bd90410009c000015130000213d0000008004100039000000400040043f0000000004000414000000040520008c000011fd0000c13d00000001030000310000000002000019000012120000013d00000bed0700004100000000007304350000006407100039000000000057043500000044051000390000000000450435000000240410003900000000006404350000006404000039000000000041043500000bee0410009c000015130000213d000000a004100039000000400040043f0000000004000414000000040520008c0000125a0000c13d000000010300003100000000020000190000126f0000013d00000b870500004100000b870630009c00000000030580190000004003300210000000000101043300000b870610009c00000000010580190000006001100210000000000131019f00000b870340009c00000000030500190000000003044019000000c003300210000000000131019f2e152e0b0000040f0000000d0c000029000000010220015f0003000000010355000000600110027000010b870010019d00000b87031001970000006001000039000000000430004c000012400000613d0000003f013000390000000804000029000000000441016f000000400100043d0000000004410019000000000514004b0000000005000019000000010500403900000b890640009c000015130000213d0000000105500190000015130000c13d000000400040043f0000000003310436000000030400036700000001060000310000001f0560018f0000000506600272000012310000613d000000000700001900000005087002100000000009830019000000000884034f000000000808043b00000000008904350000000107700039000000000867004b000012290000413d000000000750004c000012400000613d0000000506600210000000000464034f00000000036300190000000305500210000000000603043300000000065601cf000000000656022f000000000404043b0000010005500089000000000454022f00000000045401cf000000000464019f000000000043043500000001022001900000155d0000c13d0000000012010434000000000320004c000012b60000613d00000b8803000041000000200420008c0000000004000019000000000403401900000b8802200197000000000520004c000000000300a01900000b880220009c00000000020400190000000002036019000000000220004c000014b00000c13d0000000001010433000000000210004c0000000002000019000000010200c039000000000221004b000014b00000c13d000000000110004c000012b60000c13d0000156e0000013d00000b870500004100000b870630009c00000000030580190000004003300210000000000101043300000b870610009c00000000010580190000006001100210000000000131019f00000b870340009c00000000030500190000000003044019000000c003300210000000000131019f2e152e0b0000040f0000000d0c000029000000010220015f0003000000010355000000600110027000010b870010019d00000b87031001970000006001000039000000000430004c0000129d0000613d0000003f013000390000000804000029000000000441016f000000400100043d0000000004410019000000000514004b0000000005000019000000010500403900000b890640009c000015130000213d0000000105500190000015130000c13d000000400040043f0000000003310436000000030400036700000001060000310000001f0560018f00000005066002720000128e0000613d000000000700001900000005087002100000000009830019000000000884034f000000000808043b00000000008904350000000107700039000000000867004b000012860000413d000000000750004c0000129d0000613d0000000506600210000000000464034f00000000036300190000000305500210000000000603043300000000065601cf000000000656022f000000000404043b0000010005500089000000000454022f00000000045401cf000000000464019f000000000043043500000001022001900000155d0000c13d0000000012010434000000000320004c000012b60000613d00000b8803000041000000200420008c0000000004000019000000000403401900000b8802200197000000000520004c000000000300a01900000b880220009c00000000020400190000000002036019000000000220004c000014b00000c13d0000000001010433000000000210004c0000000002000019000000010200c039000000000221004b000014b00000c13d000000000110004c0000156e0000613d00000002010003670000000902000029000000000221034f000000000402043b00000000020000310000000b03000029000000000332001900000b880530019700000b880640019700000b8807000041000000000856004b00000000080000190000000008074019000000000556013f000000000634004b0000000006000019000000000607801900000b880550009c00000000050600190000000005086019000000000550004c000014b00000c13d000000000b0000190000000f050000290000000005540019000000000451034f000000000404043b00000b890640009c000014b00000213d00000005064002100000000006620049000000200550003900000b8807000041000000000865004b0000000008000019000000000807201900000b880660019700000b8809500197000000000a69004b0000000007008019000000000669013f00000b880660009c00000000060800190000000006076019000000000660004c000014b00000c13d00000000044b004b000013bd0000813d0000000504b002100000000005450019000000000551034f000000000a05043b00000b8b05a0009c000014b00000213d0000000e0500002900000000050504330000000005b5004b0000150d0000a13d0000000a05000029000000000551034f000000000505043b00000b8806000041000000000735004b0000000007000019000000000706801900000b880330019700000b8808500197000000000938004b0000000006008019000000000338013f00000b880330009c00000000030700190000000003066019000000000330004c000014b00000c13d0000000003c40019000000000c0304330000000f030000290000000005350019000000000351034f000000000303043b00000b890630009c000014b00000213d00000005063002100000000006620049000000200250003900000b8805000041000000000762004b0000000007000019000000000705201900000b880660019700000b8808200197000000000968004b0000000005008019000000000668013f00000b880660009c000000000507c019000000000550004c000014b00000c13d00000000053b004b0000150d0000813d0000000004420019000000000441034f000000000504043b00000b8b0450009c000014b00000213d000000010bb0003900000000033b004b0000150d0000813d0000000503b00210000300000003001d0000000002320019000000000121034f000000000101043b000400000001001d00000b8b0110009c000014b00000213d00000bd00100004100000000001004390000000400a0044300000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bd1011001c70000800202000039000c0000000b001d00070000000a001d00060000000c001d000500000005001d2e152e100000040f0000000505000029000000060300002900000007040000290000000c0b0000290000000d0c0000290000000102200190000014b00000613d000000000101043b000000000110004c000014b00000613d000000400900043d00000be801000041000000000019043500000044029000390000000001000414000000040600002900000000006204350000002402900039000000000052043500000004029000390000000000320435000000040240008c000013530000c13d0000000103000031000013860000013d00000b870200004100000b870310009c000000000102801900000b870390009c00000000020940190000004002200210000000c001100210000000000121019f00000be4011001c70000000002040019000700000009001d2e152e100000040f00000007090000290000000003010019000000600330027000000b8703300197000000200430008c000000200500003900000000050340190000000504500272000013710000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000746004b000013690000413d0000001f05500190000013800000613d0000000504400210000000000641034f00000000044900190000000305500210000000000704043300000000075701cf000000000757022f000000000606043b0000010005500089000000000656022f00000000055601cf000000000575019f0000000000540435000100000003001f000300000001035500000001022001900000000d0c0000290000000c0b000029000015190000613d0000001f013000390000000802000029000000000221016f0000000001920019000000000221004b0000000002000019000000010200403900000b890310009c000015130000213d0000000102200190000015130000c13d000000400010043f00000b88010000410000000102000031000000200320008c0000000003000019000000000301401900000b8802200197000000000420004c000000000100a01900000b880220009c000000000103c019000000000110004c000014b00000c13d0000000e0100002900000000010104330000000001b1004b0000150d0000a13d00000003010000290000000001c100190000000002090433000000000021043500000002010003670000000902000029000000000221034f000000000402043b00000000020000310000000b03000029000000000332001900000b880530019700000b880640019700000b8807000041000000000856004b00000000080000190000000008072019000000000556013f000000000634004b0000000006000019000000000607401900000b880550009c00000000050600190000000005086019000000000550004c000012cd0000c13d000014b00000013d0000000e020000290000000002020433000000000320004c000015570000613d00000005022002100000000e0300002900000000023200190000000f030000290000002003300039000000000131034f000000000101043b0000000002020433000000000112004b000015830000413d000000000200001900000002010003670000000903000029000000000331034f000000000503043b00000000030000310000000b04000029000000000443001900000b880640019700000b880750019700000b8808000041000000000967004b00000000090000190000000009084019000000000667013f000000000745004b0000000007000019000000000708801900000b880660009c00000000060700190000000006096019000000000660004c000014b00000c13d0000000f060000290000000006650019000000000561034f000000000505043b00000b890750009c000014b00000213d00000005075002100000000007730049000000200660003900000b8808000041000000000976004b0000000009000019000000000908201900000b880770019700000b880a600197000000000b7a004b000000000800801900000000077a013f00000b880770009c00000000070900190000000007086019000000000770004c000014b00000c13d000000000752004b000014b20000813d000000010750008a000000000772004b000000010f000029000014080000813d0000000107200039000000000557004b0000150d0000813d00000005057002100000000005560019000000000551034f000000000f05043b00000b8b05f0009c000014b00000213d00000005052002100000000006560019000000000661034f000000000e06043b00000b8b06e0009c000014b00000213d0000000e060000290000000006060433000000000726004b0000150d0000a13d000000010d2000390000000006d6004b0000150d0000a13d0000000006c500190000000006060433000700000006001d0000000a06000029000000000661034f000000000606043b00000b8807000041000000000846004b0000000008000019000000000807801900000b880440019700000b8809600197000000000a49004b0000000007008019000000000449013f00000b880440009c00000000040800190000000004076019000000000440004c000014b00000c13d0000000504d002100000000007c400190000000007070433000600000007001d0000000f070000290000000007760019000000000671034f000000000606043b00000b890860009c000014b00000213d00000005086002100000000008830049000000200370003900000b8807000041000000000983004b0000000009000019000000000907201900000b880880019700000b880a300197000000000b8a004b000000000700801900000000088a013f00000b880880009c000000000709c019000000000770004c000014b00000c13d000000000262004b0000150d0000813d0000000002530019000000000221034f000000000502043b00000b8b0250009c000014b00000213d00000000026d004b0000150d0000813d0000000002430019000000000121034f000000000101043b000200000001001d00000b8b0110009c000014b00000213d00000bd00100004100000000001004390000000400e0044300000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bd1011001c70000800202000039000c0000000d001d00050000000e001d00040000000f001d000300000005001d2e152e100000040f0000000306000029000000040300002900000005040000290000000c050000290000000d0c0000290000000102200190000014b00000613d000000000101043b000000000110004c000014b00000613d000000400700043d00000bf201000041000000000017043500000b8b0230019700000084037000390000000001000414000000000023043500000064027000390000000203000029000000000032043500000044027000390000000000620435000000240270003900000006030000290000000000320435000000040270003900000007030000290000000000320435000000040240008c000014810000c13d0000000104000031000014970000013d00000b870200004100000b870310009c000000000102801900000b870370009c00000000020740190000004002200210000000c001100210000000000121019f00000bf3011001c70000000002040019000700000007001d2e152e0b0000040f00000007070000290000000c050000290000000d0c0000290000000003010019000000600330027000010b870030019d00000b870430019700030000000103550000000102200190000015380000613d0000001f014000390000000802000029000000000221016f0000000001720019000000000221004b0000000002000019000000010200403900000b890310009c000015130000213d0000000102200190000015130000c13d000000400010043f00000b88010000410000000102000031000000000320004c0000000003000019000000000301401900000b8802200197000000000420004c000000000100a01900000b880220009c000000000103c019000000000110004c0000000002050019000013cc0000613d000000000100001900002e17000104300000000a02000029000000000221034f000000000202043b00000b8805000041000000000642004b0000000006000019000000000605801900000b880440019700000b8807200197000000000847004b0000000005008019000000000447013f00000b880440009c00000000040600190000000004056019000000000440004c000014b00000c13d0000000f040000290000000002420019000000000421034f000000000504043b00000b890450009c000014b00000213d00000005045002100000000006430049000000200320003900000b8807000041000000000863004b0000000008000019000000000807201900000b880660019700000b8809300197000000000a69004b0000000007008019000000000669013f00000b880660009c00000000060800190000000006076019000000000660004c000014b00000c13d000000000550004c0000150d0000613d000000000331034f000000000503043b00000b8b0350009c000014b00000213d0000000002240019000000000221034f000000000602043b00000b8b0260009c000014b00000213d0000000e020000290000000002020433000000000320004c000015570000613d00000005022002100000000e0300002900000000023200190000000f03000029000000000131034f000000000101043b0000000002020433000000400300043d00000020043000390000000000240435000000000013043500000b8701000041000000000200041400000b870420009c000000000201801900000b870430009c00000000010340190000004001100210000000c002200210000000000112019f00000bcd011001c70000800d02000039000000030300003900000bf1040000412e152e0b0000040f0000000101200190000014b00000613d0000000e010000290000000001010433000000000210004c000015570000613d00000005011002100000000e0200002900000000012100190000000001010433000000000001042d00000b8d0100004100000000001004350000003201000039000000040010043f00000b8e0100004100002e170001043000000b8d0100004100000000001004350000004101000039000000040010043f00000b8e0100004100002e17000104300000001f0430018f0000000502300272000015240000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b0000151d0000413d000000000340004c000015320000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000b8701000041000000010200003100000b870320009c0000000001024019000000600110021000002e17000104300000001f0340018f0000000502400272000015430000613d00000000040000190000000505400210000000000651034f000000000606043b00000000006504350000000104400039000000000524004b0000153c0000413d000000000430004c000015510000613d00000003033002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000b8701000041000000010200003100000b870320009c0000000001024019000000600110021000002e170001043000000b8d0100004100000000001004350000001101000039000000040010043f00000b8e0100004100002e1700010430000000400100043d000000440210003900000be303000041000000000032043500000bd60200004100000000002104350000002402100039000000200300003900000000003204350000000402100039000000000032043500000b870200004100000b870310009c0000000001028019000000400110021000000be4011001c700002e1700010430000000400100043d000000640210003900000bda030000410000000000320435000000440210003900000bdb03000041000000000032043500000024021000390000002a03000039000000000032043500000bd602000041000000000021043500000004021000390000002003000039000000000032043500000b870200004100000b870310009c0000000001028019000000400110021000000bd7011001c700002e1700010430000000400100043d000000640210003900000bf4030000410000000000320435000000440210003900000bf503000041000000000032043500000024021000390000002503000039000000000032043500000bd602000041000000000021043500000004021000390000002003000039000000000032043500000b870200004100000b870310009c0000000001028019000000400110021000000bd7011001c700002e1700010430000000400100043d000000440210003900000bf003000041000000000032043500000024021000390000001b03000039000000000032043500000bd602000041000000000021043500000004021000390000002003000039000000000032043500000b870200004100000b870310009c0000000001028019000000400110021000000be4011001c700002e17000104300003000000000002000300000001001d00000bc5010000410000000000100435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000016340000613d000000000101043b0000000101100039000000000101041a000100000001001d0000000000100435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000016340000613d000000000101043b0000000002000411000200000002001d00000b8b022001970000000000200435000000200010043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000016340000613d000000000101043b000000000101041a000000ff01100190000016360000613d00000bc5010000410000000000100435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000016340000613d000000000101043b000000030200002900000b8b02200197000100000002001d0000000000200435000000200010043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000016340000613d000000000101043b000000000101041a000000ff01100190000016330000c13d00000bc5010000410000000000100435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000016340000613d000000000101043b00000001020000290000000000200435000000200010043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000016340000613d000000000101043b000000000201041a000001000300008a000000000232016f00000001022001bf000000000021041b000000400100043d00000b8702000041000000000300041400000b870430009c000000000302801900000b870410009c00000000010280190000004001100210000000c002300210000000000112019f00000bce011001c70000800d02000039000000040300003900000bcf0400004100000bc505000041000000030600002900000002070000292e152e0b0000040f0000000101200190000016340000613d000000000001042d000000000100001900002e1700010430000000400100043d000000000701001900000bf60110009c000016400000413d00000b8d0100004100000000001004350000004101000039000000040010043f00000b8e0100004100002e170001043000000000020700190000006001200039000000400010043f0000002a01000039000000000112043600000000020000310000000202200367000000000300001900000005043002100000000005410019000000000442034f000000000404043b00000000004504350000000103300039000000020430008c000016480000413d0000000002070433000000000220004c0000165a0000613d000000000201043300000bf70220019700000bf8022001c700000000002104350000000002070433000000020220008c000016600000813d00000b8d0100004100000000001004350000003201000039000000040010043f00000b8e0100004100002e17000104300000002102700039000000000302043300000bf70330019700000bf9033001c700000000003204350000002902000039000000020500002900000000030500190000000004070433000000000424004b0000165a0000a13d0000000f0430018f0000000304400210000000f80440015f00000bfa05000041000000000445022f0000000005120019000000000605043300000bf706600197000000f804400210000000000446019f00000000004504350000000405300270000000010220008a000000010420008c000016670000213d000000100130008c00000000010000190000000101004039000200000007001d2e152df70000040f00000001010000292e1524d00000040f000000400400043d000300000004001d000000200240003900000bfb030000410000000000320435000100000001001d000000370240003900000002010000292e15098c0000040f00000bfc020000410000000000210435000000110210003900000001010000292e15098c0000040f00000003030000290000000002310049000000200120008a000000000013043500000000010300192e150a120000040f00000bd601000041000000400200043d000200000002001d0000000000120435000000040120003900000003020000292e15099d0000040f0000000204000029000000000141004900000b870200004100000b870310009c000000000102801900000b870340009c000000000204401900000040022002100000006001100210000000000121019f00002e17000104300008000000000002000500000005001d000400000003001d000600000002001d000700000001001d000000400100043d00000be70210009c0000196d0000813d0000008002100039000000400020043f00000040021000390000006007000039000000000072043500000020021000390000000000720435000000000071043500000060011000390000000000010435000000400500043d000000050140008a000000050200008a000000000121004b000019730000a13d00000bd90150009c0000196d0000213d0000008001500039000000400010043f0000002001500039000000000071043500000040015000390000000000710435000000000075043500000060025000390000000000020435000000400200043d00000beb0320009c0000196d0000213d0000004003200039000000400030043f000000200320003900000007060000290000000000630435000000200800003900000000008204350000000000250435000000400200043d00000beb0320009c0000196d0000213d0000004003200039000000400030043f000000200320003900000006060000290000000000630435000000000082043500000000002104350000000501000029000000000110004c0000000006000019000800000007001d000018520000613d000300000008001d000100000005001d000200000004001d00000bc701000041000000000010043900000000010004120000000400100443000000240000044300000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bfd011001c700008005020000392e152e100000040f0000000102200190000019840000613d000000000201043b000000400100043d00000bd90310009c000000080400002900000003070000290000196d0000213d0000008003100039000000400030043f0000004003100039000000000043043500000020031000390000000000430435000000000041043500000060011000390000000000010435000000400500043d00000bd90150009c0000196d0000213d0000008001500039000000400010043f0000002001500039000000000041043500000040015000390000000000410435000000000045043500000060035000390000000000030435000000400300043d00000beb0430009c0000196d0000213d0000004004300039000000400040043f000000200430003900000bfe06000041000000000064043500000000007304350000000000350435000000400300043d00000beb0430009c0000196d0000213d0000004004300039000000400040043f000000200430003900000000002404350000000000730435000000000031043500000bfe010000410000000204000039000000040300002900000000060000192e150a250000040f00000002040000290000000806000029000000200f10003900000000020f04330000000002020433000000000220004c000300000001001d0000004003100039000017400000c13d000000400200043d00000bff0520009c0000196d0000213d0000002005200039000000400050043f000000000002043500000003010000290000000000210435000000400200043d00000bff0520009c0000196d0000213d0000002005200039000000400050043f00000000000204350000000000230435000000400200043d00000bd90520009c0000196d0000213d0000008005200039000000400050043f000000400520003900000000006504350000002005200039000000000065043500000000006204350000006002200039000000000002043500000003010000290000000006010433000000007806043400000c000280009c0000196d0000213d000000200100008a000000000b18016f0000003f02b00039000000000912016f000000400200043d0000000009920019000000000a29004b000000000a000019000000010a00403900000b890c90009c0000196d0000213d000000010aa001900000196d0000c13d0000000508800270000000400090043f00000000088204360000001f09b0018f000000000a000031000000020aa00367000000050bb002720000176f0000613d000000000c000019000000050dc00210000000000ed80019000000000dda034f000000000d0d043b0000000000de0435000000010cc00039000000000dbc004b000017670000413d000000000c90004c0000177e0000613d000000050bb00210000000000aba034f000000000bb800190000000309900210000000000c0b0433000000000c9c01cf000000000c9c022f000000000a0a043b0000010009900089000000000a9a022f00000000099a01cf0000000009c9019f00000000009b04350000000009060433000000200990008c000017970000413d0000000009020433000000000990004c000019670000613d000000000907043300000000009804350000000009060433000000400990008c000017970000413d0000000109000039000000000a020433000000000a9a004b000019670000a13d000000050a900210000000000b8a0019000000000a7a0019000000000a0a04330000000000ab04350000000109900039000000000a060433000000050aa00270000000000aa9004b0000178a0000413d00000000060f0433000000007806043400000c000980009c0000196d0000213d000000000b18016f0000003f09b00039000000000919016f000000400f00043d00000000099f0019000000000af9004b000000000a000019000000010a00403900000b890c90009c0000196d0000213d000000010aa001900000196d0000c13d0000000508800270000000400090043f00000000088f04360000001f09b0018f000000000a000031000000020aa00367000000050bb00272000017b80000613d000000000c000019000000050dc00210000000000ed80019000000000dda034f000000000d0d043b0000000000de0435000000010cc00039000000000dbc004b000017b00000413d000000000c90004c000017c70000613d000000050bb00210000000000aba034f000000000bb800190000000309900210000000000c0b0433000000000c9c01cf000000000c9c022f000000000a0a043b0000010009900089000000000a9a022f00000000099a01cf0000000009c9019f00000000009b04350000000009060433000000200990008c0000000105000029000017e30000413d00000000090f0433000000000990004c000019670000613d000000000907043300000b8b0990019700000000009804350000000009060433000000400990008c000017e30000413d0000000109000039000000000a0f0433000000000a9a004b000019670000a13d000000050a900210000000000b8a0019000000000a7a0019000000000a0a043300000b8b0aa001970000000000ab04350000000109900039000000000a060433000000050aa00270000000000aa9004b000017d50000413d0000000006030433000000007806043400000c000380009c0000196d0000213d000000000a18016f0000003f03a00039000000000113016f000000400300043d0000000001130019000000000931004b0000000009000019000000010900403900000b890b10009c0000196d0000213d00000001099001900000196d0000c13d0000000508800270000000400010043f00000000018304360000001f08a0018f00000000090000310000000209900367000000050aa00272000018040000613d000000000b000019000000050cb00210000000000dc10019000000000cc9034f000000000c0c043b0000000000cd0435000000010bb00039000000000cab004b000017fc0000413d000000000b80004c000018130000613d000000050aa002100000000009a9034f000000000aa100190000000308800210000000000b0a0433000000000b8b01cf000000000b8b022f000000000909043b0000010008800089000000000989022f00000000088901cf0000000008b8019f00000000008a04350000000008060433000000200880008c0000182e0000413d0000000008030433000000000880004c000019670000613d000000000807043300000b8b0880019700000000008104350000000008060433000000400880008c0000182e0000413d00000001080000390000000009030433000000000989004b000019670000a13d0000000509800210000000000a1900190000000009790019000000000909043300000b8b0990019700000000009a0435000000010880003900000000090604330000000509900270000000000998004b000018200000413d000000400700043d00000bd90670009c0000196d0000213d0000000301000029000000600110003900000000010104330000008006700039000000400060043f0000006006700039000000000016043500000020017000390000000000f104350000000000270435000000400170003900000000003104350000000001030433000000000110004c0000000006000019000018520000613d00000000010704330000000002010433000000000320004c000019860000613d000000050220021000000000011200190000000001010433000000000210004c0000184f0000613d000000010200008a00000000321200d90000000503000029000000000232004b000019860000413d000000050200002900000000212100a900000bec1610012a0000000701000029000000060200002900000004030000292e150a250000040f0000000806000029000000200410003900000000020404330000000002020433000000000220004c00000040021000390000186b0000c13d000000400300043d00000bff0530009c0000196d0000213d0000002005300039000000400050043f00000000000304350000000000310435000000400300043d00000bff0530009c0000196d0000213d0000002005300039000000400050043f00000000000304350000000000320435000000400300043d00000bd90530009c0000196d0000213d0000008005300039000000400050043f00000040053000390000000000650435000000200530003900000000006504350000000000630435000000600330003900000000000304350000000006010433000000007806043400000c000380009c0000196d0000213d000000200500008a000000000b58016f0000003f03b00039000000000953016f000000400300043d0000000009930019000000000a39004b000000000a000019000000010a00403900000b890c90009c0000196d0000213d000000010aa001900000196d0000c13d0000000508800270000000400090043f00000000088304360000001f09b0018f000000000a000031000000020aa00367000000050bb00272000018990000613d000000000c000019000000050dc00210000000000ed80019000000000dda034f000000000d0d043b0000000000de0435000000010cc00039000000000dbc004b000018910000413d000000000c90004c000018a80000613d000000050bb00210000000000aba034f000000000bb800190000000309900210000000000c0b0433000000000c9c01cf000000000c9c022f000000000a0a043b0000010009900089000000000a9a022f00000000099a01cf0000000009c9019f00000000009b04350000000009060433000000200990008c000018c10000413d0000000009030433000000000990004c000019670000613d000000000907043300000000009804350000000009060433000000400990008c000018c10000413d0000000109000039000000000a030433000000000a9a004b000019670000a13d000000050a900210000000000b8a0019000000000a7a0019000000000a0a04330000000000ab04350000000109900039000000000a060433000000050aa00270000000000aa9004b000018b40000413d0000000006040433000000007806043400000c000480009c0000196d0000213d000000000b58016f0000003f04b00039000000000954016f000000400400043d0000000009940019000000000a49004b000000000a000019000000010a00403900000b890c90009c0000196d0000213d000000010aa001900000196d0000c13d0000000508800270000000400090043f00000000088404360000001f09b0018f000000000a000031000000020aa00367000000050bb00272000018e20000613d000000000c000019000000050dc00210000000000ed80019000000000dda034f000000000d0d043b0000000000de0435000000010cc00039000000000dbc004b000018da0000413d000000000c90004c000018f10000613d000000050bb00210000000000aba034f000000000bb800190000000309900210000000000c0b0433000000000c9c01cf000000000c9c022f000000000a0a043b0000010009900089000000000a9a022f00000000099a01cf0000000009c9019f00000000009b04350000000009060433000000200990008c0000190c0000413d0000000009040433000000000990004c000019670000613d000000000907043300000b8b0990019700000000009804350000000009060433000000400990008c0000190c0000413d0000000109000039000000000a040433000000000a9a004b000019670000a13d000000050a900210000000000b8a0019000000000a7a0019000000000a0a043300000b8b0aa001970000000000ab04350000000109900039000000000a060433000000050aa00270000000000aa9004b000018fe0000413d0000000002020433000000006702043400000c000870009c0000196d0000213d000000000a57016f0000003f08a00039000000000858016f000000400500043d0000000008850019000000000958004b0000000009000019000000010900403900000b890b80009c0000196d0000213d00000001099001900000196d0000c13d0000000507700270000000400080043f00000000077504360000001f08a0018f00000000090000310000000209900367000000050aa002720000192d0000613d000000000b000019000000050cb00210000000000dc70019000000000cc9034f000000000c0c043b0000000000cd0435000000010bb00039000000000cab004b000019250000413d000000000b80004c0000193c0000613d000000050aa002100000000009a9034f000000000aa700190000000308800210000000000b0a0433000000000b8b01cf000000000b8b022f000000000909043b0000010008800089000000000989022f00000000088901cf0000000008b8019f00000000008a04350000000008020433000000200880008c000019570000413d0000000008050433000000000880004c000019670000613d000000000806043300000b8b0880019700000000008704350000000008020433000000400880008c000019570000413d00000001080000390000000009050433000000000989004b000019670000a13d0000000509800210000000000a7900190000000009690019000000000909043300000b8b0990019700000000009a0435000000010880003900000000090204330000000509900270000000000998004b000019490000413d000000400200043d00000bd90620009c0000196d0000213d000000600110003900000000010104330000008006200039000000400060043f00000060062000390000000000160435000000400120003900000000005104350000002001200039000000000041043500000000003204350000000001020019000000000001042d00000b8d0100004100000000001004350000003201000039000000040010043f00000b8e0100004100002e170001043000000b8d0100004100000000001004350000004101000039000000040010043f00000b8e0100004100002e1700010430000000440150003900000c0102000041000000000021043500000024015000390000001c02000039000000000021043500000bd601000041000000000015043500000004015000390000002002000039000000000021043500000b870100004100000b870250009c0000000001054019000000400110021000000be4011001c700002e1700010430000000000100001900002e170001043000000b8d0100004100000000001004350000001101000039000000040010043f00000b8e0100004100002e17000104300001000000000002000000400500043d00000be70650009c00001ad70000813d0000008006500039000000400060043f0000004006500039000000600a0000390000000000a6043500000020065000390000000000a604350000000000a5043500000060055000390000000000050435000000400500043d000000050640008a000000050700008a000000000676004b00001add0000a13d00000bd90650009c00001ad70000213d0000008006500039000000400060043f00000020065000390000000000a6043500000040065000390000000000a604350000000000a5043500000060075000390000000000070435000000400800043d00000beb0780009c00001ad70000213d0000004007800039000000400070043f00000020078000390000000000170435000000200700003900000000007804350000000000850435000000400800043d00000beb0980009c00001ad70000213d0000004009800039000000400090043f0000002009800039000000000029043500000000007804350000000000860435000000000600001900010000000a001d2e150a250000040f0000000106000029000000200410003900000000020404330000000002020433000000000220004c0000004002100039000019d50000c13d000000400300043d00000bff0530009c00001ad70000213d0000002005300039000000400050043f00000000000304350000000000310435000000400300043d00000bff0530009c00001ad70000213d0000002005300039000000400050043f00000000000304350000000000320435000000400300043d00000bd90530009c00001ad70000213d0000008005300039000000400050043f00000040053000390000000000650435000000200530003900000000006504350000000000630435000000600330003900000000000304350000000006010433000000007806043400000c000380009c00001ad70000213d000000200500008a000000000b58016f0000003f03b00039000000000953016f000000400300043d0000000009930019000000000a39004b000000000a000019000000010a00403900000b890c90009c00001ad70000213d000000010aa0019000001ad70000c13d0000000508800270000000400090043f00000000088304360000001f09b0018f000000000a000031000000020aa00367000000050bb0027200001a030000613d000000000c000019000000050dc00210000000000ed80019000000000dda034f000000000d0d043b0000000000de0435000000010cc00039000000000dbc004b000019fb0000413d000000000c90004c00001a120000613d000000050bb00210000000000aba034f000000000bb800190000000309900210000000000c0b0433000000000c9c01cf000000000c9c022f000000000a0a043b0000010009900089000000000a9a022f00000000099a01cf0000000009c9019f00000000009b04350000000009060433000000200990008c00001a2b0000413d0000000009030433000000000990004c00001ad10000613d000000000907043300000000009804350000000009060433000000400990008c00001a2b0000413d0000000109000039000000000a030433000000000a9a004b00001ad10000a13d000000050a900210000000000b8a0019000000000a7a0019000000000a0a04330000000000ab04350000000109900039000000000a060433000000050aa00270000000000aa9004b00001a1e0000413d0000000006040433000000007806043400000c000480009c00001ad70000213d000000000b58016f0000003f04b00039000000000954016f000000400400043d0000000009940019000000000a49004b000000000a000019000000010a00403900000b890c90009c00001ad70000213d000000010aa0019000001ad70000c13d0000000508800270000000400090043f00000000088404360000001f09b0018f000000000a000031000000020aa00367000000050bb0027200001a4c0000613d000000000c000019000000050dc00210000000000ed80019000000000dda034f000000000d0d043b0000000000de0435000000010cc00039000000000dbc004b00001a440000413d000000000c90004c00001a5b0000613d000000050bb00210000000000aba034f000000000bb800190000000309900210000000000c0b0433000000000c9c01cf000000000c9c022f000000000a0a043b0000010009900089000000000a9a022f00000000099a01cf0000000009c9019f00000000009b04350000000009060433000000200990008c00001a760000413d0000000009040433000000000990004c00001ad10000613d000000000907043300000b8b0990019700000000009804350000000009060433000000400990008c00001a760000413d0000000109000039000000000a040433000000000a9a004b00001ad10000a13d000000050a900210000000000b8a0019000000000a7a0019000000000a0a043300000b8b0aa001970000000000ab04350000000109900039000000000a060433000000050aa00270000000000aa9004b00001a680000413d0000000002020433000000006702043400000c000870009c00001ad70000213d000000000a57016f0000003f08a00039000000000858016f000000400500043d0000000008850019000000000958004b0000000009000019000000010900403900000b890b80009c00001ad70000213d000000010990019000001ad70000c13d0000000507700270000000400080043f00000000077504360000001f08a0018f00000000090000310000000209900367000000050aa0027200001a970000613d000000000b000019000000050cb00210000000000dc70019000000000cc9034f000000000c0c043b0000000000cd0435000000010bb00039000000000cab004b00001a8f0000413d000000000b80004c00001aa60000613d000000050aa002100000000009a9034f000000000aa700190000000308800210000000000b0a0433000000000b8b01cf000000000b8b022f000000000909043b0000010008800089000000000989022f00000000088901cf0000000008b8019f00000000008a04350000000008020433000000200880008c00001ac10000413d0000000008050433000000000880004c00001ad10000613d000000000806043300000b8b0880019700000000008704350000000008020433000000400880008c00001ac10000413d00000001080000390000000009050433000000000989004b00001ad10000a13d0000000509800210000000000a7900190000000009690019000000000909043300000b8b0990019700000000009a0435000000010880003900000000090204330000000509900270000000000998004b00001ab30000413d000000400200043d00000bd90620009c00001ad70000213d000000600110003900000000010104330000008006200039000000400060043f00000060062000390000000000160435000000400120003900000000005104350000002001200039000000000041043500000000003204350000000001020019000000000001042d00000b8d0100004100000000001004350000003201000039000000040010043f00000b8e0100004100002e170001043000000b8d0100004100000000001004350000004101000039000000040010043f00000b8e0100004100002e1700010430000000440150003900000c0102000041000000000021043500000024015000390000001c02000039000000000021043500000bd601000041000000000015043500000004015000390000002002000039000000000021043500000b870100004100000b870250009c0000000001054019000000400110021000000be4011001c700002e17000104300000000000100435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f000000010220019000001afe0000613d000000000101043b0000000101100039000000000101041a000000000001042d000000000100001900002e17000104300004000000000002000100000003001d000200000002001d000300000001001d0000000401000039000000000201041a000400000004001d000000000242004b00001b8c0000a13d000000000010043500000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bdd011001c700008010020000392e152e100000040f000000010220019000001b8a0000613d000000000101043b00000004020000290000000001210019000000000101041a00000bd002000041000000000020043900000b8b01100197000400000001001d000000040010044300000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bd1011001c700008002020000392e152e100000040f000000010220019000001b8a0000613d000000000101043b000000000110004c00001b8a0000613d000000400900043d00000be8010000410000000000190435000000010100002900000b8b02100197000000440390003900000000010004140000000000230435000000020200002900000b8b02200197000000240390003900000000002304350000000402900039000000030300002900000000003204350000000402000029000000040320008c00001b3e0000c13d000000010300003100001b700000013d00000b870400004100000b870310009c000000000104801900000b870390009c000000000304001900000000030940190000004003300210000000c001100210000000000131019f00000be4011001c7000400000009001d2e152e100000040f00000004090000290000000003010019000000600330027000000b8703300197000000200430008c000000200500003900000000050340190000001f0450018f000000050550027200001b5d0000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b00001b550000413d000000000640004c00001b6c0000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f0003000000010355000000010220019000001b980000613d0000001f01300039000000200200008a000000000221016f0000000001920019000000000221004b0000000002000019000000010200403900000b890310009c00001b920000213d000000010220019000001b920000c13d000000400010043f00000b88010000410000000102000031000000200320008c0000000003000019000000000301401900000b8802200197000000000420004c000000000100a01900000b880220009c000000000103c019000000000110004c00001b8a0000c13d0000000001090433000000000001042d000000000100001900002e170001043000000b8d0100004100000000001004350000003201000039000000040010043f00000b8e0100004100002e170001043000000b8d0100004100000000001004350000004101000039000000040010043f00000b8e0100004100002e17000104300000001f0430018f000000050230027200001ba30000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b00001b9c0000413d000000000340004c00001bb10000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000b8701000041000000010200003100000b870320009c0000000001024019000000600110021000002e1700010430000c000000000002000700000005001d000600000004001d000500000001001d000000400100043d00000be70410009c00001c900000813d0000008004100039000000400040043f0000006004100039000000000004043500000040041000390000000000040435000000200410003900000000000404350000000000010435000000400100043d000800000001001d00000bd90110009c00001c900000213d00000008040000290000008001400039000000400010043f00000060014000390000000000010435000000400140003900000000000104350000002001400039000000000001043500000000000404350000000701000029000000000110004c00001c8c0000613d00000b8b01300197000a00000001001d00000b8b01200197000900000001001d0000000401000039000400000001001d0000801001000039000300000001001d0000800201000039000200000001001d0000000002000019000c00000002001d0000000501200210000000060200002900000000012100190000000201100367000000000301043b000001000130008c00001c8e0000813d0000000402000029000000000102041a000b00000003001d000000000131004b00001c9c0000a13d000000000020043500000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bdd011001c700000003020000292e152e100000040f00000001022001900000000b0200002900001c8e0000613d000000000101043b0000000001210019000000000101041a00000bd002000041000000000020043900000b8b01100197000b00000001001d000000040010044300000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bd1011001c700000002020000292e152e100000040f0000000b06000029000000010220019000001c8e0000613d000000000101043b000000000110004c00001c8e0000613d000000400900043d00000be8010000410000000000190435000000440290003900000000010004140000000a030000290000000000320435000000240290003900000009030000290000000000320435000000040290003900000005030000290000000000320435000000040260008c00001c230000c13d000000010300003100001c550000013d00000b870200004100000b870310009c000000000102801900000b870390009c00000000020940190000004002200210000000c001100210000000000121019f00000be4011001c70000000002060019000100000009001d2e152e100000040f00000001090000290000000003010019000000600330027000000b8703300197000000200430008c00000020050000390000000005034019000000050450027200001c410000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000746004b00001c390000413d0000001f0550019000001c500000613d0000000504400210000000000641034f00000000044900190000000305500210000000000704043300000000075701cf000000000757022f000000000606043b0000010005500089000000000656022f00000000055601cf000000000575019f0000000000540435000100000003001f000300000001035500000001022001900000000b0600002900001ca20000613d0000001f01300039000000200200008a000000000221016f0000000001920019000000000221004b0000000002000019000000010200403900000b890310009c00001c900000213d000000010220019000001c900000c13d000000400010043f00000b88020000410000000103000031000000200430008c0000000004000019000000000402401900000b8803300197000000000530004c000000000200a01900000b880330009c000000000204c019000000000220004c00001c8e0000c13d00000000020904330000000c03000029000000000330004c00001c760000613d000000080300002900000060033000390000000003030433000000000332004b00001c840000a13d00000bd90310009c00001c900000213d0000008003100039000000400030043f0000006003100039000000000023043500000040021000390000000a0300002900000000003204350000002002100039000000090300002900000000003204350000000000610435000800000001001d0000000c02000029000000ff0120008c00001c960000613d0000000101200039000000ff0210018f0000000701000029000000000112004b00001be30000413d0000000801000029000000000001042d000000000100001900002e170001043000000b8d0100004100000000001004350000004101000039000000040010043f00000b8e0100004100002e170001043000000b8d0100004100000000001004350000001101000039000000040010043f00000b8e0100004100002e170001043000000b8d0100004100000000001004350000003201000039000000040010043f00000b8e0100004100002e17000104300000001f0430018f000000050230027200001cad0000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b00001ca60000413d000000000340004c00001cbb0000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000b8701000041000000010200003100000b870320009c0000000001024019000000600110021000002e1700010430000b000000000002000500000001001d000000400100043d00000be70410009c00001d930000813d0000008004100039000000400040043f0000006004100039000000000004043500000040041000390000000000040435000000200410003900000000000404350000000000010435000000400100043d000700000001001d00000bd90110009c00001d930000213d00000007040000290000008001400039000000400010043f00000060014000390000000000010435000000400140003900000000000104350000002001400039000000000001043500000000000404350000000401000039000600000001001d000000000101041a000400000001001d000000000110004c00001d8f0000613d00000b8b01300197000900000001001d00000b8b01200197000800000001001d0000801001000039000300000001001d0000800201000039000200000001001d00000000020000190000000003000019000b00000002001d0000000602000029000000000102041a000a00000003001d000000000131004b00001d9f0000a13d000000000020043500000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bdd011001c700000003020000292e152e100000040f000000010220019000001d910000613d000000000101043b0000000a020000290000000001210019000000000101041a00000bd002000041000000000020043900000b8b01100197000a00000001001d000000040010044300000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bd1011001c700000002020000292e152e100000040f0000000a06000029000000010220019000001d910000613d000000000101043b000000000110004c00001d910000613d000000400900043d00000be80100004100000000001904350000004402900039000000000100041400000009030000290000000000320435000000240290003900000008030000290000000000320435000000040290003900000005030000290000000000320435000000040260008c00001d260000c13d000000010300003100001d580000013d00000b870200004100000b870310009c000000000102801900000b870390009c00000000020940190000004002200210000000c001100210000000000121019f00000be4011001c70000000002060019000100000009001d2e152e100000040f00000001090000290000000003010019000000600330027000000b8703300197000000200430008c00000020050000390000000005034019000000050450027200001d440000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000746004b00001d3c0000413d0000001f0550019000001d530000613d0000000504400210000000000641034f00000000044900190000000305500210000000000704043300000000075701cf000000000757022f000000000606043b0000010005500089000000000656022f00000000055601cf000000000575019f0000000000540435000100000003001f000300000001035500000001022001900000000a0600002900001da50000613d0000001f01300039000000200200008a000000000221016f0000000001920019000000000221004b0000000002000019000000010200403900000b890310009c00001d930000213d000000010220019000001d930000c13d000000400010043f00000b88020000410000000103000031000000200430008c0000000004000019000000000402401900000b8803300197000000000530004c000000000200a01900000b880330009c000000000204c019000000000220004c00001d910000c13d00000000020904330000000b03000029000000000330004c00001d790000613d000000070300002900000060033000390000000003030433000000000332004b00001d870000a13d00000bd90310009c00001d930000213d0000008003100039000000400030043f000000600310003900000000002304350000004002100039000000090300002900000000003204350000002002100039000000080300002900000000003204350000000000610435000700000001001d0000000b02000029000000ff0120008c00001d990000613d0000000103200039000000ff0230018f0000000401000029000000000112004b00001ced0000413d0000000701000029000000000001042d000000000100001900002e170001043000000b8d0100004100000000001004350000004101000039000000040010043f00000b8e0100004100002e170001043000000b8d0100004100000000001004350000001101000039000000040010043f00000b8e0100004100002e170001043000000b8d0100004100000000001004350000003201000039000000040010043f00000b8e0100004100002e17000104300000001f0430018f000000050230027200001db00000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b00001da90000413d000000000340004c00001dbe0000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000b8701000041000000010200003100000b870320009c0000000001024019000000600110021000002e17000104300003000000000002000300000001001d00000bc5010000410000000000100435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f000000010220019000001e4d0000613d000000000101043b0000000101100039000000000101041a000100000001001d0000000000100435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f000000010220019000001e4d0000613d000000000101043b0000000002000411000200000002001d00000b8b022001970000000000200435000000200010043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f000000010220019000001e4d0000613d000000000101043b000000000101041a000000ff0110019000001e4f0000613d00000bc5010000410000000000100435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f000000010220019000001e4d0000613d000000000101043b000000030200002900000b8b02200197000100000002001d0000000000200435000000200010043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f000000010220019000001e4d0000613d000000000101043b000000000101041a000000ff0110019000001e4c0000613d00000bc5010000410000000000100435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f000000010220019000001e4d0000613d000000000101043b00000001020000290000000000200435000000200010043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f000000010220019000001e4d0000613d000000000101043b000000000201041a000001000300008a000000000232016f000000000021041b000000400100043d00000b8702000041000000000300041400000b870430009c000000000302801900000b870410009c00000000010280190000004001100210000000c002300210000000000112019f00000bce011001c70000800d02000039000000040300003900000c020400004100000bc505000041000000030600002900000002070000292e152e0b0000040f000000010120019000001e4d0000613d000000000001042d000000000100001900002e1700010430000000400100043d000000000701001900000bf60110009c00001e590000413d00000b8d0100004100000000001004350000004101000039000000040010043f00000b8e0100004100002e170001043000000000020700190000006001200039000000400010043f0000002a01000039000000000112043600000000020000310000000202200367000000000300001900000005043002100000000005410019000000000442034f000000000404043b00000000004504350000000103300039000000020430008c00001e610000413d0000000002070433000000000220004c00001e730000613d000000000201043300000bf70220019700000bf8022001c700000000002104350000000002070433000000020220008c00001e790000813d00000b8d0100004100000000001004350000003201000039000000040010043f00000b8e0100004100002e17000104300000002102700039000000000302043300000bf70330019700000bf9033001c700000000003204350000002902000039000000020500002900000000030500190000000004070433000000000424004b00001e730000a13d0000000f0430018f0000000304400210000000f80440015f00000bfa05000041000000000445022f0000000005120019000000000605043300000bf706600197000000f804400210000000000446019f00000000004504350000000405300270000000010220008a000000010420008c00001e800000213d000000100130008c00000000010000190000000101004039000200000007001d2e152df70000040f00000001010000292e1524d00000040f000000400400043d000300000004001d000000200240003900000bfb030000410000000000320435000100000001001d000000370240003900000002010000292e15098c0000040f00000bfc020000410000000000210435000000110210003900000001010000292e15098c0000040f00000003030000290000000002310049000000200120008a000000000013043500000000010300192e150a120000040f00000bd601000041000000400200043d000200000002001d0000000000120435000000040120003900000003020000292e15099d0000040f0000000204000029000000000141004900000b870200004100000b870310009c000000000102801900000b870340009c000000000204401900000040022002100000006001100210000000000121019f00002e17000104300003000000000002000000000300041100000b8b02300197000300000002001d000100000003001d00000c030230009c00001f1d0000813d000200000001001d0000000000100435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f000000010220019000001f1b0000613d000000000101043b00000003020000290000000000200435000000200010043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f000000010220019000001f1b0000613d000000000101043b000000000101041a000000ff0110019000001f1a0000613d00000002010000290000000000100435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f000000010220019000001f1b0000613d000000000101043b00000003020000290000000000200435000000200010043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f000000010220019000001f1b0000613d000000000101043b000000000201041a000001000300008a000000000232016f000000000021041b000000400100043d00000b8702000041000000000300041400000b870430009c000000000302801900000b870410009c00000000010280190000004001100210000000c002300210000000000112019f00000bce011001c70000800d02000039000000040300003900000c02040000410000000205000029000000010600002900000003070000292e152e0b0000040f000000010120019000001f1b0000613d000000000001042d000000000100001900002e1700010430000000400100043d000000640210003900000c04030000410000000000320435000000440210003900000c0503000041000000000032043500000024021000390000002f03000039000000000032043500000bd602000041000000000021043500000004021000390000002003000039000000000032043500000b870200004100000b870310009c0000000001028019000000400110021000000bd7011001c700002e17000104300003000000000002000100000002001d00000b8b022001970000000003000411000300000002001d000000000232004b00001f8f0000c13d000200000001001d0000000000100435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f000000010220019000001f8d0000613d000000000101043b00000003020000290000000000200435000000200010043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f000000010220019000001f8d0000613d000000000101043b000000000101041a000000ff0110019000001f8c0000613d00000002010000290000000000100435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f000000010220019000001f8d0000613d000000000101043b00000003020000290000000000200435000000200010043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f000000010220019000001f8d0000613d000000000101043b000000000201041a000001000300008a000000000232016f000000000021041b000000400100043d00000b8702000041000000000300041400000b870430009c000000000302801900000b870410009c00000000010280190000004001100210000000c002300210000000000112019f00000bce011001c70000800d02000039000000040300003900000c02040000410000000205000029000000010600002900000003070000292e152e0b0000040f000000010120019000001f8d0000613d000000000001042d000000000100001900002e1700010430000000400100043d000000640210003900000c04030000410000000000320435000000440210003900000c0503000041000000000032043500000024021000390000002f03000039000000000032043500000bd602000041000000000021043500000004021000390000002003000039000000000032043500000b870200004100000b870310009c0000000001028019000000400110021000000bd7011001c700002e17000104300005000000000002000300000003001d000200000002001d000000000200003100000000031200490000001f0430008a000500000001001d00000040031000390000000201000367000000000331034f000000000303043b00000b8805000041000000000643004b0000000006000019000000000605401900000b880440019700000b8807300197000000000847004b000000000500a019000000000447013f00000b880440009c00000000040600190000000004056019000000000440004c000020430000613d00000005040000290000000004430019000000000341034f000000000303043b00000b890530009c000020430000213d00000005053002100000000005520049000000200240003900000b8804000041000000000652004b0000000006000019000000000604201900000b880550019700000b8807200197000000000857004b0000000004008019000000000557013f00000b880550009c000000000406c019000000000440004c000020430000c13d000000000330004c000020450000613d000000000121034f000000000101043b000400000001001d00000b8b0110009c000020430000213d00000bc701000041000000000010043900000000010004120000000400100443000000240000044300000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bfd011001c700008005020000392e152e100000040f0000000102200190000020430000613d000000000101043b00000b8b011001970000000402000029000000000112004b0000204b0000c13d00000bd0010000410000000000100439000000040020044300000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bd1011001c700008002020000392e152e100000040f0000000102200190000020430000613d000000000101043b000000000110004c000020430000613d000000400600043d00000c08010000410000000000160435000000000100041400000005020000290000000202200367000000000302043b0000000404000029000000040240008c0000200a0000c13d0000000104000031000020250000013d00000b870200004100000b870510009c000000000102801900000b870560009c000100000006001d00000000020640190000004002200210000000c001100210000000000121019f000000000230004c0000201a0000613d00000c09011001c7000080090200003900000000050000192e152e0b0000040f0000201d0000013d00000bea011001c700000000020400192e152e0b0000040f00030000000103550000000003010019000000600330027000010b870030019d00000b870430019700000001022001900000000106000029000020660000613d0000001f01400039000000200200008a000000000221016f0000000001620019000000000221004b0000000002000019000000010200403900000b890310009c000020600000213d0000000102200190000020600000c13d000000400010043f00000b88010000410000000102000031000000000320004c0000000003000019000000000301401900000b8802200197000000000420004c000000000100a01900000b880220009c000000000103c019000000000110004c000020430000c13d00000000020004100000000501000029000000020300002900000003040000292e150fbb0000040f000000000001042d000000000100001900002e170001043000000b8d0100004100000000001004350000003201000039000000040010043f00000b8e0100004100002e1700010430000000400100043d000000640210003900000c06030000410000000000320435000000440210003900000c0703000041000000000032043500000024021000390000002903000039000000000032043500000bd602000041000000000021043500000004021000390000002003000039000000000032043500000b870200004100000b870310009c0000000001028019000000400110021000000bd7011001c700002e170001043000000b8d0100004100000000001004350000004101000039000000040010043f00000b8e0100004100002e17000104300000001f0340018f0000000502400272000020710000613d00000000040000190000000505400210000000000651034f000000000606043b00000000006504350000000104400039000000000524004b0000206a0000413d000000000430004c0000207f0000613d00000003033002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000b8701000041000000010200003100000b870320009c0000000001024019000000600110021000002e1700010430000a000000000002000000000a040019000200000003001d000100000002001d00000000090100190000001f0100008a000000000491004900000040029000390000000201000367000700000002001d000000000221034f000000000302043b0000000002000031000600000004001d000000000442001900000b880b000041000000000843004b000000000c000019000000000c0b401900000b880440019700000b880d30019700000000084d004b000000000800001900000000080b201900000000044d013f00000b880440009c00000000040c00190000000004086019000000000440004c000022260000613d0000000004930019000000000341034f000000000303043b00000b890830009c000022260000213d0000000508300210000000000b820049000000200240003900000b88040000410000000008b2004b000000000c000019000000000c04201900000b880bb0019700000b880d2001970000000008bd004b00000000040080190000000008bd013f00000b880880009c00000000040cc019000000000440004c000022260000c13d000000000330004c0000222e0000613d000000000121034f000000000401043b00000b8b0140009c000022260000213d00000bd0010000410000000000100439000000040040044300000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bd1011001c70000800202000039000a00000009001d00090000000a001d000800000005001d000500000006001d000400000007001d000300000004001d2e152e100000040f000000030800002900000004070000290000000506000029000000080400002900000009050000290000000a090000290000000102200190000022260000613d000000000101043b000000000110004c000022260000613d000000400a00043d00000c0a0100004100000000001a043500000000010004140000000202900367000000000202043b000000c403a000390000000000730435000000a403a000390000000000630435000000ff0340018f0000008404a0003900000000003404350000006403a0003900000000005304350000004403a0003900000000002304350000000002000410000900000002001d00000b8b022001970000002403a0003900000000002304350000000002000411000500000002001d00000b8b022001970000000403a000390000000000230435000000040280008c000020f90000c13d00000001040000310000210e0000013d00000b870200004100000b870310009c000000000102801900000b8703a0009c00000000020a40190000004002200210000000c001100210000000000121019f00000c0b011001c7000000000208001900080000000a001d2e152e0b0000040f000000080a0000290000000a090000290000000003010019000000600330027000010b870030019d00000b8704300197000300000001035500000001022001900000224f0000613d0000001f01400039000000200200008a000800000002001d000000000221016f0000000001a20019000000000221004b0000000002000019000000010200403900000b890310009c000022280000213d0000000102200190000022280000c13d000000400010043f00000b88010000410000000102000031000000000320004c0000000003000019000000000301401900000b8802200197000000000420004c000000000100a01900000b880220009c000000000103c019000000000110004c000022260000c13d00000000030000310000000601000029000000000413001900000002010003670000000702000029000000000221034f000000000202043b00000b8805000041000000000642004b0000000006000019000000000605801900000b880440019700000b8807200197000000000847004b0000000005008019000000000447013f00000b880440009c00000000040600190000000004056019000000000440004c000022260000c13d0000000002920019000000000421034f000000000404043b00000b890540009c000022260000213d00000005054002100000000003530049000000200620003900000b8807000041000000000836004b0000000008000019000000000807201900000b880330019700000b8806600197000000000936004b0000000007008019000000000336013f00000b880330009c00000000030800190000000003076019000000000330004c000022260000c13d000000000340004c000022340000613d0000000002250019000000000121034f000000000101043b000700000001001d00000b8b0110009c000022260000213d00000bc70100004100000000001004390000000001000412000600000001001d0000000400100443000000240000044300000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bfd011001c700008005020000392e152e100000040f0000000a030000290000000102200190000022260000613d000000000101043b00000b8b011001970000000702000029000000000112004b0000223a0000c13d00000000010300190000000502000029000000090300002900000002040000292e150fbb0000040f00000bc7020000410000000000200439000000060200002900000004002004430000002400000443000a00000001001d00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bfd011001c700008005020000392e152e100000040f0000000102200190000022260000613d000000000101043b00000bd002000041000000000020043900000b8b01100197000700000001001d000000040010044300000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bd1011001c700008002020000392e152e100000040f0000000102200190000022260000613d000000000101043b000000000110004c000022260000613d000000400500043d00000c0e01000041000000000015043500000004015000390000000a02000029000000000021043500000000010004140000000702000029000000040320008c000021a40000c13d0000000104000031000021b80000013d00000b870400004100000b870310009c000000000104801900000b870350009c000000000304001900000000030540190000004003300210000000c001100210000000000131019f00000b8e011001c7000700000005001d2e152e0b0000040f00000007050000290000000003010019000000600330027000010b870030019d00000b8704300197000300000001035500000001022001900000226e0000613d0000001f014000390000000802000029000000000221016f0000000001520019000000000221004b0000000002000019000000010200403900000b890310009c000022280000213d0000000102200190000022280000c13d000000400010043f00000b88010000410000000102000031000000000320004c0000000003000019000000000301401900000b8802200197000000000420004c000000000100a01900000b880220009c000000000103c019000000000110004c000022260000c13d000000010400002900000b8b014001970000000902000029000000000112004b000022250000613d0000000001000414000000040240008c000021db0000c13d00000001020000390000000101000031000021f60000013d00000b8702000041000000400300043d00000b870530009c000000000302801900000b870510009c0000000001028019000000c0011002100000004002300210000000000112019f0000000a03000029000000000230004c000021f00000613d00000bce011001c7000080090200003900000000050000192e152e0b0000040f0003000000010355000000600110027000010b870010019d00000b8701100197000021f60000013d00000000020400192e152e0b0000040f0003000000010355000000600110027000010b870010019d00000b8701100197000000000310004c000022230000613d0000003f031000390000000804000029000000000443016f000000400300043d0000000004430019000000000534004b0000000005000019000000010500403900000b890640009c000022280000213d0000000105500190000022280000c13d000000400040043f0000000001130436000000030300036700000001050000310000001f0450018f0000000505500272000022140000613d000000000600001900000005076002100000000008710019000000000773034f000000000707043b00000000007804350000000106600039000000000756004b0000220c0000413d000000000640004c000022230000613d0000000505500210000000000353034f00000000015100190000000304400210000000000501043300000000054501cf000000000545022f000000000303043b0000010004400089000000000343022f00000000034301cf000000000353019f000000000031043500000001012001900000228d0000613d000000000001042d000000000100001900002e170001043000000b8d0100004100000000001004350000004101000039000000040010043f00000b8e0100004100002e170001043000000b8d0100004100000000001004350000003201000039000000040010043f00000b8e0100004100002e170001043000000b8d0100004100000000001004350000001101000039000000040010043f00000b8e0100004100002e1700010430000000400100043d000000640210003900000c0c030000410000000000320435000000440210003900000c0d03000041000000000032043500000024021000390000002703000039000000000032043500000bd602000041000000000021043500000004021000390000002003000039000000000032043500000b870200004100000b870310009c0000000001028019000000400110021000000bd7011001c700002e17000104300000001f0340018f00000005024002720000225a0000613d00000000040000190000000505400210000000000651034f000000000606043b00000000006504350000000104400039000000000524004b000022530000413d000000000430004c000022680000613d00000003033002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000b8701000041000000010200003100000b870320009c0000000001024019000000600110021000002e17000104300000001f0340018f0000000502400272000022790000613d00000000040000190000000505400210000000000651034f000000000606043b00000000006504350000000104400039000000000524004b000022720000413d000000000430004c000022870000613d00000003033002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000b8701000041000000010200003100000b870320009c0000000001024019000000600110021000002e1700010430000000400100043d000000440210003900000c0f03000041000000000032043500000024021000390000001003000039000000000032043500000bd602000041000000000021043500000004021000390000002003000039000000000032043500000b870200004100000b870310009c0000000001028019000000400110021000000be4011001c700002e17000104300005000000000002000100000002001d000000000b01001900000000020000310000000001b200490000001f0410008a0000004005b000390000000201000367000000000551034f000000000905043b00000b8805000041000000000649004b0000000006000019000000000605401900000b880440019700000b8807900197000000000847004b000000000500a019000000000447013f00000b880440009c00000000040600190000000004056019000000000440004c000023a60000613d000000000ab900190000000004a1034f000000000404043b00000b890540009c000023a60000213d000000050540021000000000025200490000002006a0003900000b8807000041000000000826004b0000000008000019000000000807201900000b880220019700000b8806600197000000000926004b0000000007008019000000000226013f00000b880220009c00000000020800190000000002076019000000000220004c000023a60000c13d000000000240004c000023ae0000613d0000000002a50019000000000121034f000000000101043b000300000001001d00000b8b0110009c000023a60000213d00000bc70100004100000000001004390000000001000412000200000001001d0000000400100443000000240000044300000b8701000041000000000200041400000b870420009c0000000001024019000000c00110021000000bfd011001c70000800502000039000500000003001d00040000000b001d2e152e100000040f000000040500002900000005040000290000000102200190000023a60000613d000000000101043b00000b8b011001970000000302000029000000000112004b000023b40000c13d000000000200041100000000030004100000000001050019000300000003001d2e150fbb0000040f00000bc7020000410000000000200439000000020200002900000004002004430000002400000443000500000001001d00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bfd011001c700008005020000392e152e100000040f0000000102200190000023a60000613d000000000101043b00000bd002000041000000000020043900000b8b01100197000400000001001d000000040010044300000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bd1011001c700008002020000392e152e100000040f0000000102200190000023a60000613d000000000101043b000000000110004c000023a60000613d000000400600043d00000c0e01000041000000000016043500000004016000390000000502000029000000000021043500000000010004140000000402000029000000040320008c000023220000c13d0000000104000031000023360000013d00000b870400004100000b870310009c000000000104801900000b870360009c000000000304001900000000030640190000004003300210000000c001100210000000000131019f00000b8e011001c7000400000006001d2e152e0b0000040f00000004060000290000000003010019000000600330027000010b870030019d00000b870430019700030000000103550000000102200190000023c90000613d0000001f01400039000000200500008a000000000251016f0000000001620019000000000221004b0000000002000019000000010200403900000b890310009c000023a80000213d0000000102200190000023a80000c13d000000400010043f00000b88010000410000000102000031000000000320004c0000000003000019000000000301401900000b8802200197000000000420004c000000000100a01900000b880220009c000000000103c019000000000110004c000023a60000c13d000000010400002900000b8b014001970000000302000029000000000112004b000023a50000613d0000000001000414000000040240008c000023590000c13d00000001020000390000000101000031000023770000013d000400000005001d00000b8702000041000000400300043d00000b870530009c000000000302801900000b870510009c0000000001028019000000c0011002100000004002300210000000000112019f0000000503000029000000000230004c000023700000613d00000bce011001c7000080090200003900000000050000192e152e0b0000040f0003000000010355000000600110027000010b870010019d00000b87011001970000000405000029000023770000013d00000000020400192e152e0b0000040f0003000000010355000000600110027000010b870010019d00000b87011001970000000405000029000000000310004c000023a30000613d0000003f03100039000000000453016f000000400300043d0000000004430019000000000534004b0000000005000019000000010500403900000b890640009c000023a80000213d0000000105500190000023a80000c13d000000400040043f0000000001130436000000030300036700000001050000310000001f0450018f0000000505500272000023940000613d000000000600001900000005076002100000000008710019000000000773034f000000000707043b00000000007804350000000106600039000000000756004b0000238c0000413d000000000640004c000023a30000613d0000000505500210000000000353034f00000000015100190000000304400210000000000501043300000000054501cf000000000545022f000000000303043b0000010004400089000000000343022f00000000034301cf000000000353019f00000000003104350000000101200190000023e80000613d000000000001042d000000000100001900002e170001043000000b8d0100004100000000001004350000004101000039000000040010043f00000b8e0100004100002e170001043000000b8d0100004100000000001004350000001101000039000000040010043f00000b8e0100004100002e1700010430000000400100043d000000640210003900000c0c030000410000000000320435000000440210003900000c0d03000041000000000032043500000024021000390000002703000039000000000032043500000bd602000041000000000021043500000004021000390000002003000039000000000032043500000b870200004100000b870310009c0000000001028019000000400110021000000bd7011001c700002e17000104300000001f0340018f0000000502400272000023d40000613d00000000040000190000000505400210000000000651034f000000000606043b00000000006504350000000104400039000000000524004b000023cd0000413d000000000430004c000023e20000613d00000003033002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000b8701000041000000010200003100000b870320009c0000000001024019000000600110021000002e1700010430000000400100043d000000440210003900000c0f03000041000000000032043500000024021000390000001003000039000000000032043500000bd602000041000000000021043500000004021000390000002003000039000000000032043500000b870200004100000b870310009c0000000001028019000000400110021000000be4011001c700002e17000104300008000000000002000000000a040019000700000003001d000600000002001d0000000009010019000000000200003100000000019200490000001f0410008a00000040039000390000000201000367000000000331034f000000000303043b00000b880b000041000000000843004b000000000c000019000000000c0b401900000b880440019700000b880d30019700000000084d004b000000000800001900000000080b201900000000044d013f00000b880440009c00000000040c00190000000004086019000000000440004c0000249e0000613d0000000004930019000000000341034f000000000303043b00000b890830009c0000249e0000213d0000000508300210000000000b820049000000200240003900000b88040000410000000008b2004b000000000c000019000000000c04201900000b880bb0019700000b880d2001970000000008bd004b00000000040080190000000008bd013f00000b880880009c00000000040cc019000000000440004c0000249e0000c13d000000000330004c000024a00000613d000000000121034f000000000401043b00000b8b0140009c0000249e0000213d00000bd0010000410000000000100439000000040040044300000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bd1011001c70000800202000039000800000009001d00050000000a001d000400000005001d000300000006001d000200000007001d000100000004001d2e152e100000040f00000001090000290000000208000029000000030700002900000004040000290000000506000029000000080500002900000001022001900000249e0000613d000000000101043b000000000110004c0000249e0000613d000000400a00043d00000c0a0100004100000000001a043500000000010004140000000202500367000000000202043b000000c403a000390000000000830435000000a403a000390000000000730435000000ff0340018f0000008404a0003900000000003404350000006403a0003900000000006304350000004403a000390000000000230435000000000200041000000b8b022001970000002403a000390000000000230435000000000600041100000b8b026001970000000403a000390000000000230435000000040290008c000024690000c13d0000000104000031000024800000013d00000b870200004100000b870310009c000000000102801900000b8703a0009c00000000020a40190000004002200210000000c001100210000000000121019f00000c0b011001c70000000002090019000500000006001d00040000000a001d2e152e0b0000040f000000040a000029000000050600002900000008050000290000000003010019000000600330027000010b870030019d00000b870430019700030000000103550000000102200190000024ac0000613d0000001f01400039000000200200008a000000000221016f0000000001a20019000000000221004b0000000002000019000000010200403900000b890310009c000024a60000213d0000000102200190000024a60000c13d000000400010043f00000b88010000410000000102000031000000000320004c0000000003000019000000000301401900000b8802200197000000000420004c000000000100a01900000b880220009c000000000103c019000000000110004c0000249e0000c13d00000000010500190000000002060019000000060300002900000007040000292e150fbb0000040f000000000001042d000000000100001900002e170001043000000b8d0100004100000000001004350000003201000039000000040010043f00000b8e0100004100002e170001043000000b8d0100004100000000001004350000004101000039000000040010043f00000b8e0100004100002e17000104300000001f0340018f0000000502400272000024b70000613d00000000040000190000000505400210000000000651034f000000000606043b00000000006504350000000104400039000000000524004b000024b00000413d000000000430004c000024c50000613d00000003033002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000b8701000041000000010200003100000b870320009c0000000001024019000000600110021000002e17000104300000000004030019000000000302001900000000020004112e150fbb0000040f000000000001042d0000000002010019000000400100043d00000be70310009c0000250f0000813d0000008003100039000000400030043f0000004203000039000000000331043600000000040000310000000204400367000000000500001900000005065002100000000007630019000000000664034f000000000606043b00000000006704350000000105500039000000030650008c000024db0000413d0000000004010433000000000440004c000025090000613d000000000403043300000bf70440019700000bf8044001c700000000004304350000000004010433000000020440008c000025090000413d0000002104100039000000000504043300000bf70550019700000bf9055001c70000000000540435000000410400003900000000050200190000000002010433000000000242004b000025090000a13d0000000f0250018f0000000302200210000000f80220015f00000bfa06000041000000000226022f0000000006340019000000000706043300000bf707700197000000f802200210000000000227019f00000000002604350000000402500270000000010440008a000000010640008c000024f30000213d000000100250008c000025150000813d000000000001042d00000b8d0100004100000000001004350000003201000039000000040010043f00000b8e0100004100002e170001043000000b8d0100004100000000001004350000004101000039000000040010043f00000b8e0100004100002e1700010430000000400100043d000000440210003900000c1003000041000000000032043500000bd60200004100000000002104350000002402100039000000200300003900000000003204350000000402100039000000000032043500000b870200004100000b870310009c0000000001028019000000400110021000000be4011001c700002e17000104300004000000000002000300000001001d0000000000000435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000025ff0000613d000000000101043b0000000101100039000000000101041a000100000001001d0000000000100435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000025ff0000613d000000000101043b0000000002000411000200000002001d00000b8b02200197000400000002001d0000000000200435000000200010043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000025ff0000613d000000000101043b000000000101041a000000ff01100190000026010000613d0000000000000435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000025ff0000613d000000000101043b000000030200002900000b8b02200197000100000002001d0000000000200435000000200010043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000025ff0000613d000000000101043b000000000101041a000000ff01100190000025ad0000c13d0000000000000435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000025ff0000613d000000000101043b00000001020000290000000000200435000000200010043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000025ff0000613d000000000101043b000000000201041a000001000300008a000000000232016f00000001022001bf000000000021041b000000400100043d00000b8702000041000000000300041400000b870430009c000000000302801900000b870410009c00000000010280190000004001100210000000c002300210000000000112019f00000bce011001c70000800d02000039000000040300003900000bcf040000410000000005000019000000030600002900000002070000292e152e0b0000040f0000000101200190000025ff0000613d0000000000000435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000025ff0000613d000000000101043b00000004020000290000000000200435000000200010043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000025ff0000613d000000000101043b000000000101041a000000ff01100190000025fe0000613d0000000000000435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000025ff0000613d000000000101043b00000004020000290000000000200435000000200010043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000025ff0000613d000000000101043b000000000201041a000001000300008a000000000232016f000000000021041b000000400100043d00000b8702000041000000000300041400000b870430009c000000000302801900000b870410009c00000000010280190000004001100210000000c002300210000000000112019f00000bce011001c70000800d02000039000000040300003900000c02040000410000000005000019000000020600002900000000070600192e152e0b0000040f0000000101200190000025ff0000613d000000000001042d000000000100001900002e1700010430000000400100043d000000000701001900000bf60110009c0000260b0000413d00000b8d0100004100000000001004350000004101000039000000040010043f00000b8e0100004100002e170001043000000000020700190000006001200039000000400010043f0000002a01000039000000000112043600000000020000310000000202200367000000000300001900000005043002100000000005410019000000000442034f000000000404043b00000000004504350000000103300039000000020430008c000026130000413d0000000002070433000000000220004c000026250000613d000000000201043300000bf70220019700000bf8022001c700000000002104350000000002070433000000020220008c0000262b0000813d00000b8d0100004100000000001004350000003201000039000000040010043f00000b8e0100004100002e17000104300000002102700039000000000302043300000bf70330019700000bf9033001c700000000003204350000002902000039000000020500002900000000030500190000000004070433000000000424004b000026250000a13d0000000f0430018f0000000304400210000000f80440015f00000bfa05000041000000000445022f0000000005120019000000000605043300000bf706600197000000f804400210000000000446019f00000000004504350000000405300270000000010220008a000000010420008c000026320000213d000000100130008c00000000010000190000000101004039000300000007001d2e152df70000040f00000001010000292e1524d00000040f000000400400043d000400000004001d000000200240003900000bfb030000410000000000320435000200000001001d000000370240003900000003010000292e15098c0000040f00000bfc020000410000000000210435000000110210003900000002010000292e15098c0000040f00000004030000290000000002310049000000200120008a000000000013043500000000010300192e150a120000040f00000bd601000041000000400200043d000300000002001d0000000000120435000000040120003900000004020000292e15099d0000040f0000000304000029000000000141004900000b870200004100000b870310009c000000000102801900000b870340009c000000000204401900000040022002100000006001100210000000000121019f00002e170001043000010000000000020000000403000039000000000203041a000100000001001d000000000212004b000026890000a13d000000000030043500000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bdd011001c700008010020000392e152e100000040f0000000102200190000026890000613d000000000101043b00000001020000290000000001210019000000000101041a00000b8b01100197000000000001042d000000000100001900002e170001043000010000000000020000000303000039000000000203041a000100000001001d000000000212004b000026a20000a13d000000000030043500000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bdd011001c700008010020000392e152e100000040f0000000102200190000026a20000613d000000000101043b00000001020000290000000001210019000000000101041a00000b8b01100197000000000001042d000000000100001900002e170001043000000b8b022001970000000000200435000000200010043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000026b30000613d000000000101043b000000000001042d000000000100001900002e17000104300000000000100435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000026c30000613d000000000101043b000000000001042d000000000100001900002e17000104300002000000000002000200000001001d00000bc5010000410000000000100435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000027c90000613d000000000101043b000000000200041100000b8b022001970000000000200435000000200010043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000027c90000613d000000000101043b000000000101041a000000ff01100190000027d10000613d00000bd0010000410000000000100439000000020100002900000b8b01100197000200000001001d000000040010044300000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bd1011001c700008002020000392e152e100000040f00000002060000290000000102200190000027c90000613d000000000101043b000000000110004c000027c90000613d000000400900043d00000bd2010000410000000000190435000000000100041000000b8b0210019700000004039000390000000001000414000000000023043500000024029000390000000000620435000000040260008c000027090000c13d00000001030000310000273c0000013d00000b870200004100000b870310009c000000000102801900000b870390009c00000000020940190000004002200210000000c001100210000000000121019f00000bd3011001c70000000002060019000100000009001d2e152e100000040f00000001090000290000000003010019000000600330027000000b8703300197000000200430008c000000200500003900000000050340190000001f0450018f0000000505500272000027280000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b000027200000413d000000000640004c000027370000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f000300000001035500000001022001900000000206000029000028200000613d0000001f01300039000000200700008a000000000271016f0000000001920019000000000221004b0000000002000019000000010200403900000b890310009c000027cb0000213d0000000102200190000027cb0000c13d000000400010043f00000b88020000410000000103000031000000200430008c0000000004000019000000000402401900000b8803300197000000000530004c000000000200a01900000b880330009c000000000204c019000000000220004c000027c90000c13d0000000002090433000000000220004c000027e60000c13d0000004402100039000000010300008a0000000000320435000000200210003900000bd8030000410000000000320435000000240310003900000000006304350000004403000039000000000031043500000bd90310009c000027cb0000213d0000008003100039000000400030043f0000000003000414000000040460008c0000276b0000c13d00000001030000310000000002000019000027820000013d00000b870400004100000b870520009c00000000020480190000004002200210000000000101043300000b870510009c00000000010480190000006001100210000000000121019f00000b870230009c00000000020400190000000002034019000000c002200210000000000121019f0000000002060019000200000007001d2e152e0b0000040f0000000207000029000000010220015f0003000000010355000000600110027000010b870010019d00000b87031001970000006001000039000000000430004c000027af0000613d0000003f01300039000000000471016f000000400100043d0000000004410019000000000514004b0000000005000019000000010500403900000b890640009c000027cb0000213d0000000105500190000027cb0000c13d000000400040043f0000000003310436000000030400036700000001060000310000001f0560018f0000000506600272000027a00000613d000000000700001900000005087002100000000009830019000000000884034f000000000808043b00000000008904350000000107700039000000000867004b000027980000413d000000000750004c000027af0000613d0000000506600210000000000464034f00000000036300190000000305500210000000000603043300000000065601cf000000000656022f000000000404043b0000010005500089000000000454022f00000000045401cf000000000464019f00000000004304350000000102200190000027fa0000c13d0000000012010434000000000320004c000027c80000613d00000b8803000041000000200420008c0000000004000019000000000403401900000b8802200197000000000520004c000000000300a01900000b880220009c00000000020400190000000002036019000000000220004c000027c90000c13d0000000001010433000000000210004c0000000002000019000000010200c039000000000221004b000027c90000c13d000000000110004c0000280b0000613d000000000001042d000000000100001900002e170001043000000b8d0100004100000000001004350000004101000039000000040010043f00000b8e0100004100002e1700010430000000400100043d000000640210003900000be1030000410000000000320435000000440210003900000be203000041000000000032043500000024021000390000002803000039000000000032043500000bd602000041000000000021043500000004021000390000002003000039000000000032043500000b870200004100000b870310009c0000000001028019000000400110021000000bd7011001c700002e1700010430000000640210003900000bd4030000410000000000320435000000440210003900000bd503000041000000000032043500000024021000390000003603000039000000000032043500000bd602000041000000000021043500000004021000390000002003000039000000000032043500000b870200004100000b870310009c0000000001028019000000400110021000000bd7011001c700002e1700010430000000400100043d000000440210003900000be303000041000000000032043500000bd60200004100000000002104350000002402100039000000200300003900000000003204350000000402100039000000000032043500000b870200004100000b870310009c0000000001028019000000400110021000000be4011001c700002e1700010430000000400100043d000000640210003900000bda030000410000000000320435000000440210003900000bdb03000041000000000032043500000024021000390000002a03000039000000000032043500000bd602000041000000000021043500000004021000390000002003000039000000000032043500000b870200004100000b870310009c0000000001028019000000400110021000000bd7011001c700002e17000104300000001f0430018f00000005023002720000282b0000613d00000000030000190000000505300210000000000651034f000000000606043b00000000006504350000000103300039000000000523004b000028240000413d000000000340004c000028390000613d00000003034002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f000000000012043500000b8701000041000000010200003100000b870320009c0000000001024019000000600110021000002e17000104300004000000000002000400000001001d00000bc5010000410000000000100435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000028c70000613d000000000101043b000000000200041100000b8b022001970000000000200435000000200010043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000028c70000613d000000400200043d000000000101043b000000000101041a000000ff01100190000028c90000613d000000200100003900000000011204360000000405000029000000000305043300000000003104350000004001200039000000000430004c000028720000613d00000000040000190000002005500039000000000605043300000b8b0660019700000000016104360000000104400039000000000634004b0000286b0000413d000000000121004900000b870300004100000b870420009c0000000002038019000000400220021000000b870410009c00000000010380190000006001100210000000000121019f000000000200041400000b870420009c0000000002038019000000c002200210000000000121019f00000bce011001c70000800d02000039000000010300003900000bdc040000412e152e0b0000040f0000000101200190000028c70000613d0000000401000029000000000201043300000c110120009c000028dd0000813d0000000304000039000000000304041a000000000024041b000300000002001d000000000132004b000028aa0000813d000100000003001d000200000004001d000000000040043500000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bdd011001c700008010020000392e152e100000040f0000000102200190000028c70000613d000000000201043b0000000301000029000000000112001900000001030000290000000002320019000000000321004b0000000204000029000028aa0000813d000000000001041b0000000101100039000000000321004b000028a60000413d000000000040043500000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bdd011001c700008010020000392e152e100000040f0000000102200190000028c70000613d0000000306000029000000000260004c0000000405000029000028c60000613d000000000101043b0000000002000019000000000301041a00000bde033001970000002005500039000000000405043300000b8b04400197000000000343019f000000000031041b00000001011000390000000102200039000000000362004b000028bb0000413d000000000001042d000000000100001900002e1700010430000000640120003900000be1030000410000000000310435000000440120003900000be203000041000000000031043500000024012000390000002803000039000000000031043500000bd601000041000000000012043500000004012000390000002003000039000000000031043500000b870100004100000b870320009c0000000001024019000000400110021000000bd7011001c700002e170001043000000b8d0100004100000000001004350000004101000039000000040010043f00000b8e0100004100002e17000104300004000000000002000400000001001d00000bc5010000410000000000100435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f00000001022001900000296b0000613d000000000101043b000000000200041100000b8b022001970000000000200435000000200010043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f00000001022001900000296b0000613d000000400200043d000000000101043b000000000101041a000000ff011001900000296d0000613d000000200100003900000000011204360000000405000029000000000305043300000000003104350000004001200039000000000430004c000029160000613d00000000040000190000002005500039000000000605043300000b8b0660019700000000016104360000000104400039000000000634004b0000290f0000413d000000000121004900000b870300004100000b870420009c0000000002038019000000400220021000000b870410009c00000000010380190000006001100210000000000121019f000000000200041400000b870420009c0000000002038019000000c002200210000000000121019f00000bce011001c70000800d02000039000000010300003900000be0040000412e152e0b0000040f00000001012001900000296b0000613d0000000401000029000000000201043300000c110120009c000029810000813d0000000404000039000000000304041a000000000024041b000300000002001d000000000132004b0000294e0000813d000100000003001d000200000004001d000000000040043500000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bdd011001c700008010020000392e152e100000040f00000001022001900000296b0000613d000000000201043b0000000301000029000000000112001900000001030000290000000002320019000000000321004b00000002040000290000294e0000813d000000000001041b0000000101100039000000000321004b0000294a0000413d000000000040043500000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bdd011001c700008010020000392e152e100000040f00000001022001900000296b0000613d0000000306000029000000000260004c00000004050000290000296a0000613d000000000101043b0000000002000019000000000301041a00000bde033001970000002005500039000000000405043300000b8b04400197000000000343019f000000000031041b00000001011000390000000102200039000000000362004b0000295f0000413d000000000001042d000000000100001900002e1700010430000000640120003900000be1030000410000000000310435000000440120003900000be203000041000000000031043500000024012000390000002803000039000000000031043500000bd601000041000000000012043500000004012000390000002003000039000000000031043500000b870100004100000b870320009c0000000001024019000000400110021000000bd7011001c700002e170001043000000b8d0100004100000000001004350000004101000039000000040010043f00000b8e0100004100002e17000104300002000000000002000200000001001d00000bc5010000410000000000100435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000029c40000613d000000000101043b000000000200041100000b8b022001970000000000200435000000200010043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f0000000102200190000029c40000613d000000000101043b000000000101041a000000ff01100190000029c60000613d0000000103000039000000000103041a000000400200043d000000200520003900000002040000290000000000450435000000000012043500000b8701000041000000000500041400000b870450009c000000000501801900000b870420009c00000000010240190000004001100210000000c002500210000000000112019f00000bcd011001c70000800d0200003900000c1204000041000100000003001d2e152e0b0000040f0000000101200190000029c40000613d00000002010000290000000102000029000000000012041b000000000001042d000000000100001900002e1700010430000000400100043d000000640210003900000be1030000410000000000320435000000440210003900000be203000041000000000032043500000024021000390000002803000039000000000032043500000bd602000041000000000021043500000004021000390000002003000039000000000032043500000b870200004100000b870310009c0000000001028019000000400110021000000bd7011001c700002e17000104300003000000000002000300000001001d00000bc5010000410000000000100435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f000000010220019000002a200000613d000000000101043b000000000200041100000b8b022001970000000000200435000000200010043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f000000010220019000002a200000613d000000000101043b000000000101041a000000ff0110019000002a220000613d0000000201000039000200000001001d000000000301041a000000030100002900000b8b04100197000000400100043d0000002002100039000100000004001d0000000000420435000300000003001d00000b8b02300197000000000021043500000b8702000041000000000300041400000b870430009c000000000302801900000b870410009c00000000010280190000004001100210000000c002300210000000000112019f00000bcd011001c70000800d02000039000000010300003900000bdf040000412e152e0b0000040f000000010120019000002a200000613d000000030100002900000bde011001970000000102000029000000000121019f0000000202000029000000000012041b000000000001042d000000000100001900002e1700010430000000400100043d000000640210003900000be1030000410000000000320435000000440210003900000be203000041000000000032043500000024021000390000002803000039000000000032043500000bd602000041000000000021043500000004021000390000002003000039000000000032043500000b870200004100000b870310009c0000000001028019000000400110021000000bd7011001c700002e17000104300003000000000002000300000002001d000200000001001d00000bc5010000410000000000100435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f000000010220019000002ae50000613d000000000101043b000000000200041100000b8b02200197000100000002001d0000000000200435000000200010043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f000000010220019000002ae50000613d000000000101043b000000000101041a000000ff0110019000002aed0000613d0000000303000029000000000130004c00002b020000613d000000400100043d00000044021000390000000000320435000000200310003900000bef02000041000000000023043500000024021000390000000104000029000000000042043500000044020000390000000000210435000000020200002900000b8b0220019700000be70410009c00002ae70000813d0000008004100039000000400040043f0000000004000414000000040520008c00002a750000c13d0000000103000031000000000200001900002a890000013d00000b870500004100000b870630009c00000000030580190000004003300210000000000101043300000b870610009c00000000010580190000006001100210000000000131019f00000b870340009c00000000030500190000000003044019000000c003300210000000000131019f2e152e0b0000040f000000010220015f0003000000010355000000600110027000010b870010019d00000b87031001970000006001000039000000000430004c00002ab70000613d0000003f01300039000000200400008a000000000441016f000000400100043d0000000004410019000000000514004b0000000005000019000000010500403900000b890640009c00002ae70000213d000000010550019000002ae70000c13d000000400040043f0000000003310436000000030400036700000001060000310000001f0560018f000000050660027200002aa80000613d000000000700001900000005087002100000000009830019000000000884034f000000000808043b00000000008904350000000107700039000000000867004b00002aa00000413d000000000750004c00002ab70000613d0000000506600210000000000464034f00000000036300190000000305500210000000000603043300000000065601cf000000000656022f000000000404043b0000010005500089000000000454022f00000000045401cf000000000464019f0000000000430435000000010220019000002b140000c13d0000000012010434000000000320004c00002ad00000613d00000b8803000041000000200420008c0000000004000019000000000403401900000b8802200197000000000520004c000000000300a01900000b880220009c00000000020400190000000002036019000000000220004c00002ae50000c13d0000000001010433000000000210004c0000000002000019000000010200c039000000000221004b00002ae50000c13d000000000110004c00002b250000613d000000400100043d0000000302000029000000000021043500000b8702000041000000000300041400000b870430009c000000000302801900000b870410009c00000000010280190000004001100210000000c002300210000000000112019f00000bdd011001c70000800d02000039000000020300003900000c130400004100000002050000292e152e0b0000040f000000010120019000002ae50000613d000000000001042d000000000100001900002e170001043000000b8d0100004100000000001004350000004101000039000000040010043f00000b8e0100004100002e1700010430000000400100043d000000640210003900000be1030000410000000000320435000000440210003900000be203000041000000000032043500000024021000390000002803000039000000000032043500000bd602000041000000000021043500000004021000390000002003000039000000000032043500000b870200004100000b870310009c0000000001028019000000400110021000000bd7011001c700002e1700010430000000400100043d000000440210003900000c1403000041000000000032043500000024021000390000001203000039000000000032043500000bd602000041000000000021043500000004021000390000002003000039000000000032043500000b870200004100000b870310009c0000000001028019000000400110021000000be4011001c700002e1700010430000000400100043d000000440210003900000be303000041000000000032043500000bd60200004100000000002104350000002402100039000000200300003900000000003204350000000402100039000000000032043500000b870200004100000b870310009c0000000001028019000000400110021000000be4011001c700002e1700010430000000400100043d000000640210003900000bda030000410000000000320435000000440210003900000bdb03000041000000000032043500000024021000390000002a03000039000000000032043500000bd602000041000000000021043500000004021000390000002003000039000000000032043500000b870200004100000b870310009c0000000001028019000000400110021000000bd7011001c700002e17000104300002000000000002000200000001001d00000bc5010000410000000000100435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f000000010220019000002bbe0000613d000000000101043b0000000002000411000100000002001d00000b8b022001970000000000200435000000200010043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f000000010220019000002bbe0000613d000000000101043b000000000101041a000000ff0110019000002bc00000613d0000000209000029000000000190004c000000010400002900002bd50000613d0000000001000414000000040240008c00002b670000c13d0000000102000039000000010100003100002b7b0000013d00000b8702000041000000400300043d00000b870530009c000000000302801900000b870510009c0000000001028019000000c0011002100000004002300210000000000112019f00000bce011001c70000800902000039000000000309001900000000050000192e152e0b0000040f0000000209000029000000010220018f0003000000010355000000600110027000010b870010019d00000b8701100197000000000310004c00002ba80000613d0000003f03100039000000200400008a000000000443016f000000400300043d0000000004430019000000000534004b0000000005000019000000010500403900000b890640009c00002bf80000213d000000010550019000002bf80000c13d000000400040043f0000000001130436000000030300036700000001050000310000001f0450018f000000050550027200002b990000613d000000000600001900000005076002100000000008710019000000000773034f000000000707043b00000000007804350000000106600039000000000756004b00002b910000413d000000000640004c00002ba80000613d0000000505500210000000000353034f00000000015100190000000304400210000000000501043300000000054501cf000000000545022f000000000303043b0000010004400089000000000343022f00000000034301cf000000000353019f0000000000310435000000400100043d000000000220004c00002be70000613d000000000091043500000b8702000041000000000300041400000b870430009c000000000302801900000b870410009c00000000010280190000004001100210000000c002300210000000000112019f00000bdd011001c70000800d02000039000000020300003900000c130400004100000000050000192e152e0b0000040f000000010120019000002bbe0000613d000000000001042d000000000100001900002e1700010430000000400100043d000000640210003900000be1030000410000000000320435000000440210003900000be203000041000000000032043500000024021000390000002803000039000000000032043500000bd602000041000000000021043500000004021000390000002003000039000000000032043500000b870200004100000b870310009c0000000001028019000000400110021000000bd7011001c700002e1700010430000000400100043d000000440210003900000c1403000041000000000032043500000024021000390000001203000039000000000032043500000bd602000041000000000021043500000004021000390000002003000039000000000032043500000b870200004100000b870310009c0000000001028019000000400110021000000be4011001c700002e1700010430000000440210003900000c0f03000041000000000032043500000024021000390000001003000039000000000032043500000bd602000041000000000021043500000004021000390000002003000039000000000032043500000b870200004100000b870310009c0000000001028019000000400110021000000be4011001c700002e170001043000000b8d0100004100000000001004350000004101000039000000040010043f00000b8e0100004100002e17000104300004000000000002000300000002001d000400000001001d0000000000100435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f000000010220019000002c880000613d000000000101043b0000000101100039000000000101041a000100000001001d0000000000100435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f000000010220019000002c880000613d000000000101043b0000000002000411000200000002001d00000b8b022001970000000000200435000000200010043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f000000010220019000002c880000613d000000000101043b000000000101041a000000ff0110019000002c8a0000613d00000004010000290000000000100435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f000000010220019000002c880000613d000000000101043b000000030200002900000b8b02200197000100000002001d0000000000200435000000200010043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f000000010220019000002c880000613d000000000101043b000000000101041a000000ff0110019000002c870000c13d00000004010000290000000000100435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f000000010220019000002c880000613d000000000101043b00000001020000290000000000200435000000200010043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f000000010220019000002c880000613d000000000101043b000000000201041a000001000300008a000000000232016f00000001022001bf000000000021041b000000400100043d00000b8702000041000000000300041400000b870430009c000000000302801900000b870410009c00000000010280190000004001100210000000c002300210000000000112019f00000bce011001c70000800d02000039000000040300003900000bcf040000410000000405000029000000030600002900000002070000292e152e0b0000040f000000010120019000002c880000613d000000000001042d000000000100001900002e1700010430000000400100043d000000000701001900000bf60110009c00002c940000413d00000b8d0100004100000000001004350000004101000039000000040010043f00000b8e0100004100002e170001043000000000020700190000006001200039000000400010043f0000002a01000039000000000112043600000000020000310000000202200367000000000300001900000005043002100000000005410019000000000442034f000000000404043b00000000004504350000000103300039000000020430008c00002c9c0000413d0000000002070433000000000220004c00002cae0000613d000000000201043300000bf70220019700000bf8022001c700000000002104350000000002070433000000020220008c00002cb40000813d00000b8d0100004100000000001004350000003201000039000000040010043f00000b8e0100004100002e17000104300000002102700039000000000302043300000bf70330019700000bf9033001c700000000003204350000002902000039000000020500002900000000030500190000000004070433000000000424004b00002cae0000a13d0000000f0430018f0000000304400210000000f80440015f00000bfa05000041000000000445022f0000000005120019000000000605043300000bf706600197000000f804400210000000000446019f00000000004504350000000405300270000000010220008a000000010420008c00002cbb0000213d000000100130008c00000000010000190000000101004039000300000007001d2e152df70000040f00000001010000292e1524d00000040f000000400400043d000400000004001d000000200240003900000bfb030000410000000000320435000200000001001d000000370240003900000003010000292e15098c0000040f00000bfc020000410000000000210435000000110210003900000002010000292e15098c0000040f00000004030000290000000002310049000000200120008a000000000013043500000000010300192e150a120000040f00000bd601000041000000400200043d000300000002001d0000000000120435000000040120003900000004020000292e15099d0000040f0000000304000029000000000141004900000b870200004100000b870310009c000000000102801900000b870340009c000000000204401900000040022002100000006001100210000000000121019f00002e17000104300004000000000002000300000002001d000400000001001d0000000000100435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f000000010220019000002d840000613d000000000101043b0000000101100039000000000101041a000100000001001d0000000000100435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f000000010220019000002d840000613d000000000101043b0000000002000411000200000002001d00000b8b022001970000000000200435000000200010043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f000000010220019000002d840000613d000000000101043b000000000101041a000000ff0110019000002d860000613d00000004010000290000000000100435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f000000010220019000002d840000613d000000000101043b000000030200002900000b8b02200197000100000002001d0000000000200435000000200010043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f000000010220019000002d840000613d000000000101043b000000000101041a000000ff0110019000002d830000613d00000004010000290000000000100435000000200000043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f000000010220019000002d840000613d000000000101043b00000001020000290000000000200435000000200010043f00000b8701000041000000000200041400000b870320009c0000000001024019000000c00110021000000bcd011001c700008010020000392e152e100000040f000000010220019000002d840000613d000000000101043b000000000201041a000001000300008a000000000232016f000000000021041b000000400100043d00000b8702000041000000000300041400000b870430009c000000000302801900000b870410009c00000000010280190000004001100210000000c002300210000000000112019f00000bce011001c70000800d02000039000000040300003900000c02040000410000000405000029000000030600002900000002070000292e152e0b0000040f000000010120019000002d840000613d000000000001042d000000000100001900002e1700010430000000400100043d000000000701001900000bf60110009c00002d900000413d00000b8d0100004100000000001004350000004101000039000000040010043f00000b8e0100004100002e170001043000000000020700190000006001200039000000400010043f0000002a01000039000000000112043600000000020000310000000202200367000000000300001900000005043002100000000005410019000000000442034f000000000404043b00000000004504350000000103300039000000020430008c00002d980000413d0000000002070433000000000220004c00002daa0000613d000000000201043300000bf70220019700000bf8022001c700000000002104350000000002070433000000020220008c00002db00000813d00000b8d0100004100000000001004350000003201000039000000040010043f00000b8e0100004100002e17000104300000002102700039000000000302043300000bf70330019700000bf9033001c700000000003204350000002902000039000000020500002900000000030500190000000004070433000000000424004b00002daa0000a13d0000000f0430018f0000000304400210000000f80440015f00000bfa05000041000000000445022f0000000005120019000000000605043300000bf706600197000000f804400210000000000446019f00000000004504350000000405300270000000010220008a000000010420008c00002db70000213d000000100130008c00000000010000190000000101004039000300000007001d2e152df70000040f00000001010000292e1524d00000040f000000400400043d000400000004001d000000200240003900000bfb030000410000000000320435000200000001001d000000370240003900000003010000292e15098c0000040f00000bfc020000410000000000210435000000110210003900000002010000292e15098c0000040f00000004030000290000000002310049000000200120008a000000000013043500000000010300192e150a120000040f00000bd601000041000000400200043d000300000002001d0000000000120435000000040120003900000004020000292e15099d0000040f0000000304000029000000000141004900000b870200004100000b870310009c000000000102801900000b870340009c000000000204401900000040022002100000006001100210000000000121019f00002e1700010430000000000110004c00002dfa0000613d000000000001042d000000400100043d000000440210003900000c1003000041000000000032043500000bd60200004100000000002104350000002402100039000000200300003900000000003204350000000402100039000000000032043500000b870200004100000b870310009c0000000001028019000000400110021000000be4011001c700002e170001043000002e0e002104210000000102000039000000000001042d0000000002000019000000000001042d00002e13002104230000000102000039000000000001042d0000000002000019000000000001042d00002e150000043200002e160001042e00002e1700010430000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffff0000000000000000000000000000000000000000000000010000000000000000000000000000000000000000ffffffffffffffffffffffffffffffffffffffff00000002000000000000000000000000000000800000010000000000000000004e487b71000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024000000000000000000000000000000000000000000000000000000000000000000000000000000008bb9c5be00000000000000000000000000000000000000000000000000000000c8a3a5c500000000000000000000000000000000000000000000000000000000dede7f1400000000000000000000000000000000000000000000000000000000f2fde38a00000000000000000000000000000000000000000000000000000000f2fde38b00000000000000000000000000000000000000000000000000000000f874225400000000000000000000000000000000000000000000000000000000fe38c5e600000000000000000000000000000000000000000000000000000000dede7f1500000000000000000000000000000000000000000000000000000000f035038200000000000000000000000000000000000000000000000000000000d73792a800000000000000000000000000000000000000000000000000000000d73792a900000000000000000000000000000000000000000000000000000000d8baf7cf00000000000000000000000000000000000000000000000000000000dd8544b300000000000000000000000000000000000000000000000000000000c8a3a5c600000000000000000000000000000000000000000000000000000000d547741f00000000000000000000000000000000000000000000000000000000a217fdde00000000000000000000000000000000000000000000000000000000aede369200000000000000000000000000000000000000000000000000000000aede369300000000000000000000000000000000000000000000000000000000b381cf4000000000000000000000000000000000000000000000000000000000c3accd4800000000000000000000000000000000000000000000000000000000a217fddf00000000000000000000000000000000000000000000000000000000a3f4df7e0000000000000000000000000000000000000000000000000000000092f5d8890000000000000000000000000000000000000000000000000000000092f5d88a00000000000000000000000000000000000000000000000000000000952e901200000000000000000000000000000000000000000000000000000000a0cf0aea000000000000000000000000000000000000000000000000000000008bb9c5bf0000000000000000000000000000000000000000000000000000000091d14854000000000000000000000000000000000000000000000000000000004c09cf4d0000000000000000000000000000000000000000000000000000000076c7a3c6000000000000000000000000000000000000000000000000000000007c7a561a000000000000000000000000000000000000000000000000000000007c7a561b00000000000000000000000000000000000000000000000000000000809356aa000000000000000000000000000000000000000000000000000000008980f11f0000000000000000000000000000000000000000000000000000000076c7a3c70000000000000000000000000000000000000000000000000000000076ebe69c000000000000000000000000000000000000000000000000000000006b453c1e000000000000000000000000000000000000000000000000000000006b453c1f000000000000000000000000000000000000000000000000000000006bf2df860000000000000000000000000000000000000000000000000000000075d19947000000000000000000000000000000000000000000000000000000004c09cf4e0000000000000000000000000000000000000000000000000000000052a52ab000000000000000000000000000000000000000000000000000000000248a9ca20000000000000000000000000000000000000000000000000000000031ac991f0000000000000000000000000000000000000000000000000000000031ac99200000000000000000000000000000000000000000000000000000000036568abe000000000000000000000000000000000000000000000000000000003a9a408100000000000000000000000000000000000000000000000000000000248a9ca3000000000000000000000000000000000000000000000000000000002f2ff15d00000000000000000000000000000000000000000000000000000000061b15e600000000000000000000000000000000000000000000000000000000061b15e7000000000000000000000000000000000000000000000000000000001e189dc20000000000000000000000000000000000000000000000000000000000b99e360000000000000000000000000000000000000000000000000000000001ffc9a7339759585899103d2ace64958e37e18ccb0504652c81d4a1b8aa80fe2126ab950000000000000000000000000000000000000020000000000000000000000000310ab089e4439a4c15d089f94afb7896ff553aecb10793d0ab882de59d99a32effffffff0000000000000000000000000000000000000000000000000000000001ffc9a7000000000000000000000000000000000000000000000000000000007965db0b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000008000000000000000000200000200000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000004000000000000000000000000002000000000000000000000000000000000000000000000000000000000000002f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d1806aa1896bbf26568e884a7374b41e002500962caba6a15023a8d90e8508b830200000200000000000000000000000000000024000000000000000000000000dd62ed3e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004400000000000000000000000020746f206e6f6e2d7a65726f20616c6c6f77616e6365000000000000000000005361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f08c379a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084000000000000000000000000095ea7b300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffff7f6f742073756363656564000000000000000000000000000000000000000000005361666545524332303a204552433230206f7065726174696f6e20646964206e658ff1688002926d8f426cb10c052ec29003f50042df9652d8613484c1a586470200000000000000000000000000000000000020000000000000000000000000ffffffffffffffffffffffff0000000000000000000000000000000000000000b2c853ac4d80d18d058c43d8018d077a036e542a79acae1647f5ad2a8c76f4e2ebf7325f48e05e5e38809c69f8b02a7c907ed31d8768e6c2d841b1296a9225fe696e7461696e65720000000000000000000000000000000000000000000000004d61696e7461696e61626c653a2043616c6c6572206973206e6f742061206d615361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65640000000000000000000000000000000000000064000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffc059616b526f757465720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffff80ef99893a0000000000000000000000000000000000000000000000000000000069cff80d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffbf000000000000000000000000000000000000000000000000000000003b9aca0023b872dd00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffff5fa9059cbb0000000000000000000000000000000000000000000000000000000059616b526f757465723a20496e73756666696369656e742066656500000000009fc8352e52998db4087d5e6e1c1aafa38788e749e5d7a24f5cb230f737954402eab90da60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a40000000000000000000000006d6f756e7400000000000000000000000000000000000000000000000000000059616b526f757465723a20496e73756666696369656e74206f75747075742061000000000000000000000000000000000000000000000000ffffffffffffffa000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff300000000000000000000000000000000000000000000000000000000000000078000000000000000000000000000000000000000000000000000000000000003031323334353637383961626364656600000000000000000000000000000000416363657373436f6e74726f6c3a206163636f756e7420000000000000000000206973206d697373696e6720726f6c652000000000000000000000000000000002000002000000000000000000000000000000440000000000000000000000000000000000000000000000000000000000000000000000000de0b6b3a7640000000000000000000000000000000000000000000000000000ffffffffffffffdf00000000000000000000000000000000000000000000001fffffffffffffffff59616b526f757465723a20496e76616c6964206d61782d737465707300000000f6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b000000000000000000000001000000000000000000000000000000000000000020726f6c657320666f722073656c660000000000000000000000000000000000416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e6365697468205741564158000000000000000000000000000000000000000000000059616b526f757465723a2050617468206e6565647320746f20626567696e2077d0e30db0000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000004000000000000000000000000d505accf0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e4000000000000000000000000682057415641580000000000000000000000000000000000000000000000000059616b526f757465723a2050617468206e6565647320746f20656e64207769742e1a7d4d000000000000000000000000000000000000000000000000000000005472616e73666572206661696c65642e00000000000000000000000000000000537472696e67733a20686578206c656e67746820696e73756666696369656e7400000000000000000000000000000000000000000000000100000000000000014bb8a6184424e4bb853a4836042f5a726e4e710873989bfc6abdab19966f5b708c1256b8896378cd5044f80c202f9772b9d77dc85c8a6eb51967210b09bfaa284e6f7468696e6720746f207265636f766572000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006032945700430635b1cc1c942b18ad6d5f535c57e1fcb579db736e83bc33103e" + ] +} \ No newline at end of file diff --git a/src/deployments/zksync/solcInputs/32ca8813f3b23e7384002a882087b2e8.json b/src/deployments/zksync/solcInputs/32ca8813f3b23e7384002a882087b2e8.json new file mode 100644 index 00000000..8c3e43b1 --- /dev/null +++ b/src/deployments/zksync/solcInputs/32ca8813f3b23e7384002a882087b2e8.json @@ -0,0 +1,62 @@ +{ + "language": "Solidity", + "sources": { + "@openzeppelin/contracts/access/AccessControl.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.7.0) (access/AccessControl.sol)\n\npragma solidity ^0.8.0;\n\nimport \"./IAccessControl.sol\";\nimport \"../utils/Context.sol\";\nimport \"../utils/Strings.sol\";\nimport \"../utils/introspection/ERC165.sol\";\n\n/**\n * @dev Contract module that allows children to implement role-based access\n * control mechanisms. This is a lightweight version that doesn't allow enumerating role\n * members except through off-chain means by accessing the contract event logs. Some\n * applications may benefit from on-chain enumerability, for those cases see\n * {AccessControlEnumerable}.\n *\n * Roles are referred to by their `bytes32` identifier. These should be exposed\n * in the external API and be unique. The best way to achieve this is by\n * using `public constant` hash digests:\n *\n * ```\n * bytes32 public constant MY_ROLE = keccak256(\"MY_ROLE\");\n * ```\n *\n * Roles can be used to represent a set of permissions. To restrict access to a\n * function call, use {hasRole}:\n *\n * ```\n * function foo() public {\n * require(hasRole(MY_ROLE, msg.sender));\n * ...\n * }\n * ```\n *\n * Roles can be granted and revoked dynamically via the {grantRole} and\n * {revokeRole} functions. Each role has an associated admin role, and only\n * accounts that have a role's admin role can call {grantRole} and {revokeRole}.\n *\n * By default, the admin role for all roles is `DEFAULT_ADMIN_ROLE`, which means\n * that only accounts with this role will be able to grant or revoke other\n * roles. More complex role relationships can be created by using\n * {_setRoleAdmin}.\n *\n * WARNING: The `DEFAULT_ADMIN_ROLE` is also its own admin: it has permission to\n * grant and revoke this role. Extra precautions should be taken to secure\n * accounts that have been granted it.\n */\nabstract contract AccessControl is Context, IAccessControl, ERC165 {\n struct RoleData {\n mapping(address => bool) members;\n bytes32 adminRole;\n }\n\n mapping(bytes32 => RoleData) private _roles;\n\n bytes32 public constant DEFAULT_ADMIN_ROLE = 0x00;\n\n /**\n * @dev Modifier that checks that an account has a specific role. Reverts\n * with a standardized message including the required role.\n *\n * The format of the revert reason is given by the following regular expression:\n *\n * /^AccessControl: account (0x[0-9a-f]{40}) is missing role (0x[0-9a-f]{64})$/\n *\n * _Available since v4.1._\n */\n modifier onlyRole(bytes32 role) {\n _checkRole(role);\n _;\n }\n\n /**\n * @dev See {IERC165-supportsInterface}.\n */\n function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {\n return interfaceId == type(IAccessControl).interfaceId || super.supportsInterface(interfaceId);\n }\n\n /**\n * @dev Returns `true` if `account` has been granted `role`.\n */\n function hasRole(bytes32 role, address account) public view virtual override returns (bool) {\n return _roles[role].members[account];\n }\n\n /**\n * @dev Revert with a standard message if `_msgSender()` is missing `role`.\n * Overriding this function changes the behavior of the {onlyRole} modifier.\n *\n * Format of the revert message is described in {_checkRole}.\n *\n * _Available since v4.6._\n */\n function _checkRole(bytes32 role) internal view virtual {\n _checkRole(role, _msgSender());\n }\n\n /**\n * @dev Revert with a standard message if `account` is missing `role`.\n *\n * The format of the revert reason is given by the following regular expression:\n *\n * /^AccessControl: account (0x[0-9a-f]{40}) is missing role (0x[0-9a-f]{64})$/\n */\n function _checkRole(bytes32 role, address account) internal view virtual {\n if (!hasRole(role, account)) {\n revert(\n string(\n abi.encodePacked(\n \"AccessControl: account \",\n Strings.toHexString(uint160(account), 20),\n \" is missing role \",\n Strings.toHexString(uint256(role), 32)\n )\n )\n );\n }\n }\n\n /**\n * @dev Returns the admin role that controls `role`. See {grantRole} and\n * {revokeRole}.\n *\n * To change a role's admin, use {_setRoleAdmin}.\n */\n function getRoleAdmin(bytes32 role) public view virtual override returns (bytes32) {\n return _roles[role].adminRole;\n }\n\n /**\n * @dev Grants `role` to `account`.\n *\n * If `account` had not been already granted `role`, emits a {RoleGranted}\n * event.\n *\n * Requirements:\n *\n * - the caller must have ``role``'s admin role.\n *\n * May emit a {RoleGranted} event.\n */\n function grantRole(bytes32 role, address account) public virtual override onlyRole(getRoleAdmin(role)) {\n _grantRole(role, account);\n }\n\n /**\n * @dev Revokes `role` from `account`.\n *\n * If `account` had been granted `role`, emits a {RoleRevoked} event.\n *\n * Requirements:\n *\n * - the caller must have ``role``'s admin role.\n *\n * May emit a {RoleRevoked} event.\n */\n function revokeRole(bytes32 role, address account) public virtual override onlyRole(getRoleAdmin(role)) {\n _revokeRole(role, account);\n }\n\n /**\n * @dev Revokes `role` from the calling account.\n *\n * Roles are often managed via {grantRole} and {revokeRole}: this function's\n * purpose is to provide a mechanism for accounts to lose their privileges\n * if they are compromised (such as when a trusted device is misplaced).\n *\n * If the calling account had been revoked `role`, emits a {RoleRevoked}\n * event.\n *\n * Requirements:\n *\n * - the caller must be `account`.\n *\n * May emit a {RoleRevoked} event.\n */\n function renounceRole(bytes32 role, address account) public virtual override {\n require(account == _msgSender(), \"AccessControl: can only renounce roles for self\");\n\n _revokeRole(role, account);\n }\n\n /**\n * @dev Grants `role` to `account`.\n *\n * If `account` had not been already granted `role`, emits a {RoleGranted}\n * event. Note that unlike {grantRole}, this function doesn't perform any\n * checks on the calling account.\n *\n * May emit a {RoleGranted} event.\n *\n * [WARNING]\n * ====\n * This function should only be called from the constructor when setting\n * up the initial roles for the system.\n *\n * Using this function in any other way is effectively circumventing the admin\n * system imposed by {AccessControl}.\n * ====\n *\n * NOTE: This function is deprecated in favor of {_grantRole}.\n */\n function _setupRole(bytes32 role, address account) internal virtual {\n _grantRole(role, account);\n }\n\n /**\n * @dev Sets `adminRole` as ``role``'s admin role.\n *\n * Emits a {RoleAdminChanged} event.\n */\n function _setRoleAdmin(bytes32 role, bytes32 adminRole) internal virtual {\n bytes32 previousAdminRole = getRoleAdmin(role);\n _roles[role].adminRole = adminRole;\n emit RoleAdminChanged(role, previousAdminRole, adminRole);\n }\n\n /**\n * @dev Grants `role` to `account`.\n *\n * Internal function without access restriction.\n *\n * May emit a {RoleGranted} event.\n */\n function _grantRole(bytes32 role, address account) internal virtual {\n if (!hasRole(role, account)) {\n _roles[role].members[account] = true;\n emit RoleGranted(role, account, _msgSender());\n }\n }\n\n /**\n * @dev Revokes `role` from `account`.\n *\n * Internal function without access restriction.\n *\n * May emit a {RoleRevoked} event.\n */\n function _revokeRole(bytes32 role, address account) internal virtual {\n if (hasRole(role, account)) {\n _roles[role].members[account] = false;\n emit RoleRevoked(role, account, _msgSender());\n }\n }\n}\n" + }, + "@openzeppelin/contracts/access/IAccessControl.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (access/IAccessControl.sol)\n\npragma solidity ^0.8.0;\n\n/**\n * @dev External interface of AccessControl declared to support ERC165 detection.\n */\ninterface IAccessControl {\n /**\n * @dev Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole`\n *\n * `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite\n * {RoleAdminChanged} not being emitted signaling this.\n *\n * _Available since v3.1._\n */\n event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole);\n\n /**\n * @dev Emitted when `account` is granted `role`.\n *\n * `sender` is the account that originated the contract call, an admin role\n * bearer except when using {AccessControl-_setupRole}.\n */\n event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender);\n\n /**\n * @dev Emitted when `account` is revoked `role`.\n *\n * `sender` is the account that originated the contract call:\n * - if using `revokeRole`, it is the admin role bearer\n * - if using `renounceRole`, it is the role bearer (i.e. `account`)\n */\n event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender);\n\n /**\n * @dev Returns `true` if `account` has been granted `role`.\n */\n function hasRole(bytes32 role, address account) external view returns (bool);\n\n /**\n * @dev Returns the admin role that controls `role`. See {grantRole} and\n * {revokeRole}.\n *\n * To change a role's admin, use {AccessControl-_setRoleAdmin}.\n */\n function getRoleAdmin(bytes32 role) external view returns (bytes32);\n\n /**\n * @dev Grants `role` to `account`.\n *\n * If `account` had not been already granted `role`, emits a {RoleGranted}\n * event.\n *\n * Requirements:\n *\n * - the caller must have ``role``'s admin role.\n */\n function grantRole(bytes32 role, address account) external;\n\n /**\n * @dev Revokes `role` from `account`.\n *\n * If `account` had been granted `role`, emits a {RoleRevoked} event.\n *\n * Requirements:\n *\n * - the caller must have ``role``'s admin role.\n */\n function revokeRole(bytes32 role, address account) external;\n\n /**\n * @dev Revokes `role` from the calling account.\n *\n * Roles are often managed via {grantRole} and {revokeRole}: this function's\n * purpose is to provide a mechanism for accounts to lose their privileges\n * if they are compromised (such as when a trusted device is misplaced).\n *\n * If the calling account had been granted `role`, emits a {RoleRevoked}\n * event.\n *\n * Requirements:\n *\n * - the caller must be `account`.\n */\n function renounceRole(bytes32 role, address account) external;\n}\n" + }, + "@openzeppelin/contracts/utils/Context.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (utils/Context.sol)\n\npragma solidity ^0.8.0;\n\n/**\n * @dev Provides information about the current execution context, including the\n * sender of the transaction and its data. While these are generally available\n * via msg.sender and msg.data, they should not be accessed in such a direct\n * manner, since when dealing with meta-transactions the account sending and\n * paying for execution may not be the actual sender (as far as an application\n * is concerned).\n *\n * This contract is only required for intermediate, library-like contracts.\n */\nabstract contract Context {\n function _msgSender() internal view virtual returns (address) {\n return msg.sender;\n }\n\n function _msgData() internal view virtual returns (bytes calldata) {\n return msg.data;\n }\n}\n" + }, + "@openzeppelin/contracts/utils/introspection/ERC165.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (utils/introspection/ERC165.sol)\n\npragma solidity ^0.8.0;\n\nimport \"./IERC165.sol\";\n\n/**\n * @dev Implementation of the {IERC165} interface.\n *\n * Contracts that want to implement ERC165 should inherit from this contract and override {supportsInterface} to check\n * for the additional interface id that will be supported. For example:\n *\n * ```solidity\n * function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {\n * return interfaceId == type(MyInterface).interfaceId || super.supportsInterface(interfaceId);\n * }\n * ```\n *\n * Alternatively, {ERC165Storage} provides an easier to use but more expensive implementation.\n */\nabstract contract ERC165 is IERC165 {\n /**\n * @dev See {IERC165-supportsInterface}.\n */\n function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {\n return interfaceId == type(IERC165).interfaceId;\n }\n}\n" + }, + "@openzeppelin/contracts/utils/introspection/IERC165.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (utils/introspection/IERC165.sol)\n\npragma solidity ^0.8.0;\n\n/**\n * @dev Interface of the ERC165 standard, as defined in the\n * https://eips.ethereum.org/EIPS/eip-165[EIP].\n *\n * Implementers can declare support of contract interfaces, which can then be\n * queried by others ({ERC165Checker}).\n *\n * For an implementation, see {ERC165}.\n */\ninterface IERC165 {\n /**\n * @dev Returns true if this contract implements the interface defined by\n * `interfaceId`. See the corresponding\n * https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section]\n * to learn more about how these ids are created.\n *\n * This function call must use less than 30 000 gas.\n */\n function supportsInterface(bytes4 interfaceId) external view returns (bool);\n}\n" + }, + "@openzeppelin/contracts/utils/Strings.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.7.0) (utils/Strings.sol)\n\npragma solidity ^0.8.0;\n\n/**\n * @dev String operations.\n */\nlibrary Strings {\n bytes16 private constant _HEX_SYMBOLS = \"0123456789abcdef\";\n uint8 private constant _ADDRESS_LENGTH = 20;\n\n /**\n * @dev Converts a `uint256` to its ASCII `string` decimal representation.\n */\n function toString(uint256 value) internal pure returns (string memory) {\n // Inspired by OraclizeAPI's implementation - MIT licence\n // https://github.com/oraclize/ethereum-api/blob/b42146b063c7d6ee1358846c198246239e9360e8/oraclizeAPI_0.4.25.sol\n\n if (value == 0) {\n return \"0\";\n }\n uint256 temp = value;\n uint256 digits;\n while (temp != 0) {\n digits++;\n temp /= 10;\n }\n bytes memory buffer = new bytes(digits);\n while (value != 0) {\n digits -= 1;\n buffer[digits] = bytes1(uint8(48 + uint256(value % 10)));\n value /= 10;\n }\n return string(buffer);\n }\n\n /**\n * @dev Converts a `uint256` to its ASCII `string` hexadecimal representation.\n */\n function toHexString(uint256 value) internal pure returns (string memory) {\n if (value == 0) {\n return \"0x00\";\n }\n uint256 temp = value;\n uint256 length = 0;\n while (temp != 0) {\n length++;\n temp >>= 8;\n }\n return toHexString(value, length);\n }\n\n /**\n * @dev Converts a `uint256` to its ASCII `string` hexadecimal representation with fixed length.\n */\n function toHexString(uint256 value, uint256 length) internal pure returns (string memory) {\n bytes memory buffer = new bytes(2 * length + 2);\n buffer[0] = \"0\";\n buffer[1] = \"x\";\n for (uint256 i = 2 * length + 1; i > 1; --i) {\n buffer[i] = _HEX_SYMBOLS[value & 0xf];\n value >>= 4;\n }\n require(value == 0, \"Strings: hex length insufficient\");\n return string(buffer);\n }\n\n /**\n * @dev Converts an `address` with fixed length of 20 bytes to its not checksummed ASCII `string` hexadecimal representation.\n */\n function toHexString(address addr) internal pure returns (string memory) {\n return toHexString(uint256(uint160(addr)), _ADDRESS_LENGTH);\n }\n}\n" + }, + "src/contracts/adapters/SyncSwapAdapter.sol": { + "content": "// ╟╗ ╔╬\n// ╞╬╬ ╬╠╬\n// ╔╣╬╬╬ ╠╠╠╠╦\n// ╬╬╬╬╬╩ ╘╠╠╠╠╬\n// ║╬╬╬╬╬ ╘╠╠╠╠╬\n// ╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╒╬╬╬╬╬╬╬╜ ╠╠╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╬╬╬╬╬╬╬╬╠╠╠╠╠╠╠╠\n// ╙╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╕ ╬╬╬╬╬╬╬╜ ╣╠╠╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╬╬╬╬╬╬╬╬╬╠╠╠╠╠╠╠╩\n// ╙╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╔╬╬╬╬╬╬╬ ╔╠╠╠╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╣╬╬╬╬╬╬╬╬╬╬╬╠╠╠╠╝╙\n// ╘╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╒╠╠╠╬╠╬╩╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╣╬╬╬╬╬╬╬╙\n// ╣╬╬╬╬╬╬╬╬╬╬╠╣ ╣╬╠╠╠╬╩ ╚╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬\n// ╣╬╬╬╬╬╬╬╬╬╣ ╣╬╠╠╠╬╬ ╣╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬\n// ╟╬╬╬╬╬╬╬╩ ╬╬╠╠╠╠╬╬╬╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╠╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╒╬╬╠╠╬╠╠╬╬╬╬╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╣╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╬╬╬╠╠╠╠╝╝╝╝╝╝╝╠╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╚╬╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╣╬╬╬╬╠╠╩ ╘╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╙╬╬╬╬╬╬╬╬\n//\n\n// SPDX-License-Identifier: GPL-3.0-only\npragma solidity ^0.8.0;\n\nimport \"../interface/IERC20.sol\";\nimport \"../lib/SafeERC20.sol\";\nimport \"../YakAdapter.sol\";\n\ninterface IFactory {\n function getPool(address, address) external view returns (address);\n}\n\ninterface IPair {\n function getAmountOut(address, uint, address) external view returns (uint256);\n\n function swap(\n bytes calldata data,\n address sender,\n address callback,\n bytes calldata callbackData\n ) external returns (address token, uint amount);\n}\n\ninterface IVault {\n function deposit(address token, address to) external returns (uint amount);\n}\n\ncontract SyncSwapAdapter is YakAdapter {\n using SafeERC20 for IERC20;\n\n uint8 constant WITHDRAW_MODE = 2; // receive WETH\n\n address immutable FACTORY;\n address immutable STABLE_FACTORY;\n address immutable VAULT;\n\n constructor(\n string memory _name,\n address _factory,\n address _stableFactory,\n address _vault,\n uint256 _swapGasEstimate\n ) YakAdapter(_name, _swapGasEstimate) {\n FACTORY = _factory;\n STABLE_FACTORY = _stableFactory;\n VAULT = _vault;\n }\n\n function _getQuoteAndPair(\n uint256 _amountIn,\n address _tokenIn,\n address _tokenOut\n ) internal view returns (uint256 amountOut, address pair) {\n pair = IFactory(FACTORY).getPool(_tokenIn, _tokenOut);\n if (pair > address(0)) amountOut = IPair(pair).getAmountOut(_tokenIn, _amountIn, address(this));\n\n address stablePair = IFactory(STABLE_FACTORY).getPool(_tokenIn, _tokenOut);\n if (stablePair > address(0)) {\n uint256 amountOutStable = IPair(stablePair).getAmountOut(_tokenIn, _amountIn, address(this));\n if (amountOutStable > amountOut) {\n amountOut = amountOutStable;\n pair = stablePair;\n }\n }\n }\n\n function _query(\n uint256 _amountIn,\n address _tokenIn,\n address _tokenOut\n ) internal view override returns (uint256 amountOut) {\n if (_tokenIn != _tokenOut && _amountIn != 0) (amountOut, ) = _getQuoteAndPair(_amountIn, _tokenIn, _tokenOut);\n }\n\n function _swap(\n uint256 _amountIn,\n uint256 _amountOut,\n address _tokenIn,\n address _tokenOut,\n address _to\n ) internal override {\n (uint256 amountOut, address pair) = _getQuoteAndPair(_amountIn, _tokenIn, _tokenOut);\n require(amountOut >= _amountOut, \"Insufficent amount out\");\n IERC20(_tokenIn).safeTransfer(VAULT, _amountIn);\n IVault(VAULT).deposit(_tokenIn, pair);\n bytes memory data = abi.encode(_tokenIn, _to, WITHDRAW_MODE);\n IPair(pair).swap(data, address(this), address(0), \"\");\n }\n}\n" + }, + "src/contracts/interface/IERC20.sol": { + "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\n\ninterface IERC20 {\n event Approval(address, address, uint256);\n event Transfer(address, address, uint256);\n\n function name() external view returns (string memory);\n\n function decimals() external view returns (uint8);\n\n function transferFrom(\n address,\n address,\n uint256\n ) external returns (bool);\n\n function allowance(address, address) external view returns (uint256);\n\n function approve(address, uint256) external returns (bool);\n\n function transfer(address, uint256) external returns (bool);\n\n function balanceOf(address) external view returns (uint256);\n\n function nonces(address) external view returns (uint256); // Only tokens that support permit\n\n function permit(\n address,\n address,\n uint256,\n uint256,\n uint8,\n bytes32,\n bytes32\n ) external; // Only tokens that support permit\n\n function swap(address, uint256) external; // Only Avalanche bridge tokens\n\n function swapSupply(address) external view returns (uint256); // Only Avalanche bridge tokens\n\n function totalSupply() external view returns (uint256);\n}\n" + }, + "src/contracts/lib/Maintainable.sol": { + "content": "// SPDX-License-Identifier: MIT\n\npragma solidity ^0.8.0;\n\nimport \"@openzeppelin/contracts/access/AccessControl.sol\";\n\n/**\n * @dev Contract module which extends the basic access control mechanism of Ownable\n * to include many maintainers, whom only the owner (DEFAULT_ADMIN_ROLE) may add and\n * remove.\n *\n * By default, the owner account will be the one that deploys the contract. This can\n * later be changed with {transferOwnership}.\n *\n * This module is used through inheritance. It will make available this modifier:\n * `onlyMaintainer`, which can be applied to your functions to restrict their use to\n * the accounts with the role of maintainer.\n */\n\nabstract contract Maintainable is Context, AccessControl {\n bytes32 public constant MAINTAINER_ROLE = keccak256(\"MAINTAINER_ROLE\");\n\n constructor() {\n address msgSender = _msgSender();\n // members of the DEFAULT_ADMIN_ROLE alone may revoke and grant role membership\n _setupRole(DEFAULT_ADMIN_ROLE, msgSender);\n _setupRole(MAINTAINER_ROLE, msgSender);\n }\n\n function addMaintainer(address addedMaintainer) public virtual {\n grantRole(MAINTAINER_ROLE, addedMaintainer);\n }\n\n function removeMaintainer(address removedMaintainer) public virtual {\n revokeRole(MAINTAINER_ROLE, removedMaintainer);\n }\n\n function renounceRole(bytes32 role) public virtual {\n address msgSender = _msgSender();\n renounceRole(role, msgSender);\n }\n\n function transferOwnership(address newOwner) public virtual {\n address msgSender = _msgSender();\n grantRole(DEFAULT_ADMIN_ROLE, newOwner);\n renounceRole(DEFAULT_ADMIN_ROLE, msgSender);\n }\n\n modifier onlyMaintainer() {\n address msgSender = _msgSender();\n require(hasRole(MAINTAINER_ROLE, msgSender), \"Maintainable: Caller is not a maintainer\");\n _;\n }\n}\n" + }, + "src/contracts/lib/SafeERC20.sol": { + "content": "// This is a simplified version of OpenZepplin's SafeERC20 library\n// SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\npragma experimental ABIEncoderV2;\n\nimport \"../interface/IERC20.sol\";\n\n/**\n * @title SafeERC20\n * @dev Wrappers around ERC20 operations that throw on failure (when the token\n * contract returns false). Tokens that return no value (and instead revert or\n * throw on failure) are also supported, non-reverting calls are assumed to be\n * successful.\n * To use this library you can add a `using SafeERC20 for ERC20;` statement to your contract,\n * which allows you to call the safe operations as `token.safeTransfer(...)`, etc.\n */\nlibrary SafeERC20 {\n function safeTransfer(\n IERC20 token,\n address to,\n uint256 value\n ) internal {\n _callOptionalReturn(token, abi.encodeWithSelector(token.transfer.selector, to, value));\n }\n\n function safeTransferFrom(\n IERC20 token,\n address from,\n address to,\n uint256 value\n ) internal {\n _callOptionalReturn(token, abi.encodeWithSelector(token.transferFrom.selector, from, to, value));\n }\n\n function safeApprove(\n IERC20 token,\n address spender,\n uint256 value\n ) internal {\n // safeApprove should only be called when setting an initial allowance,\n // or when resetting it to zero. To increase and decrease it, use\n // 'safeIncreaseAllowance' and 'safeDecreaseAllowance'\n // solhint-disable-next-line max-line-length\n require(\n (value == 0) || (token.allowance(address(this), spender) == 0),\n \"SafeERC20: approve from non-zero to non-zero allowance\"\n );\n _callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, value));\n }\n\n /**\n * @dev Imitates a Solidity high-level call (i.e. a regular function call to a contract), relaxing the requirement\n * on the return value: the return value is optional (but if data is returned, it must not be false).\n * @param token The token targeted by the call.\n * @param data The call data (encoded using abi.encode or one of its variants).\n */\n function _callOptionalReturn(IERC20 token, bytes memory data) private {\n // We need to perform a low level call here, to bypass Solidity's return data size checking mechanism, since\n // we're implementing it ourselves.\n\n // A Solidity high level call has three parts:\n // 1. The target address is checked to verify it contains contract code\n // 2. The call itself is made, and success asserted\n // 3. The return value is decoded, which in turn checks the size of the returned data.\n // solhint-disable-next-line max-line-length\n\n // solhint-disable-next-line avoid-low-level-calls\n (bool success, bytes memory returndata) = address(token).call(data);\n require(success, \"SafeERC20: low-level call failed\");\n\n if (returndata.length > 0) {\n // Return data is optional\n // solhint-disable-next-line max-line-length\n require(abi.decode(returndata, (bool)), \"SafeERC20: ERC20 operation did not succeed\");\n }\n }\n}\n" + }, + "src/contracts/YakAdapter.sol": { + "content": "// ╟╗ ╔╬\n// ╞╬╬ ╬╠╬\n// ╔╣╬╬╬ ╠╠╠╠╦\n// ╬╬╬╬╬╩ ╘╠╠╠╠╬\n// ║╬╬╬╬╬ ╘╠╠╠╠╬\n// ╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╒╬╬╬╬╬╬╬╜ ╠╠╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╬╬╬╬╬╬╬╬╠╠╠╠╠╠╠╠\n// ╙╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╕ ╬╬╬╬╬╬╬╜ ╣╠╠╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╬╬╬╬╬╬╬╬╬╠╠╠╠╠╠╠╩\n// ╙╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╔╬╬╬╬╬╬╬ ╔╠╠╠╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╣╬╬╬╬╬╬╬╬╬╬╬╠╠╠╠╝╙\n// ╘╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╒╠╠╠╬╠╬╩╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╣╬╬╬╬╬╬╬╙\n// ╣╬╬╬╬╬╬╬╬╬╬╠╣ ╣╬╠╠╠╬╩ ╚╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬\n// ╣╬╬╬╬╬╬╬╬╬╣ ╣╬╠╠╠╬╬ ╣╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬\n// ╟╬╬╬╬╬╬╬╩ ╬╬╠╠╠╠╬╬╬╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╠╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╒╬╬╠╠╬╠╠╬╬╬╬╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╣╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╬╬╬╠╠╠╠╝╝╝╝╝╝╝╠╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╚╬╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╣╬╬╬╬╠╠╩ ╘╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╙╬╬╬╬╬╬╬╬\n//\n\n// SPDX-License-Identifier: GPL-3.0-only\npragma solidity ^0.8.0;\n\nimport \"./interface/IERC20.sol\";\nimport \"./lib/SafeERC20.sol\";\nimport \"./lib/Maintainable.sol\";\n\nabstract contract YakAdapter is Maintainable {\n using SafeERC20 for IERC20;\n\n event YakAdapterSwap(address indexed _tokenFrom, address indexed _tokenTo, uint256 _amountIn, uint256 _amountOut);\n event UpdatedGasEstimate(address indexed _adapter, uint256 _newEstimate);\n event Recovered(address indexed _asset, uint256 amount);\n\n uint256 internal constant UINT_MAX = type(uint256).max;\n uint256 public swapGasEstimate;\n string public name;\n\n constructor(string memory _name, uint256 _gasEstimate) {\n setName(_name);\n setSwapGasEstimate(_gasEstimate);\n }\n\n function setName(string memory _name) internal {\n require(bytes(_name).length != 0, \"Invalid adapter name\");\n name = _name;\n }\n\n function setSwapGasEstimate(uint256 _estimate) public onlyMaintainer {\n require(_estimate != 0, \"Invalid gas-estimate\");\n swapGasEstimate = _estimate;\n emit UpdatedGasEstimate(address(this), _estimate);\n }\n\n function revokeAllowance(address _token, address _spender) external onlyMaintainer {\n IERC20(_token).safeApprove(_spender, 0);\n }\n\n function recoverERC20(address _tokenAddress, uint256 _tokenAmount) external onlyMaintainer {\n require(_tokenAmount > 0, \"YakAdapter: Nothing to recover\");\n IERC20(_tokenAddress).safeTransfer(msg.sender, _tokenAmount);\n emit Recovered(_tokenAddress, _tokenAmount);\n }\n\n function recoverAVAX(uint256 _amount) external onlyMaintainer {\n require(_amount > 0, \"YakAdapter: Nothing to recover\");\n (bool success, )= msg.sender.call{value: _amount}(\"\");\n require(success, \"Transfer failed.\");\n emit Recovered(address(0), _amount);\n }\n\n function query(\n uint256 _amountIn,\n address _tokenIn,\n address _tokenOut\n ) external view returns (uint256) {\n return _query(_amountIn, _tokenIn, _tokenOut);\n }\n\n function swap(\n uint256 _amountIn,\n uint256 _amountOut,\n address _fromToken,\n address _toToken,\n address _to\n ) external virtual {\n uint256 toBal0 = IERC20(_toToken).balanceOf(_to);\n _swap(_amountIn, _amountOut, _fromToken, _toToken, _to);\n uint256 diff = IERC20(_toToken).balanceOf(_to) - toBal0;\n require(diff >= _amountOut, \"Insufficient amount-out\");\n emit YakAdapterSwap(_fromToken, _toToken, _amountIn, _amountOut);\n }\n\n function _returnTo(\n address _token,\n uint256 _amount,\n address _to\n ) internal {\n if (address(this) != _to) IERC20(_token).safeTransfer(_to, _amount);\n }\n\n function _swap(\n uint256 _amountIn,\n uint256 _amountOut,\n address _fromToken,\n address _toToken,\n address _to\n ) internal virtual;\n\n function _query(\n uint256 _amountIn,\n address _tokenIn,\n address _tokenOut\n ) internal view virtual returns (uint256);\n\n receive() external payable {}\n}\n" + } + }, + "settings": { + "optimizer": { + "enabled": true, + "mode": "3" + }, + "outputSelection": { + "*": { + "*": [ + "abi", + "evm.methodIdentifiers", + "metadata", + "devdoc", + "userdoc", + "storageLayout" + ], + "": [ + "ast" + ] + } + }, + "metadata": { + "useLiteralContent": true + } + } +} \ No newline at end of file diff --git a/src/deployments/zksync/solcInputs/66f82dcf63990745abeec8c3403069ad.json b/src/deployments/zksync/solcInputs/66f82dcf63990745abeec8c3403069ad.json new file mode 100644 index 00000000..ce99dfd3 --- /dev/null +++ b/src/deployments/zksync/solcInputs/66f82dcf63990745abeec8c3403069ad.json @@ -0,0 +1,62 @@ +{ + "language": "Solidity", + "sources": { + "@openzeppelin/contracts/access/AccessControl.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.7.0) (access/AccessControl.sol)\n\npragma solidity ^0.8.0;\n\nimport \"./IAccessControl.sol\";\nimport \"../utils/Context.sol\";\nimport \"../utils/Strings.sol\";\nimport \"../utils/introspection/ERC165.sol\";\n\n/**\n * @dev Contract module that allows children to implement role-based access\n * control mechanisms. This is a lightweight version that doesn't allow enumerating role\n * members except through off-chain means by accessing the contract event logs. Some\n * applications may benefit from on-chain enumerability, for those cases see\n * {AccessControlEnumerable}.\n *\n * Roles are referred to by their `bytes32` identifier. These should be exposed\n * in the external API and be unique. The best way to achieve this is by\n * using `public constant` hash digests:\n *\n * ```\n * bytes32 public constant MY_ROLE = keccak256(\"MY_ROLE\");\n * ```\n *\n * Roles can be used to represent a set of permissions. To restrict access to a\n * function call, use {hasRole}:\n *\n * ```\n * function foo() public {\n * require(hasRole(MY_ROLE, msg.sender));\n * ...\n * }\n * ```\n *\n * Roles can be granted and revoked dynamically via the {grantRole} and\n * {revokeRole} functions. Each role has an associated admin role, and only\n * accounts that have a role's admin role can call {grantRole} and {revokeRole}.\n *\n * By default, the admin role for all roles is `DEFAULT_ADMIN_ROLE`, which means\n * that only accounts with this role will be able to grant or revoke other\n * roles. More complex role relationships can be created by using\n * {_setRoleAdmin}.\n *\n * WARNING: The `DEFAULT_ADMIN_ROLE` is also its own admin: it has permission to\n * grant and revoke this role. Extra precautions should be taken to secure\n * accounts that have been granted it.\n */\nabstract contract AccessControl is Context, IAccessControl, ERC165 {\n struct RoleData {\n mapping(address => bool) members;\n bytes32 adminRole;\n }\n\n mapping(bytes32 => RoleData) private _roles;\n\n bytes32 public constant DEFAULT_ADMIN_ROLE = 0x00;\n\n /**\n * @dev Modifier that checks that an account has a specific role. Reverts\n * with a standardized message including the required role.\n *\n * The format of the revert reason is given by the following regular expression:\n *\n * /^AccessControl: account (0x[0-9a-f]{40}) is missing role (0x[0-9a-f]{64})$/\n *\n * _Available since v4.1._\n */\n modifier onlyRole(bytes32 role) {\n _checkRole(role);\n _;\n }\n\n /**\n * @dev See {IERC165-supportsInterface}.\n */\n function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {\n return interfaceId == type(IAccessControl).interfaceId || super.supportsInterface(interfaceId);\n }\n\n /**\n * @dev Returns `true` if `account` has been granted `role`.\n */\n function hasRole(bytes32 role, address account) public view virtual override returns (bool) {\n return _roles[role].members[account];\n }\n\n /**\n * @dev Revert with a standard message if `_msgSender()` is missing `role`.\n * Overriding this function changes the behavior of the {onlyRole} modifier.\n *\n * Format of the revert message is described in {_checkRole}.\n *\n * _Available since v4.6._\n */\n function _checkRole(bytes32 role) internal view virtual {\n _checkRole(role, _msgSender());\n }\n\n /**\n * @dev Revert with a standard message if `account` is missing `role`.\n *\n * The format of the revert reason is given by the following regular expression:\n *\n * /^AccessControl: account (0x[0-9a-f]{40}) is missing role (0x[0-9a-f]{64})$/\n */\n function _checkRole(bytes32 role, address account) internal view virtual {\n if (!hasRole(role, account)) {\n revert(\n string(\n abi.encodePacked(\n \"AccessControl: account \",\n Strings.toHexString(uint160(account), 20),\n \" is missing role \",\n Strings.toHexString(uint256(role), 32)\n )\n )\n );\n }\n }\n\n /**\n * @dev Returns the admin role that controls `role`. See {grantRole} and\n * {revokeRole}.\n *\n * To change a role's admin, use {_setRoleAdmin}.\n */\n function getRoleAdmin(bytes32 role) public view virtual override returns (bytes32) {\n return _roles[role].adminRole;\n }\n\n /**\n * @dev Grants `role` to `account`.\n *\n * If `account` had not been already granted `role`, emits a {RoleGranted}\n * event.\n *\n * Requirements:\n *\n * - the caller must have ``role``'s admin role.\n *\n * May emit a {RoleGranted} event.\n */\n function grantRole(bytes32 role, address account) public virtual override onlyRole(getRoleAdmin(role)) {\n _grantRole(role, account);\n }\n\n /**\n * @dev Revokes `role` from `account`.\n *\n * If `account` had been granted `role`, emits a {RoleRevoked} event.\n *\n * Requirements:\n *\n * - the caller must have ``role``'s admin role.\n *\n * May emit a {RoleRevoked} event.\n */\n function revokeRole(bytes32 role, address account) public virtual override onlyRole(getRoleAdmin(role)) {\n _revokeRole(role, account);\n }\n\n /**\n * @dev Revokes `role` from the calling account.\n *\n * Roles are often managed via {grantRole} and {revokeRole}: this function's\n * purpose is to provide a mechanism for accounts to lose their privileges\n * if they are compromised (such as when a trusted device is misplaced).\n *\n * If the calling account had been revoked `role`, emits a {RoleRevoked}\n * event.\n *\n * Requirements:\n *\n * - the caller must be `account`.\n *\n * May emit a {RoleRevoked} event.\n */\n function renounceRole(bytes32 role, address account) public virtual override {\n require(account == _msgSender(), \"AccessControl: can only renounce roles for self\");\n\n _revokeRole(role, account);\n }\n\n /**\n * @dev Grants `role` to `account`.\n *\n * If `account` had not been already granted `role`, emits a {RoleGranted}\n * event. Note that unlike {grantRole}, this function doesn't perform any\n * checks on the calling account.\n *\n * May emit a {RoleGranted} event.\n *\n * [WARNING]\n * ====\n * This function should only be called from the constructor when setting\n * up the initial roles for the system.\n *\n * Using this function in any other way is effectively circumventing the admin\n * system imposed by {AccessControl}.\n * ====\n *\n * NOTE: This function is deprecated in favor of {_grantRole}.\n */\n function _setupRole(bytes32 role, address account) internal virtual {\n _grantRole(role, account);\n }\n\n /**\n * @dev Sets `adminRole` as ``role``'s admin role.\n *\n * Emits a {RoleAdminChanged} event.\n */\n function _setRoleAdmin(bytes32 role, bytes32 adminRole) internal virtual {\n bytes32 previousAdminRole = getRoleAdmin(role);\n _roles[role].adminRole = adminRole;\n emit RoleAdminChanged(role, previousAdminRole, adminRole);\n }\n\n /**\n * @dev Grants `role` to `account`.\n *\n * Internal function without access restriction.\n *\n * May emit a {RoleGranted} event.\n */\n function _grantRole(bytes32 role, address account) internal virtual {\n if (!hasRole(role, account)) {\n _roles[role].members[account] = true;\n emit RoleGranted(role, account, _msgSender());\n }\n }\n\n /**\n * @dev Revokes `role` from `account`.\n *\n * Internal function without access restriction.\n *\n * May emit a {RoleRevoked} event.\n */\n function _revokeRole(bytes32 role, address account) internal virtual {\n if (hasRole(role, account)) {\n _roles[role].members[account] = false;\n emit RoleRevoked(role, account, _msgSender());\n }\n }\n}\n" + }, + "@openzeppelin/contracts/access/IAccessControl.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (access/IAccessControl.sol)\n\npragma solidity ^0.8.0;\n\n/**\n * @dev External interface of AccessControl declared to support ERC165 detection.\n */\ninterface IAccessControl {\n /**\n * @dev Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole`\n *\n * `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite\n * {RoleAdminChanged} not being emitted signaling this.\n *\n * _Available since v3.1._\n */\n event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole);\n\n /**\n * @dev Emitted when `account` is granted `role`.\n *\n * `sender` is the account that originated the contract call, an admin role\n * bearer except when using {AccessControl-_setupRole}.\n */\n event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender);\n\n /**\n * @dev Emitted when `account` is revoked `role`.\n *\n * `sender` is the account that originated the contract call:\n * - if using `revokeRole`, it is the admin role bearer\n * - if using `renounceRole`, it is the role bearer (i.e. `account`)\n */\n event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender);\n\n /**\n * @dev Returns `true` if `account` has been granted `role`.\n */\n function hasRole(bytes32 role, address account) external view returns (bool);\n\n /**\n * @dev Returns the admin role that controls `role`. See {grantRole} and\n * {revokeRole}.\n *\n * To change a role's admin, use {AccessControl-_setRoleAdmin}.\n */\n function getRoleAdmin(bytes32 role) external view returns (bytes32);\n\n /**\n * @dev Grants `role` to `account`.\n *\n * If `account` had not been already granted `role`, emits a {RoleGranted}\n * event.\n *\n * Requirements:\n *\n * - the caller must have ``role``'s admin role.\n */\n function grantRole(bytes32 role, address account) external;\n\n /**\n * @dev Revokes `role` from `account`.\n *\n * If `account` had been granted `role`, emits a {RoleRevoked} event.\n *\n * Requirements:\n *\n * - the caller must have ``role``'s admin role.\n */\n function revokeRole(bytes32 role, address account) external;\n\n /**\n * @dev Revokes `role` from the calling account.\n *\n * Roles are often managed via {grantRole} and {revokeRole}: this function's\n * purpose is to provide a mechanism for accounts to lose their privileges\n * if they are compromised (such as when a trusted device is misplaced).\n *\n * If the calling account had been granted `role`, emits a {RoleRevoked}\n * event.\n *\n * Requirements:\n *\n * - the caller must be `account`.\n */\n function renounceRole(bytes32 role, address account) external;\n}\n" + }, + "@openzeppelin/contracts/utils/Context.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (utils/Context.sol)\n\npragma solidity ^0.8.0;\n\n/**\n * @dev Provides information about the current execution context, including the\n * sender of the transaction and its data. While these are generally available\n * via msg.sender and msg.data, they should not be accessed in such a direct\n * manner, since when dealing with meta-transactions the account sending and\n * paying for execution may not be the actual sender (as far as an application\n * is concerned).\n *\n * This contract is only required for intermediate, library-like contracts.\n */\nabstract contract Context {\n function _msgSender() internal view virtual returns (address) {\n return msg.sender;\n }\n\n function _msgData() internal view virtual returns (bytes calldata) {\n return msg.data;\n }\n}\n" + }, + "@openzeppelin/contracts/utils/introspection/ERC165.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (utils/introspection/ERC165.sol)\n\npragma solidity ^0.8.0;\n\nimport \"./IERC165.sol\";\n\n/**\n * @dev Implementation of the {IERC165} interface.\n *\n * Contracts that want to implement ERC165 should inherit from this contract and override {supportsInterface} to check\n * for the additional interface id that will be supported. For example:\n *\n * ```solidity\n * function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {\n * return interfaceId == type(MyInterface).interfaceId || super.supportsInterface(interfaceId);\n * }\n * ```\n *\n * Alternatively, {ERC165Storage} provides an easier to use but more expensive implementation.\n */\nabstract contract ERC165 is IERC165 {\n /**\n * @dev See {IERC165-supportsInterface}.\n */\n function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {\n return interfaceId == type(IERC165).interfaceId;\n }\n}\n" + }, + "@openzeppelin/contracts/utils/introspection/IERC165.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (utils/introspection/IERC165.sol)\n\npragma solidity ^0.8.0;\n\n/**\n * @dev Interface of the ERC165 standard, as defined in the\n * https://eips.ethereum.org/EIPS/eip-165[EIP].\n *\n * Implementers can declare support of contract interfaces, which can then be\n * queried by others ({ERC165Checker}).\n *\n * For an implementation, see {ERC165}.\n */\ninterface IERC165 {\n /**\n * @dev Returns true if this contract implements the interface defined by\n * `interfaceId`. See the corresponding\n * https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section]\n * to learn more about how these ids are created.\n *\n * This function call must use less than 30 000 gas.\n */\n function supportsInterface(bytes4 interfaceId) external view returns (bool);\n}\n" + }, + "@openzeppelin/contracts/utils/Strings.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.7.0) (utils/Strings.sol)\n\npragma solidity ^0.8.0;\n\n/**\n * @dev String operations.\n */\nlibrary Strings {\n bytes16 private constant _HEX_SYMBOLS = \"0123456789abcdef\";\n uint8 private constant _ADDRESS_LENGTH = 20;\n\n /**\n * @dev Converts a `uint256` to its ASCII `string` decimal representation.\n */\n function toString(uint256 value) internal pure returns (string memory) {\n // Inspired by OraclizeAPI's implementation - MIT licence\n // https://github.com/oraclize/ethereum-api/blob/b42146b063c7d6ee1358846c198246239e9360e8/oraclizeAPI_0.4.25.sol\n\n if (value == 0) {\n return \"0\";\n }\n uint256 temp = value;\n uint256 digits;\n while (temp != 0) {\n digits++;\n temp /= 10;\n }\n bytes memory buffer = new bytes(digits);\n while (value != 0) {\n digits -= 1;\n buffer[digits] = bytes1(uint8(48 + uint256(value % 10)));\n value /= 10;\n }\n return string(buffer);\n }\n\n /**\n * @dev Converts a `uint256` to its ASCII `string` hexadecimal representation.\n */\n function toHexString(uint256 value) internal pure returns (string memory) {\n if (value == 0) {\n return \"0x00\";\n }\n uint256 temp = value;\n uint256 length = 0;\n while (temp != 0) {\n length++;\n temp >>= 8;\n }\n return toHexString(value, length);\n }\n\n /**\n * @dev Converts a `uint256` to its ASCII `string` hexadecimal representation with fixed length.\n */\n function toHexString(uint256 value, uint256 length) internal pure returns (string memory) {\n bytes memory buffer = new bytes(2 * length + 2);\n buffer[0] = \"0\";\n buffer[1] = \"x\";\n for (uint256 i = 2 * length + 1; i > 1; --i) {\n buffer[i] = _HEX_SYMBOLS[value & 0xf];\n value >>= 4;\n }\n require(value == 0, \"Strings: hex length insufficient\");\n return string(buffer);\n }\n\n /**\n * @dev Converts an `address` with fixed length of 20 bytes to its not checksummed ASCII `string` hexadecimal representation.\n */\n function toHexString(address addr) internal pure returns (string memory) {\n return toHexString(uint256(uint160(addr)), _ADDRESS_LENGTH);\n }\n}\n" + }, + "src/contracts/adapters/SyncSwapAdapter.sol": { + "content": "// ╟╗ ╔╬\n// ╞╬╬ ╬╠╬\n// ╔╣╬╬╬ ╠╠╠╠╦\n// ╬╬╬╬╬╩ ╘╠╠╠╠╬\n// ║╬╬╬╬╬ ╘╠╠╠╠╬\n// ╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╒╬╬╬╬╬╬╬╜ ╠╠╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╬╬╬╬╬╬╬╬╠╠╠╠╠╠╠╠\n// ╙╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╕ ╬╬╬╬╬╬╬╜ ╣╠╠╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╬╬╬╬╬╬╬╬╬╠╠╠╠╠╠╠╩\n// ╙╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╔╬╬╬╬╬╬╬ ╔╠╠╠╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╣╬╬╬╬╬╬╬╬╬╬╬╠╠╠╠╝╙\n// ╘╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╒╠╠╠╬╠╬╩╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╣╬╬╬╬╬╬╬╙\n// ╣╬╬╬╬╬╬╬╬╬╬╠╣ ╣╬╠╠╠╬╩ ╚╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬\n// ╣╬╬╬╬╬╬╬╬╬╣ ╣╬╠╠╠╬╬ ╣╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬\n// ╟╬╬╬╬╬╬╬╩ ╬╬╠╠╠╠╬╬╬╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╠╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╒╬╬╠╠╬╠╠╬╬╬╬╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╣╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╬╬╬╠╠╠╠╝╝╝╝╝╝╝╠╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╚╬╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╣╬╬╬╬╠╠╩ ╘╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╙╬╬╬╬╬╬╬╬\n//\n\n// SPDX-License-Identifier: GPL-3.0-only\npragma solidity ^0.8.0;\n\nimport \"../interface/IERC20.sol\";\nimport \"../lib/SafeERC20.sol\";\nimport \"../YakAdapter.sol\";\n\ninterface IFactory {\n function getPool(address,address) external view returns (address);\n}\n\ninterface IPair {\n function getAmountOut(address,uint,address) external view returns (uint256);\n function swap(\n bytes calldata data,\n address sender,\n address callback,\n bytes calldata callbackData\n ) external returns (address token,uint amount);\n}\n\ninterface IVault {\n function deposit(address token, address to) external returns (uint amount);\n}\n\ncontract SyncSwapAdapter is YakAdapter {\n using SafeERC20 for IERC20;\n\n uint constant WITHDRAW_MODE = 2; // receive WETH\n\n address immutable FACTORY;\n address immutable STABLE_FACTORY;\n address immutable VAULT;\n\n constructor(\n string memory _name,\n address _factory,\n address _stableFactory,\n address _vault,\n uint256 _swapGasEstimate\n ) YakAdapter(_name, _swapGasEstimate) {\n FACTORY = _factory;\n STABLE_FACTORY = _stableFactory;\n VAULT = _vault;\n }\n\n function getQuoteAndPair(\n uint256 _amountIn,\n address _tokenIn,\n address _tokenOut\n ) internal view returns (uint256 amountOut, address pair) {\n address stablePair = IFactory(STABLE_FACTORY).getPool(_tokenIn, _tokenOut);\n uint amountOutStable;\n if (stablePair > address(0)) \n amountOutStable = IPair(stablePair).getAmountOut(_tokenIn, _amountIn, address(this));\n \n pair = IFactory(FACTORY).getPool(_tokenIn, _tokenOut);\n if (pair > address(0))\n amountOut = IPair(pair).getAmountOut(_tokenIn, _amountIn, address(this));\n\n if (amountOutStable > amountOut) {\n amountOut = amountOutStable;\n pair = stablePair;\n }\n }\n\n function _query(\n uint256 _amountIn,\n address _tokenIn,\n address _tokenOut\n ) internal view override returns (uint256 amountOut) {\n if (_tokenIn != _tokenOut && _amountIn != 0)\n (amountOut, ) = getQuoteAndPair(_amountIn, _tokenIn, _tokenOut);\n }\n\n function _swap(\n uint256 _amountIn,\n uint256 _amountOut,\n address _tokenIn,\n address _tokenOut,\n address _to\n ) internal override {\n (uint256 amountOut, address pair) = getQuoteAndPair(_amountIn, _tokenIn, _tokenOut);\n require(amountOut >= _amountOut, \"Insufficent amount out\");\n IERC20(_tokenIn).safeTransfer(VAULT, _amountIn);\n IVault(VAULT).deposit(_tokenIn, pair);\n bytes memory data = abi.encode(_tokenIn, _tokenOut, WITHDRAW_MODE);\n IPair(pair).swap(data, address(this), address(0), '');\n _returnTo(_tokenOut, _amountOut, _to);\n }\n}\n" + }, + "src/contracts/interface/IERC20.sol": { + "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\n\ninterface IERC20 {\n event Approval(address, address, uint256);\n event Transfer(address, address, uint256);\n\n function name() external view returns (string memory);\n\n function decimals() external view returns (uint8);\n\n function transferFrom(\n address,\n address,\n uint256\n ) external returns (bool);\n\n function allowance(address, address) external view returns (uint256);\n\n function approve(address, uint256) external returns (bool);\n\n function transfer(address, uint256) external returns (bool);\n\n function balanceOf(address) external view returns (uint256);\n\n function nonces(address) external view returns (uint256); // Only tokens that support permit\n\n function permit(\n address,\n address,\n uint256,\n uint256,\n uint8,\n bytes32,\n bytes32\n ) external; // Only tokens that support permit\n\n function swap(address, uint256) external; // Only Avalanche bridge tokens\n\n function swapSupply(address) external view returns (uint256); // Only Avalanche bridge tokens\n\n function totalSupply() external view returns (uint256);\n}\n" + }, + "src/contracts/lib/Maintainable.sol": { + "content": "// SPDX-License-Identifier: MIT\n\npragma solidity ^0.8.0;\n\nimport \"@openzeppelin/contracts/access/AccessControl.sol\";\n\n/**\n * @dev Contract module which extends the basic access control mechanism of Ownable\n * to include many maintainers, whom only the owner (DEFAULT_ADMIN_ROLE) may add and\n * remove.\n *\n * By default, the owner account will be the one that deploys the contract. This can\n * later be changed with {transferOwnership}.\n *\n * This module is used through inheritance. It will make available this modifier:\n * `onlyMaintainer`, which can be applied to your functions to restrict their use to\n * the accounts with the role of maintainer.\n */\n\nabstract contract Maintainable is Context, AccessControl {\n bytes32 public constant MAINTAINER_ROLE = keccak256(\"MAINTAINER_ROLE\");\n\n constructor() {\n address msgSender = _msgSender();\n // members of the DEFAULT_ADMIN_ROLE alone may revoke and grant role membership\n _setupRole(DEFAULT_ADMIN_ROLE, msgSender);\n _setupRole(MAINTAINER_ROLE, msgSender);\n }\n\n function addMaintainer(address addedMaintainer) public virtual {\n grantRole(MAINTAINER_ROLE, addedMaintainer);\n }\n\n function removeMaintainer(address removedMaintainer) public virtual {\n revokeRole(MAINTAINER_ROLE, removedMaintainer);\n }\n\n function renounceRole(bytes32 role) public virtual {\n address msgSender = _msgSender();\n renounceRole(role, msgSender);\n }\n\n function transferOwnership(address newOwner) public virtual {\n address msgSender = _msgSender();\n grantRole(DEFAULT_ADMIN_ROLE, newOwner);\n renounceRole(DEFAULT_ADMIN_ROLE, msgSender);\n }\n\n modifier onlyMaintainer() {\n address msgSender = _msgSender();\n require(hasRole(MAINTAINER_ROLE, msgSender), \"Maintainable: Caller is not a maintainer\");\n _;\n }\n}\n" + }, + "src/contracts/lib/SafeERC20.sol": { + "content": "// This is a simplified version of OpenZepplin's SafeERC20 library\n// SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\npragma experimental ABIEncoderV2;\n\nimport \"../interface/IERC20.sol\";\n\n/**\n * @title SafeERC20\n * @dev Wrappers around ERC20 operations that throw on failure (when the token\n * contract returns false). Tokens that return no value (and instead revert or\n * throw on failure) are also supported, non-reverting calls are assumed to be\n * successful.\n * To use this library you can add a `using SafeERC20 for ERC20;` statement to your contract,\n * which allows you to call the safe operations as `token.safeTransfer(...)`, etc.\n */\nlibrary SafeERC20 {\n function safeTransfer(\n IERC20 token,\n address to,\n uint256 value\n ) internal {\n _callOptionalReturn(token, abi.encodeWithSelector(token.transfer.selector, to, value));\n }\n\n function safeTransferFrom(\n IERC20 token,\n address from,\n address to,\n uint256 value\n ) internal {\n _callOptionalReturn(token, abi.encodeWithSelector(token.transferFrom.selector, from, to, value));\n }\n\n function safeApprove(\n IERC20 token,\n address spender,\n uint256 value\n ) internal {\n // safeApprove should only be called when setting an initial allowance,\n // or when resetting it to zero. To increase and decrease it, use\n // 'safeIncreaseAllowance' and 'safeDecreaseAllowance'\n // solhint-disable-next-line max-line-length\n require(\n (value == 0) || (token.allowance(address(this), spender) == 0),\n \"SafeERC20: approve from non-zero to non-zero allowance\"\n );\n _callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, value));\n }\n\n /**\n * @dev Imitates a Solidity high-level call (i.e. a regular function call to a contract), relaxing the requirement\n * on the return value: the return value is optional (but if data is returned, it must not be false).\n * @param token The token targeted by the call.\n * @param data The call data (encoded using abi.encode or one of its variants).\n */\n function _callOptionalReturn(IERC20 token, bytes memory data) private {\n // We need to perform a low level call here, to bypass Solidity's return data size checking mechanism, since\n // we're implementing it ourselves.\n\n // A Solidity high level call has three parts:\n // 1. The target address is checked to verify it contains contract code\n // 2. The call itself is made, and success asserted\n // 3. The return value is decoded, which in turn checks the size of the returned data.\n // solhint-disable-next-line max-line-length\n\n // solhint-disable-next-line avoid-low-level-calls\n (bool success, bytes memory returndata) = address(token).call(data);\n require(success, \"SafeERC20: low-level call failed\");\n\n if (returndata.length > 0) {\n // Return data is optional\n // solhint-disable-next-line max-line-length\n require(abi.decode(returndata, (bool)), \"SafeERC20: ERC20 operation did not succeed\");\n }\n }\n}\n" + }, + "src/contracts/YakAdapter.sol": { + "content": "// ╟╗ ╔╬\n// ╞╬╬ ╬╠╬\n// ╔╣╬╬╬ ╠╠╠╠╦\n// ╬╬╬╬╬╩ ╘╠╠╠╠╬\n// ║╬╬╬╬╬ ╘╠╠╠╠╬\n// ╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╒╬╬╬╬╬╬╬╜ ╠╠╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╬╬╬╬╬╬╬╬╠╠╠╠╠╠╠╠\n// ╙╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╕ ╬╬╬╬╬╬╬╜ ╣╠╠╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╬╬╬╬╬╬╬╬╬╠╠╠╠╠╠╠╩\n// ╙╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╔╬╬╬╬╬╬╬ ╔╠╠╠╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╣╬╬╬╬╬╬╬╬╬╬╬╠╠╠╠╝╙\n// ╘╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╒╠╠╠╬╠╬╩╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╣╬╬╬╬╬╬╬╙\n// ╣╬╬╬╬╬╬╬╬╬╬╠╣ ╣╬╠╠╠╬╩ ╚╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬\n// ╣╬╬╬╬╬╬╬╬╬╣ ╣╬╠╠╠╬╬ ╣╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬\n// ╟╬╬╬╬╬╬╬╩ ╬╬╠╠╠╠╬╬╬╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╠╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╒╬╬╠╠╬╠╠╬╬╬╬╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╣╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╬╬╬╠╠╠╠╝╝╝╝╝╝╝╠╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╚╬╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╣╬╬╬╬╠╠╩ ╘╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╙╬╬╬╬╬╬╬╬\n//\n\n// SPDX-License-Identifier: GPL-3.0-only\npragma solidity ^0.8.0;\n\nimport \"./interface/IERC20.sol\";\nimport \"./lib/SafeERC20.sol\";\nimport \"./lib/Maintainable.sol\";\n\nabstract contract YakAdapter is Maintainable {\n using SafeERC20 for IERC20;\n\n event YakAdapterSwap(address indexed _tokenFrom, address indexed _tokenTo, uint256 _amountIn, uint256 _amountOut);\n event UpdatedGasEstimate(address indexed _adapter, uint256 _newEstimate);\n event Recovered(address indexed _asset, uint256 amount);\n\n uint256 internal constant UINT_MAX = type(uint256).max;\n uint256 public swapGasEstimate;\n string public name;\n\n constructor(string memory _name, uint256 _gasEstimate) {\n setName(_name);\n setSwapGasEstimate(_gasEstimate);\n }\n\n function setName(string memory _name) internal {\n require(bytes(_name).length != 0, \"Invalid adapter name\");\n name = _name;\n }\n\n function setSwapGasEstimate(uint256 _estimate) public onlyMaintainer {\n require(_estimate != 0, \"Invalid gas-estimate\");\n swapGasEstimate = _estimate;\n emit UpdatedGasEstimate(address(this), _estimate);\n }\n\n function revokeAllowance(address _token, address _spender) external onlyMaintainer {\n IERC20(_token).safeApprove(_spender, 0);\n }\n\n function recoverERC20(address _tokenAddress, uint256 _tokenAmount) external onlyMaintainer {\n require(_tokenAmount > 0, \"YakAdapter: Nothing to recover\");\n IERC20(_tokenAddress).safeTransfer(msg.sender, _tokenAmount);\n emit Recovered(_tokenAddress, _tokenAmount);\n }\n\n function recoverAVAX(uint256 _amount) external onlyMaintainer {\n require(_amount > 0, \"YakAdapter: Nothing to recover\");\n (bool success, )= msg.sender.call{value: _amount}(\"\");\n require(success, \"Transfer failed.\");\n emit Recovered(address(0), _amount);\n }\n\n function query(\n uint256 _amountIn,\n address _tokenIn,\n address _tokenOut\n ) external view returns (uint256) {\n return _query(_amountIn, _tokenIn, _tokenOut);\n }\n\n function swap(\n uint256 _amountIn,\n uint256 _amountOut,\n address _fromToken,\n address _toToken,\n address _to\n ) external virtual {\n uint256 toBal0 = IERC20(_toToken).balanceOf(_to);\n _swap(_amountIn, _amountOut, _fromToken, _toToken, _to);\n uint256 diff = IERC20(_toToken).balanceOf(_to) - toBal0;\n require(diff >= _amountOut, \"Insufficient amount-out\");\n emit YakAdapterSwap(_fromToken, _toToken, _amountIn, _amountOut);\n }\n\n function _returnTo(\n address _token,\n uint256 _amount,\n address _to\n ) internal {\n if (address(this) != _to) IERC20(_token).safeTransfer(_to, _amount);\n }\n\n function _swap(\n uint256 _amountIn,\n uint256 _amountOut,\n address _fromToken,\n address _toToken,\n address _to\n ) internal virtual;\n\n function _query(\n uint256 _amountIn,\n address _tokenIn,\n address _tokenOut\n ) internal view virtual returns (uint256);\n\n receive() external payable {}\n}\n" + } + }, + "settings": { + "optimizer": { + "enabled": true, + "mode": "3" + }, + "outputSelection": { + "*": { + "*": [ + "abi", + "evm.methodIdentifiers", + "metadata", + "devdoc", + "userdoc", + "storageLayout" + ], + "": [ + "ast" + ] + } + }, + "metadata": { + "useLiteralContent": true + } + } +} \ No newline at end of file diff --git a/src/deployments/zksync/solcInputs/885ba879ac159e1b51de0e5796cb3ebb.json b/src/deployments/zksync/solcInputs/885ba879ac159e1b51de0e5796cb3ebb.json new file mode 100644 index 00000000..00879f10 --- /dev/null +++ b/src/deployments/zksync/solcInputs/885ba879ac159e1b51de0e5796cb3ebb.json @@ -0,0 +1,65 @@ +{ + "language": "Solidity", + "sources": { + "@openzeppelin/contracts/access/AccessControl.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.7.0) (access/AccessControl.sol)\n\npragma solidity ^0.8.0;\n\nimport \"./IAccessControl.sol\";\nimport \"../utils/Context.sol\";\nimport \"../utils/Strings.sol\";\nimport \"../utils/introspection/ERC165.sol\";\n\n/**\n * @dev Contract module that allows children to implement role-based access\n * control mechanisms. This is a lightweight version that doesn't allow enumerating role\n * members except through off-chain means by accessing the contract event logs. Some\n * applications may benefit from on-chain enumerability, for those cases see\n * {AccessControlEnumerable}.\n *\n * Roles are referred to by their `bytes32` identifier. These should be exposed\n * in the external API and be unique. The best way to achieve this is by\n * using `public constant` hash digests:\n *\n * ```\n * bytes32 public constant MY_ROLE = keccak256(\"MY_ROLE\");\n * ```\n *\n * Roles can be used to represent a set of permissions. To restrict access to a\n * function call, use {hasRole}:\n *\n * ```\n * function foo() public {\n * require(hasRole(MY_ROLE, msg.sender));\n * ...\n * }\n * ```\n *\n * Roles can be granted and revoked dynamically via the {grantRole} and\n * {revokeRole} functions. Each role has an associated admin role, and only\n * accounts that have a role's admin role can call {grantRole} and {revokeRole}.\n *\n * By default, the admin role for all roles is `DEFAULT_ADMIN_ROLE`, which means\n * that only accounts with this role will be able to grant or revoke other\n * roles. More complex role relationships can be created by using\n * {_setRoleAdmin}.\n *\n * WARNING: The `DEFAULT_ADMIN_ROLE` is also its own admin: it has permission to\n * grant and revoke this role. Extra precautions should be taken to secure\n * accounts that have been granted it.\n */\nabstract contract AccessControl is Context, IAccessControl, ERC165 {\n struct RoleData {\n mapping(address => bool) members;\n bytes32 adminRole;\n }\n\n mapping(bytes32 => RoleData) private _roles;\n\n bytes32 public constant DEFAULT_ADMIN_ROLE = 0x00;\n\n /**\n * @dev Modifier that checks that an account has a specific role. Reverts\n * with a standardized message including the required role.\n *\n * The format of the revert reason is given by the following regular expression:\n *\n * /^AccessControl: account (0x[0-9a-f]{40}) is missing role (0x[0-9a-f]{64})$/\n *\n * _Available since v4.1._\n */\n modifier onlyRole(bytes32 role) {\n _checkRole(role);\n _;\n }\n\n /**\n * @dev See {IERC165-supportsInterface}.\n */\n function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {\n return interfaceId == type(IAccessControl).interfaceId || super.supportsInterface(interfaceId);\n }\n\n /**\n * @dev Returns `true` if `account` has been granted `role`.\n */\n function hasRole(bytes32 role, address account) public view virtual override returns (bool) {\n return _roles[role].members[account];\n }\n\n /**\n * @dev Revert with a standard message if `_msgSender()` is missing `role`.\n * Overriding this function changes the behavior of the {onlyRole} modifier.\n *\n * Format of the revert message is described in {_checkRole}.\n *\n * _Available since v4.6._\n */\n function _checkRole(bytes32 role) internal view virtual {\n _checkRole(role, _msgSender());\n }\n\n /**\n * @dev Revert with a standard message if `account` is missing `role`.\n *\n * The format of the revert reason is given by the following regular expression:\n *\n * /^AccessControl: account (0x[0-9a-f]{40}) is missing role (0x[0-9a-f]{64})$/\n */\n function _checkRole(bytes32 role, address account) internal view virtual {\n if (!hasRole(role, account)) {\n revert(\n string(\n abi.encodePacked(\n \"AccessControl: account \",\n Strings.toHexString(uint160(account), 20),\n \" is missing role \",\n Strings.toHexString(uint256(role), 32)\n )\n )\n );\n }\n }\n\n /**\n * @dev Returns the admin role that controls `role`. See {grantRole} and\n * {revokeRole}.\n *\n * To change a role's admin, use {_setRoleAdmin}.\n */\n function getRoleAdmin(bytes32 role) public view virtual override returns (bytes32) {\n return _roles[role].adminRole;\n }\n\n /**\n * @dev Grants `role` to `account`.\n *\n * If `account` had not been already granted `role`, emits a {RoleGranted}\n * event.\n *\n * Requirements:\n *\n * - the caller must have ``role``'s admin role.\n *\n * May emit a {RoleGranted} event.\n */\n function grantRole(bytes32 role, address account) public virtual override onlyRole(getRoleAdmin(role)) {\n _grantRole(role, account);\n }\n\n /**\n * @dev Revokes `role` from `account`.\n *\n * If `account` had been granted `role`, emits a {RoleRevoked} event.\n *\n * Requirements:\n *\n * - the caller must have ``role``'s admin role.\n *\n * May emit a {RoleRevoked} event.\n */\n function revokeRole(bytes32 role, address account) public virtual override onlyRole(getRoleAdmin(role)) {\n _revokeRole(role, account);\n }\n\n /**\n * @dev Revokes `role` from the calling account.\n *\n * Roles are often managed via {grantRole} and {revokeRole}: this function's\n * purpose is to provide a mechanism for accounts to lose their privileges\n * if they are compromised (such as when a trusted device is misplaced).\n *\n * If the calling account had been revoked `role`, emits a {RoleRevoked}\n * event.\n *\n * Requirements:\n *\n * - the caller must be `account`.\n *\n * May emit a {RoleRevoked} event.\n */\n function renounceRole(bytes32 role, address account) public virtual override {\n require(account == _msgSender(), \"AccessControl: can only renounce roles for self\");\n\n _revokeRole(role, account);\n }\n\n /**\n * @dev Grants `role` to `account`.\n *\n * If `account` had not been already granted `role`, emits a {RoleGranted}\n * event. Note that unlike {grantRole}, this function doesn't perform any\n * checks on the calling account.\n *\n * May emit a {RoleGranted} event.\n *\n * [WARNING]\n * ====\n * This function should only be called from the constructor when setting\n * up the initial roles for the system.\n *\n * Using this function in any other way is effectively circumventing the admin\n * system imposed by {AccessControl}.\n * ====\n *\n * NOTE: This function is deprecated in favor of {_grantRole}.\n */\n function _setupRole(bytes32 role, address account) internal virtual {\n _grantRole(role, account);\n }\n\n /**\n * @dev Sets `adminRole` as ``role``'s admin role.\n *\n * Emits a {RoleAdminChanged} event.\n */\n function _setRoleAdmin(bytes32 role, bytes32 adminRole) internal virtual {\n bytes32 previousAdminRole = getRoleAdmin(role);\n _roles[role].adminRole = adminRole;\n emit RoleAdminChanged(role, previousAdminRole, adminRole);\n }\n\n /**\n * @dev Grants `role` to `account`.\n *\n * Internal function without access restriction.\n *\n * May emit a {RoleGranted} event.\n */\n function _grantRole(bytes32 role, address account) internal virtual {\n if (!hasRole(role, account)) {\n _roles[role].members[account] = true;\n emit RoleGranted(role, account, _msgSender());\n }\n }\n\n /**\n * @dev Revokes `role` from `account`.\n *\n * Internal function without access restriction.\n *\n * May emit a {RoleRevoked} event.\n */\n function _revokeRole(bytes32 role, address account) internal virtual {\n if (hasRole(role, account)) {\n _roles[role].members[account] = false;\n emit RoleRevoked(role, account, _msgSender());\n }\n }\n}\n" + }, + "@openzeppelin/contracts/access/IAccessControl.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (access/IAccessControl.sol)\n\npragma solidity ^0.8.0;\n\n/**\n * @dev External interface of AccessControl declared to support ERC165 detection.\n */\ninterface IAccessControl {\n /**\n * @dev Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole`\n *\n * `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite\n * {RoleAdminChanged} not being emitted signaling this.\n *\n * _Available since v3.1._\n */\n event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole);\n\n /**\n * @dev Emitted when `account` is granted `role`.\n *\n * `sender` is the account that originated the contract call, an admin role\n * bearer except when using {AccessControl-_setupRole}.\n */\n event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender);\n\n /**\n * @dev Emitted when `account` is revoked `role`.\n *\n * `sender` is the account that originated the contract call:\n * - if using `revokeRole`, it is the admin role bearer\n * - if using `renounceRole`, it is the role bearer (i.e. `account`)\n */\n event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender);\n\n /**\n * @dev Returns `true` if `account` has been granted `role`.\n */\n function hasRole(bytes32 role, address account) external view returns (bool);\n\n /**\n * @dev Returns the admin role that controls `role`. See {grantRole} and\n * {revokeRole}.\n *\n * To change a role's admin, use {AccessControl-_setRoleAdmin}.\n */\n function getRoleAdmin(bytes32 role) external view returns (bytes32);\n\n /**\n * @dev Grants `role` to `account`.\n *\n * If `account` had not been already granted `role`, emits a {RoleGranted}\n * event.\n *\n * Requirements:\n *\n * - the caller must have ``role``'s admin role.\n */\n function grantRole(bytes32 role, address account) external;\n\n /**\n * @dev Revokes `role` from `account`.\n *\n * If `account` had been granted `role`, emits a {RoleRevoked} event.\n *\n * Requirements:\n *\n * - the caller must have ``role``'s admin role.\n */\n function revokeRole(bytes32 role, address account) external;\n\n /**\n * @dev Revokes `role` from the calling account.\n *\n * Roles are often managed via {grantRole} and {revokeRole}: this function's\n * purpose is to provide a mechanism for accounts to lose their privileges\n * if they are compromised (such as when a trusted device is misplaced).\n *\n * If the calling account had been granted `role`, emits a {RoleRevoked}\n * event.\n *\n * Requirements:\n *\n * - the caller must be `account`.\n */\n function renounceRole(bytes32 role, address account) external;\n}\n" + }, + "@openzeppelin/contracts/utils/Context.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (utils/Context.sol)\n\npragma solidity ^0.8.0;\n\n/**\n * @dev Provides information about the current execution context, including the\n * sender of the transaction and its data. While these are generally available\n * via msg.sender and msg.data, they should not be accessed in such a direct\n * manner, since when dealing with meta-transactions the account sending and\n * paying for execution may not be the actual sender (as far as an application\n * is concerned).\n *\n * This contract is only required for intermediate, library-like contracts.\n */\nabstract contract Context {\n function _msgSender() internal view virtual returns (address) {\n return msg.sender;\n }\n\n function _msgData() internal view virtual returns (bytes calldata) {\n return msg.data;\n }\n}\n" + }, + "@openzeppelin/contracts/utils/introspection/ERC165.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (utils/introspection/ERC165.sol)\n\npragma solidity ^0.8.0;\n\nimport \"./IERC165.sol\";\n\n/**\n * @dev Implementation of the {IERC165} interface.\n *\n * Contracts that want to implement ERC165 should inherit from this contract and override {supportsInterface} to check\n * for the additional interface id that will be supported. For example:\n *\n * ```solidity\n * function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {\n * return interfaceId == type(MyInterface).interfaceId || super.supportsInterface(interfaceId);\n * }\n * ```\n *\n * Alternatively, {ERC165Storage} provides an easier to use but more expensive implementation.\n */\nabstract contract ERC165 is IERC165 {\n /**\n * @dev See {IERC165-supportsInterface}.\n */\n function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {\n return interfaceId == type(IERC165).interfaceId;\n }\n}\n" + }, + "@openzeppelin/contracts/utils/introspection/IERC165.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (utils/introspection/IERC165.sol)\n\npragma solidity ^0.8.0;\n\n/**\n * @dev Interface of the ERC165 standard, as defined in the\n * https://eips.ethereum.org/EIPS/eip-165[EIP].\n *\n * Implementers can declare support of contract interfaces, which can then be\n * queried by others ({ERC165Checker}).\n *\n * For an implementation, see {ERC165}.\n */\ninterface IERC165 {\n /**\n * @dev Returns true if this contract implements the interface defined by\n * `interfaceId`. See the corresponding\n * https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section]\n * to learn more about how these ids are created.\n *\n * This function call must use less than 30 000 gas.\n */\n function supportsInterface(bytes4 interfaceId) external view returns (bool);\n}\n" + }, + "@openzeppelin/contracts/utils/Strings.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.7.0) (utils/Strings.sol)\n\npragma solidity ^0.8.0;\n\n/**\n * @dev String operations.\n */\nlibrary Strings {\n bytes16 private constant _HEX_SYMBOLS = \"0123456789abcdef\";\n uint8 private constant _ADDRESS_LENGTH = 20;\n\n /**\n * @dev Converts a `uint256` to its ASCII `string` decimal representation.\n */\n function toString(uint256 value) internal pure returns (string memory) {\n // Inspired by OraclizeAPI's implementation - MIT licence\n // https://github.com/oraclize/ethereum-api/blob/b42146b063c7d6ee1358846c198246239e9360e8/oraclizeAPI_0.4.25.sol\n\n if (value == 0) {\n return \"0\";\n }\n uint256 temp = value;\n uint256 digits;\n while (temp != 0) {\n digits++;\n temp /= 10;\n }\n bytes memory buffer = new bytes(digits);\n while (value != 0) {\n digits -= 1;\n buffer[digits] = bytes1(uint8(48 + uint256(value % 10)));\n value /= 10;\n }\n return string(buffer);\n }\n\n /**\n * @dev Converts a `uint256` to its ASCII `string` hexadecimal representation.\n */\n function toHexString(uint256 value) internal pure returns (string memory) {\n if (value == 0) {\n return \"0x00\";\n }\n uint256 temp = value;\n uint256 length = 0;\n while (temp != 0) {\n length++;\n temp >>= 8;\n }\n return toHexString(value, length);\n }\n\n /**\n * @dev Converts a `uint256` to its ASCII `string` hexadecimal representation with fixed length.\n */\n function toHexString(uint256 value, uint256 length) internal pure returns (string memory) {\n bytes memory buffer = new bytes(2 * length + 2);\n buffer[0] = \"0\";\n buffer[1] = \"x\";\n for (uint256 i = 2 * length + 1; i > 1; --i) {\n buffer[i] = _HEX_SYMBOLS[value & 0xf];\n value >>= 4;\n }\n require(value == 0, \"Strings: hex length insufficient\");\n return string(buffer);\n }\n\n /**\n * @dev Converts an `address` with fixed length of 20 bytes to its not checksummed ASCII `string` hexadecimal representation.\n */\n function toHexString(address addr) internal pure returns (string memory) {\n return toHexString(uint256(uint160(addr)), _ADDRESS_LENGTH);\n }\n}\n" + }, + "src/contracts/adapters/SyncSwapAdapter.sol": { + "content": "// ╟╗ ╔╬\n// ╞╬╬ ╬╠╬\n// ╔╣╬╬╬ ╠╠╠╠╦\n// ╬╬╬╬╬╩ ╘╠╠╠╠╬\n// ║╬╬╬╬╬ ╘╠╠╠╠╬\n// ╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╒╬╬╬╬╬╬╬╜ ╠╠╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╬╬╬╬╬╬╬╬╠╠╠╠╠╠╠╠\n// ╙╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╕ ╬╬╬╬╬╬╬╜ ╣╠╠╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╬╬╬╬╬╬╬╬╬╠╠╠╠╠╠╠╩\n// ╙╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╔╬╬╬╬╬╬╬ ╔╠╠╠╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╣╬╬╬╬╬╬╬╬╬╬╬╠╠╠╠╝╙\n// ╘╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╒╠╠╠╬╠╬╩╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╣╬╬╬╬╬╬╬╙\n// ╣╬╬╬╬╬╬╬╬╬╬╠╣ ╣╬╠╠╠╬╩ ╚╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬\n// ╣╬╬╬╬╬╬╬╬╬╣ ╣╬╠╠╠╬╬ ╣╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬\n// ╟╬╬╬╬╬╬╬╩ ╬╬╠╠╠╠╬╬╬╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╠╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╒╬╬╠╠╬╠╠╬╬╬╬╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╣╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╬╬╬╠╠╠╠╝╝╝╝╝╝╝╠╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╚╬╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╣╬╬╬╬╠╠╩ ╘╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╙╬╬╬╬╬╬╬╬\n//\n\n// SPDX-License-Identifier: GPL-3.0-only\npragma solidity ^0.8.0;\n\nimport \"../interface/IERC20.sol\";\nimport \"../lib/SafeERC20.sol\";\nimport \"../YakAdapter.sol\";\n\ninterface IFactory {\n function getPool(address, address) external view returns (address);\n}\n\ninterface IPair {\n function getAmountOut(address, uint, address) external view returns (uint256);\n\n function swap(\n bytes calldata data,\n address sender,\n address callback,\n bytes calldata callbackData\n ) external returns (address token, uint amount);\n}\n\ninterface IVault {\n function deposit(address token, address to) external returns (uint amount);\n}\n\ncontract SyncSwapAdapter is YakAdapter {\n using SafeERC20 for IERC20;\n\n uint8 constant WITHDRAW_MODE = 2; // receive WETH\n\n address immutable FACTORY;\n address immutable STABLE_FACTORY;\n address immutable VAULT;\n\n constructor(\n string memory _name,\n address _factory,\n address _stableFactory,\n address _vault,\n uint256 _swapGasEstimate\n ) YakAdapter(_name, _swapGasEstimate) {\n FACTORY = _factory;\n STABLE_FACTORY = _stableFactory;\n VAULT = _vault;\n }\n\n function _getQuoteAndPair(\n uint256 _amountIn,\n address _tokenIn,\n address _tokenOut\n ) internal view returns (uint256 amountOut, address pair) {\n pair = IFactory(FACTORY).getPool(_tokenIn, _tokenOut);\n if (pair > address(0)) amountOut = IPair(pair).getAmountOut(_tokenIn, _amountIn, address(this));\n\n address stablePair = IFactory(STABLE_FACTORY).getPool(_tokenIn, _tokenOut);\n if (stablePair > address(0)) {\n uint256 amountOutStable = IPair(stablePair).getAmountOut(_tokenIn, _amountIn, address(this));\n if (amountOutStable > amountOut) {\n amountOut = amountOutStable;\n pair = stablePair;\n }\n }\n }\n\n function _query(\n uint256 _amountIn,\n address _tokenIn,\n address _tokenOut\n ) internal view override returns (uint256 amountOut) {\n if (_tokenIn != _tokenOut && _amountIn != 0) (amountOut, ) = _getQuoteAndPair(_amountIn, _tokenIn, _tokenOut);\n }\n\n function _swap(\n uint256 _amountIn,\n uint256 _amountOut,\n address _tokenIn,\n address _tokenOut,\n address _to\n ) internal override {\n (uint256 amountOut, address pair) = _getQuoteAndPair(_amountIn, _tokenIn, _tokenOut);\n require(amountOut >= _amountOut, \"Insufficent amount out\");\n IERC20(_tokenIn).safeTransfer(VAULT, _amountIn);\n IVault(VAULT).deposit(_tokenIn, pair);\n bytes memory data = abi.encode(_tokenIn, _tokenOut, WITHDRAW_MODE);\n IPair(pair).swap(data, address(this), address(0), \"\");\n _returnTo(_tokenOut, amountOut, _to);\n }\n}\n" + }, + "src/contracts/adapters/WNativeAdapter.sol": { + "content": "// ╟╗ ╔╬\n// ╞╬╬ ╬╠╬\n// ╔╣╬╬╬ ╠╠╠╠╦\n// ╬╬╬╬╬╩ ╘╠╠╠╠╬\n// ║╬╬╬╬╬ ╘╠╠╠╠╬\n// ╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╒╬╬╬╬╬╬╬╜ ╠╠╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╬╬╬╬╬╬╬╬╠╠╠╠╠╠╠╠\n// ╙╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╕ ╬╬╬╬╬╬╬╜ ╣╠╠╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╬╬╬╬╬╬╬╬╬╠╠╠╠╠╠╠╩\n// ╙╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╔╬╬╬╬╬╬╬ ╔╠╠╠╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╣╬╬╬╬╬╬╬╬╬╬╬╠╠╠╠╝╙\n// ╘╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╒╠╠╠╬╠╬╩╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╣╬╬╬╬╬╬╬╙\n// ╣╬╬╬╬╬╬╬╬╬╬╠╣ ╣╬╠╠╠╬╩ ╚╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬\n// ╣╬╬╬╬╬╬╬╬╬╣ ╣╬╠╠╠╬╬ ╣╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬\n// ╟╬╬╬╬╬╬╬╩ ╬╬╠╠╠╠╬╬╬╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╠╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╒╬╬╠╠╬╠╠╬╬╬╬╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╣╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╬╬╬╠╠╠╠╝╝╝╝╝╝╝╠╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╚╬╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╣╬╬╬╬╠╠╩ ╘╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╙╬╬╬╬╬╬╬╬\n//\n//\n\n// SPDX-License-Identifier: GPL-3.0-only\npragma solidity ^0.8.0;\n\nimport \"../YakAdapter.sol\";\n\ncontract WNativeAdapter is YakAdapter {\n address internal immutable WNATIVE;\n\n constructor(\n address _wNative,\n uint256 _swapGasEstimate\n ) YakAdapter(\"WNativeAdapter\", _swapGasEstimate) {\n WNATIVE = _wNative;\n setSwapGasEstimate(_swapGasEstimate);\n }\n\n function _query(\n uint256 _amountIn,\n address _tokenIn,\n address _tokenOut\n ) internal view override returns (uint256 amountOut) {\n if (_tokenIn == WNATIVE && _tokenOut == WNATIVE)\n amountOut = _amountIn;\n }\n\n function _swap(\n uint256 _amountIn,\n uint256,\n address,\n address _tokenOut,\n address _to\n ) internal override {\n _returnTo(_tokenOut, _amountIn, _to);\n }\n}\n" + }, + "src/contracts/interface/IERC20.sol": { + "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\n\ninterface IERC20 {\n event Approval(address, address, uint256);\n event Transfer(address, address, uint256);\n\n function name() external view returns (string memory);\n\n function decimals() external view returns (uint8);\n\n function transferFrom(\n address,\n address,\n uint256\n ) external returns (bool);\n\n function allowance(address, address) external view returns (uint256);\n\n function approve(address, uint256) external returns (bool);\n\n function transfer(address, uint256) external returns (bool);\n\n function balanceOf(address) external view returns (uint256);\n\n function nonces(address) external view returns (uint256); // Only tokens that support permit\n\n function permit(\n address,\n address,\n uint256,\n uint256,\n uint8,\n bytes32,\n bytes32\n ) external; // Only tokens that support permit\n\n function swap(address, uint256) external; // Only Avalanche bridge tokens\n\n function swapSupply(address) external view returns (uint256); // Only Avalanche bridge tokens\n\n function totalSupply() external view returns (uint256);\n}\n" + }, + "src/contracts/lib/Maintainable.sol": { + "content": "// SPDX-License-Identifier: MIT\n\npragma solidity ^0.8.0;\n\nimport \"@openzeppelin/contracts/access/AccessControl.sol\";\n\n/**\n * @dev Contract module which extends the basic access control mechanism of Ownable\n * to include many maintainers, whom only the owner (DEFAULT_ADMIN_ROLE) may add and\n * remove.\n *\n * By default, the owner account will be the one that deploys the contract. This can\n * later be changed with {transferOwnership}.\n *\n * This module is used through inheritance. It will make available this modifier:\n * `onlyMaintainer`, which can be applied to your functions to restrict their use to\n * the accounts with the role of maintainer.\n */\n\nabstract contract Maintainable is Context, AccessControl {\n bytes32 public constant MAINTAINER_ROLE = keccak256(\"MAINTAINER_ROLE\");\n\n constructor() {\n address msgSender = _msgSender();\n // members of the DEFAULT_ADMIN_ROLE alone may revoke and grant role membership\n _setupRole(DEFAULT_ADMIN_ROLE, msgSender);\n _setupRole(MAINTAINER_ROLE, msgSender);\n }\n\n function addMaintainer(address addedMaintainer) public virtual {\n grantRole(MAINTAINER_ROLE, addedMaintainer);\n }\n\n function removeMaintainer(address removedMaintainer) public virtual {\n revokeRole(MAINTAINER_ROLE, removedMaintainer);\n }\n\n function renounceRole(bytes32 role) public virtual {\n address msgSender = _msgSender();\n renounceRole(role, msgSender);\n }\n\n function transferOwnership(address newOwner) public virtual {\n address msgSender = _msgSender();\n grantRole(DEFAULT_ADMIN_ROLE, newOwner);\n renounceRole(DEFAULT_ADMIN_ROLE, msgSender);\n }\n\n modifier onlyMaintainer() {\n address msgSender = _msgSender();\n require(hasRole(MAINTAINER_ROLE, msgSender), \"Maintainable: Caller is not a maintainer\");\n _;\n }\n}\n" + }, + "src/contracts/lib/SafeERC20.sol": { + "content": "// This is a simplified version of OpenZepplin's SafeERC20 library\n// SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\npragma experimental ABIEncoderV2;\n\nimport \"../interface/IERC20.sol\";\n\n/**\n * @title SafeERC20\n * @dev Wrappers around ERC20 operations that throw on failure (when the token\n * contract returns false). Tokens that return no value (and instead revert or\n * throw on failure) are also supported, non-reverting calls are assumed to be\n * successful.\n * To use this library you can add a `using SafeERC20 for ERC20;` statement to your contract,\n * which allows you to call the safe operations as `token.safeTransfer(...)`, etc.\n */\nlibrary SafeERC20 {\n function safeTransfer(\n IERC20 token,\n address to,\n uint256 value\n ) internal {\n _callOptionalReturn(token, abi.encodeWithSelector(token.transfer.selector, to, value));\n }\n\n function safeTransferFrom(\n IERC20 token,\n address from,\n address to,\n uint256 value\n ) internal {\n _callOptionalReturn(token, abi.encodeWithSelector(token.transferFrom.selector, from, to, value));\n }\n\n function safeApprove(\n IERC20 token,\n address spender,\n uint256 value\n ) internal {\n // safeApprove should only be called when setting an initial allowance,\n // or when resetting it to zero. To increase and decrease it, use\n // 'safeIncreaseAllowance' and 'safeDecreaseAllowance'\n // solhint-disable-next-line max-line-length\n require(\n (value == 0) || (token.allowance(address(this), spender) == 0),\n \"SafeERC20: approve from non-zero to non-zero allowance\"\n );\n _callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, value));\n }\n\n /**\n * @dev Imitates a Solidity high-level call (i.e. a regular function call to a contract), relaxing the requirement\n * on the return value: the return value is optional (but if data is returned, it must not be false).\n * @param token The token targeted by the call.\n * @param data The call data (encoded using abi.encode or one of its variants).\n */\n function _callOptionalReturn(IERC20 token, bytes memory data) private {\n // We need to perform a low level call here, to bypass Solidity's return data size checking mechanism, since\n // we're implementing it ourselves.\n\n // A Solidity high level call has three parts:\n // 1. The target address is checked to verify it contains contract code\n // 2. The call itself is made, and success asserted\n // 3. The return value is decoded, which in turn checks the size of the returned data.\n // solhint-disable-next-line max-line-length\n\n // solhint-disable-next-line avoid-low-level-calls\n (bool success, bytes memory returndata) = address(token).call(data);\n require(success, \"SafeERC20: low-level call failed\");\n\n if (returndata.length > 0) {\n // Return data is optional\n // solhint-disable-next-line max-line-length\n require(abi.decode(returndata, (bool)), \"SafeERC20: ERC20 operation did not succeed\");\n }\n }\n}\n" + }, + "src/contracts/YakAdapter.sol": { + "content": "// ╟╗ ╔╬\n// ╞╬╬ ╬╠╬\n// ╔╣╬╬╬ ╠╠╠╠╦\n// ╬╬╬╬╬╩ ╘╠╠╠╠╬\n// ║╬╬╬╬╬ ╘╠╠╠╠╬\n// ╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╒╬╬╬╬╬╬╬╜ ╠╠╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╬╬╬╬╬╬╬╬╠╠╠╠╠╠╠╠\n// ╙╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╕ ╬╬╬╬╬╬╬╜ ╣╠╠╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╬╬╬╬╬╬╬╬╬╠╠╠╠╠╠╠╩\n// ╙╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╔╬╬╬╬╬╬╬ ╔╠╠╠╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╣╬╬╬╬╬╬╬╬╬╬╬╠╠╠╠╝╙\n// ╘╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╒╠╠╠╬╠╬╩╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╣╬╬╬╬╬╬╬╙\n// ╣╬╬╬╬╬╬╬╬╬╬╠╣ ╣╬╠╠╠╬╩ ╚╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬\n// ╣╬╬╬╬╬╬╬╬╬╣ ╣╬╠╠╠╬╬ ╣╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬\n// ╟╬╬╬╬╬╬╬╩ ╬╬╠╠╠╠╬╬╬╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╠╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╒╬╬╠╠╬╠╠╬╬╬╬╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╣╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╬╬╬╠╠╠╠╝╝╝╝╝╝╝╠╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╚╬╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╣╬╬╬╬╠╠╩ ╘╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╙╬╬╬╬╬╬╬╬\n//\n\n// SPDX-License-Identifier: GPL-3.0-only\npragma solidity ^0.8.0;\n\nimport \"./interface/IERC20.sol\";\nimport \"./lib/SafeERC20.sol\";\nimport \"./lib/Maintainable.sol\";\n\nabstract contract YakAdapter is Maintainable {\n using SafeERC20 for IERC20;\n\n event YakAdapterSwap(address indexed _tokenFrom, address indexed _tokenTo, uint256 _amountIn, uint256 _amountOut);\n event UpdatedGasEstimate(address indexed _adapter, uint256 _newEstimate);\n event Recovered(address indexed _asset, uint256 amount);\n\n uint256 internal constant UINT_MAX = type(uint256).max;\n uint256 public swapGasEstimate;\n string public name;\n\n constructor(string memory _name, uint256 _gasEstimate) {\n setName(_name);\n setSwapGasEstimate(_gasEstimate);\n }\n\n function setName(string memory _name) internal {\n require(bytes(_name).length != 0, \"Invalid adapter name\");\n name = _name;\n }\n\n function setSwapGasEstimate(uint256 _estimate) public onlyMaintainer {\n require(_estimate != 0, \"Invalid gas-estimate\");\n swapGasEstimate = _estimate;\n emit UpdatedGasEstimate(address(this), _estimate);\n }\n\n function revokeAllowance(address _token, address _spender) external onlyMaintainer {\n IERC20(_token).safeApprove(_spender, 0);\n }\n\n function recoverERC20(address _tokenAddress, uint256 _tokenAmount) external onlyMaintainer {\n require(_tokenAmount > 0, \"YakAdapter: Nothing to recover\");\n IERC20(_tokenAddress).safeTransfer(msg.sender, _tokenAmount);\n emit Recovered(_tokenAddress, _tokenAmount);\n }\n\n function recoverAVAX(uint256 _amount) external onlyMaintainer {\n require(_amount > 0, \"YakAdapter: Nothing to recover\");\n (bool success, )= msg.sender.call{value: _amount}(\"\");\n require(success, \"Transfer failed.\");\n emit Recovered(address(0), _amount);\n }\n\n function query(\n uint256 _amountIn,\n address _tokenIn,\n address _tokenOut\n ) external view returns (uint256) {\n return _query(_amountIn, _tokenIn, _tokenOut);\n }\n\n function swap(\n uint256 _amountIn,\n uint256 _amountOut,\n address _fromToken,\n address _toToken,\n address _to\n ) external virtual {\n uint256 toBal0 = IERC20(_toToken).balanceOf(_to);\n _swap(_amountIn, _amountOut, _fromToken, _toToken, _to);\n uint256 diff = IERC20(_toToken).balanceOf(_to) - toBal0;\n require(diff >= _amountOut, \"Insufficient amount-out\");\n emit YakAdapterSwap(_fromToken, _toToken, _amountIn, _amountOut);\n }\n\n function _returnTo(\n address _token,\n uint256 _amount,\n address _to\n ) internal {\n if (address(this) != _to) IERC20(_token).safeTransfer(_to, _amount);\n }\n\n function _swap(\n uint256 _amountIn,\n uint256 _amountOut,\n address _fromToken,\n address _toToken,\n address _to\n ) internal virtual;\n\n function _query(\n uint256 _amountIn,\n address _tokenIn,\n address _tokenOut\n ) internal view virtual returns (uint256);\n\n receive() external payable {}\n}\n" + } + }, + "settings": { + "optimizer": { + "enabled": true, + "mode": "3" + }, + "outputSelection": { + "*": { + "*": [ + "abi", + "evm.methodIdentifiers", + "metadata", + "devdoc", + "userdoc", + "storageLayout" + ], + "": [ + "ast" + ] + } + }, + "metadata": { + "useLiteralContent": true + } + } +} \ No newline at end of file diff --git a/src/deployments/zksync/solcInputs/ba937bbd09cce40de1141f1bc2a91d0b.json b/src/deployments/zksync/solcInputs/ba937bbd09cce40de1141f1bc2a91d0b.json new file mode 100644 index 00000000..e869f7c8 --- /dev/null +++ b/src/deployments/zksync/solcInputs/ba937bbd09cce40de1141f1bc2a91d0b.json @@ -0,0 +1,314 @@ +{ + "language": "Solidity", + "sources": { + "@openzeppelin/contracts/access/AccessControl.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.7.0) (access/AccessControl.sol)\n\npragma solidity ^0.8.0;\n\nimport \"./IAccessControl.sol\";\nimport \"../utils/Context.sol\";\nimport \"../utils/Strings.sol\";\nimport \"../utils/introspection/ERC165.sol\";\n\n/**\n * @dev Contract module that allows children to implement role-based access\n * control mechanisms. This is a lightweight version that doesn't allow enumerating role\n * members except through off-chain means by accessing the contract event logs. Some\n * applications may benefit from on-chain enumerability, for those cases see\n * {AccessControlEnumerable}.\n *\n * Roles are referred to by their `bytes32` identifier. These should be exposed\n * in the external API and be unique. The best way to achieve this is by\n * using `public constant` hash digests:\n *\n * ```\n * bytes32 public constant MY_ROLE = keccak256(\"MY_ROLE\");\n * ```\n *\n * Roles can be used to represent a set of permissions. To restrict access to a\n * function call, use {hasRole}:\n *\n * ```\n * function foo() public {\n * require(hasRole(MY_ROLE, msg.sender));\n * ...\n * }\n * ```\n *\n * Roles can be granted and revoked dynamically via the {grantRole} and\n * {revokeRole} functions. Each role has an associated admin role, and only\n * accounts that have a role's admin role can call {grantRole} and {revokeRole}.\n *\n * By default, the admin role for all roles is `DEFAULT_ADMIN_ROLE`, which means\n * that only accounts with this role will be able to grant or revoke other\n * roles. More complex role relationships can be created by using\n * {_setRoleAdmin}.\n *\n * WARNING: The `DEFAULT_ADMIN_ROLE` is also its own admin: it has permission to\n * grant and revoke this role. Extra precautions should be taken to secure\n * accounts that have been granted it.\n */\nabstract contract AccessControl is Context, IAccessControl, ERC165 {\n struct RoleData {\n mapping(address => bool) members;\n bytes32 adminRole;\n }\n\n mapping(bytes32 => RoleData) private _roles;\n\n bytes32 public constant DEFAULT_ADMIN_ROLE = 0x00;\n\n /**\n * @dev Modifier that checks that an account has a specific role. Reverts\n * with a standardized message including the required role.\n *\n * The format of the revert reason is given by the following regular expression:\n *\n * /^AccessControl: account (0x[0-9a-f]{40}) is missing role (0x[0-9a-f]{64})$/\n *\n * _Available since v4.1._\n */\n modifier onlyRole(bytes32 role) {\n _checkRole(role);\n _;\n }\n\n /**\n * @dev See {IERC165-supportsInterface}.\n */\n function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {\n return interfaceId == type(IAccessControl).interfaceId || super.supportsInterface(interfaceId);\n }\n\n /**\n * @dev Returns `true` if `account` has been granted `role`.\n */\n function hasRole(bytes32 role, address account) public view virtual override returns (bool) {\n return _roles[role].members[account];\n }\n\n /**\n * @dev Revert with a standard message if `_msgSender()` is missing `role`.\n * Overriding this function changes the behavior of the {onlyRole} modifier.\n *\n * Format of the revert message is described in {_checkRole}.\n *\n * _Available since v4.6._\n */\n function _checkRole(bytes32 role) internal view virtual {\n _checkRole(role, _msgSender());\n }\n\n /**\n * @dev Revert with a standard message if `account` is missing `role`.\n *\n * The format of the revert reason is given by the following regular expression:\n *\n * /^AccessControl: account (0x[0-9a-f]{40}) is missing role (0x[0-9a-f]{64})$/\n */\n function _checkRole(bytes32 role, address account) internal view virtual {\n if (!hasRole(role, account)) {\n revert(\n string(\n abi.encodePacked(\n \"AccessControl: account \",\n Strings.toHexString(uint160(account), 20),\n \" is missing role \",\n Strings.toHexString(uint256(role), 32)\n )\n )\n );\n }\n }\n\n /**\n * @dev Returns the admin role that controls `role`. See {grantRole} and\n * {revokeRole}.\n *\n * To change a role's admin, use {_setRoleAdmin}.\n */\n function getRoleAdmin(bytes32 role) public view virtual override returns (bytes32) {\n return _roles[role].adminRole;\n }\n\n /**\n * @dev Grants `role` to `account`.\n *\n * If `account` had not been already granted `role`, emits a {RoleGranted}\n * event.\n *\n * Requirements:\n *\n * - the caller must have ``role``'s admin role.\n *\n * May emit a {RoleGranted} event.\n */\n function grantRole(bytes32 role, address account) public virtual override onlyRole(getRoleAdmin(role)) {\n _grantRole(role, account);\n }\n\n /**\n * @dev Revokes `role` from `account`.\n *\n * If `account` had been granted `role`, emits a {RoleRevoked} event.\n *\n * Requirements:\n *\n * - the caller must have ``role``'s admin role.\n *\n * May emit a {RoleRevoked} event.\n */\n function revokeRole(bytes32 role, address account) public virtual override onlyRole(getRoleAdmin(role)) {\n _revokeRole(role, account);\n }\n\n /**\n * @dev Revokes `role` from the calling account.\n *\n * Roles are often managed via {grantRole} and {revokeRole}: this function's\n * purpose is to provide a mechanism for accounts to lose their privileges\n * if they are compromised (such as when a trusted device is misplaced).\n *\n * If the calling account had been revoked `role`, emits a {RoleRevoked}\n * event.\n *\n * Requirements:\n *\n * - the caller must be `account`.\n *\n * May emit a {RoleRevoked} event.\n */\n function renounceRole(bytes32 role, address account) public virtual override {\n require(account == _msgSender(), \"AccessControl: can only renounce roles for self\");\n\n _revokeRole(role, account);\n }\n\n /**\n * @dev Grants `role` to `account`.\n *\n * If `account` had not been already granted `role`, emits a {RoleGranted}\n * event. Note that unlike {grantRole}, this function doesn't perform any\n * checks on the calling account.\n *\n * May emit a {RoleGranted} event.\n *\n * [WARNING]\n * ====\n * This function should only be called from the constructor when setting\n * up the initial roles for the system.\n *\n * Using this function in any other way is effectively circumventing the admin\n * system imposed by {AccessControl}.\n * ====\n *\n * NOTE: This function is deprecated in favor of {_grantRole}.\n */\n function _setupRole(bytes32 role, address account) internal virtual {\n _grantRole(role, account);\n }\n\n /**\n * @dev Sets `adminRole` as ``role``'s admin role.\n *\n * Emits a {RoleAdminChanged} event.\n */\n function _setRoleAdmin(bytes32 role, bytes32 adminRole) internal virtual {\n bytes32 previousAdminRole = getRoleAdmin(role);\n _roles[role].adminRole = adminRole;\n emit RoleAdminChanged(role, previousAdminRole, adminRole);\n }\n\n /**\n * @dev Grants `role` to `account`.\n *\n * Internal function without access restriction.\n *\n * May emit a {RoleGranted} event.\n */\n function _grantRole(bytes32 role, address account) internal virtual {\n if (!hasRole(role, account)) {\n _roles[role].members[account] = true;\n emit RoleGranted(role, account, _msgSender());\n }\n }\n\n /**\n * @dev Revokes `role` from `account`.\n *\n * Internal function without access restriction.\n *\n * May emit a {RoleRevoked} event.\n */\n function _revokeRole(bytes32 role, address account) internal virtual {\n if (hasRole(role, account)) {\n _roles[role].members[account] = false;\n emit RoleRevoked(role, account, _msgSender());\n }\n }\n}\n" + }, + "@openzeppelin/contracts/access/IAccessControl.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (access/IAccessControl.sol)\n\npragma solidity ^0.8.0;\n\n/**\n * @dev External interface of AccessControl declared to support ERC165 detection.\n */\ninterface IAccessControl {\n /**\n * @dev Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole`\n *\n * `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite\n * {RoleAdminChanged} not being emitted signaling this.\n *\n * _Available since v3.1._\n */\n event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole);\n\n /**\n * @dev Emitted when `account` is granted `role`.\n *\n * `sender` is the account that originated the contract call, an admin role\n * bearer except when using {AccessControl-_setupRole}.\n */\n event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender);\n\n /**\n * @dev Emitted when `account` is revoked `role`.\n *\n * `sender` is the account that originated the contract call:\n * - if using `revokeRole`, it is the admin role bearer\n * - if using `renounceRole`, it is the role bearer (i.e. `account`)\n */\n event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender);\n\n /**\n * @dev Returns `true` if `account` has been granted `role`.\n */\n function hasRole(bytes32 role, address account) external view returns (bool);\n\n /**\n * @dev Returns the admin role that controls `role`. See {grantRole} and\n * {revokeRole}.\n *\n * To change a role's admin, use {AccessControl-_setRoleAdmin}.\n */\n function getRoleAdmin(bytes32 role) external view returns (bytes32);\n\n /**\n * @dev Grants `role` to `account`.\n *\n * If `account` had not been already granted `role`, emits a {RoleGranted}\n * event.\n *\n * Requirements:\n *\n * - the caller must have ``role``'s admin role.\n */\n function grantRole(bytes32 role, address account) external;\n\n /**\n * @dev Revokes `role` from `account`.\n *\n * If `account` had been granted `role`, emits a {RoleRevoked} event.\n *\n * Requirements:\n *\n * - the caller must have ``role``'s admin role.\n */\n function revokeRole(bytes32 role, address account) external;\n\n /**\n * @dev Revokes `role` from the calling account.\n *\n * Roles are often managed via {grantRole} and {revokeRole}: this function's\n * purpose is to provide a mechanism for accounts to lose their privileges\n * if they are compromised (such as when a trusted device is misplaced).\n *\n * If the calling account had been granted `role`, emits a {RoleRevoked}\n * event.\n *\n * Requirements:\n *\n * - the caller must be `account`.\n */\n function renounceRole(bytes32 role, address account) external;\n}\n" + }, + "@openzeppelin/contracts/utils/Context.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (utils/Context.sol)\n\npragma solidity ^0.8.0;\n\n/**\n * @dev Provides information about the current execution context, including the\n * sender of the transaction and its data. While these are generally available\n * via msg.sender and msg.data, they should not be accessed in such a direct\n * manner, since when dealing with meta-transactions the account sending and\n * paying for execution may not be the actual sender (as far as an application\n * is concerned).\n *\n * This contract is only required for intermediate, library-like contracts.\n */\nabstract contract Context {\n function _msgSender() internal view virtual returns (address) {\n return msg.sender;\n }\n\n function _msgData() internal view virtual returns (bytes calldata) {\n return msg.data;\n }\n}\n" + }, + "@openzeppelin/contracts/utils/introspection/ERC165.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (utils/introspection/ERC165.sol)\n\npragma solidity ^0.8.0;\n\nimport \"./IERC165.sol\";\n\n/**\n * @dev Implementation of the {IERC165} interface.\n *\n * Contracts that want to implement ERC165 should inherit from this contract and override {supportsInterface} to check\n * for the additional interface id that will be supported. For example:\n *\n * ```solidity\n * function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {\n * return interfaceId == type(MyInterface).interfaceId || super.supportsInterface(interfaceId);\n * }\n * ```\n *\n * Alternatively, {ERC165Storage} provides an easier to use but more expensive implementation.\n */\nabstract contract ERC165 is IERC165 {\n /**\n * @dev See {IERC165-supportsInterface}.\n */\n function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {\n return interfaceId == type(IERC165).interfaceId;\n }\n}\n" + }, + "@openzeppelin/contracts/utils/introspection/IERC165.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (utils/introspection/IERC165.sol)\n\npragma solidity ^0.8.0;\n\n/**\n * @dev Interface of the ERC165 standard, as defined in the\n * https://eips.ethereum.org/EIPS/eip-165[EIP].\n *\n * Implementers can declare support of contract interfaces, which can then be\n * queried by others ({ERC165Checker}).\n *\n * For an implementation, see {ERC165}.\n */\ninterface IERC165 {\n /**\n * @dev Returns true if this contract implements the interface defined by\n * `interfaceId`. See the corresponding\n * https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section]\n * to learn more about how these ids are created.\n *\n * This function call must use less than 30 000 gas.\n */\n function supportsInterface(bytes4 interfaceId) external view returns (bool);\n}\n" + }, + "@openzeppelin/contracts/utils/Strings.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.7.0) (utils/Strings.sol)\n\npragma solidity ^0.8.0;\n\n/**\n * @dev String operations.\n */\nlibrary Strings {\n bytes16 private constant _HEX_SYMBOLS = \"0123456789abcdef\";\n uint8 private constant _ADDRESS_LENGTH = 20;\n\n /**\n * @dev Converts a `uint256` to its ASCII `string` decimal representation.\n */\n function toString(uint256 value) internal pure returns (string memory) {\n // Inspired by OraclizeAPI's implementation - MIT licence\n // https://github.com/oraclize/ethereum-api/blob/b42146b063c7d6ee1358846c198246239e9360e8/oraclizeAPI_0.4.25.sol\n\n if (value == 0) {\n return \"0\";\n }\n uint256 temp = value;\n uint256 digits;\n while (temp != 0) {\n digits++;\n temp /= 10;\n }\n bytes memory buffer = new bytes(digits);\n while (value != 0) {\n digits -= 1;\n buffer[digits] = bytes1(uint8(48 + uint256(value % 10)));\n value /= 10;\n }\n return string(buffer);\n }\n\n /**\n * @dev Converts a `uint256` to its ASCII `string` hexadecimal representation.\n */\n function toHexString(uint256 value) internal pure returns (string memory) {\n if (value == 0) {\n return \"0x00\";\n }\n uint256 temp = value;\n uint256 length = 0;\n while (temp != 0) {\n length++;\n temp >>= 8;\n }\n return toHexString(value, length);\n }\n\n /**\n * @dev Converts a `uint256` to its ASCII `string` hexadecimal representation with fixed length.\n */\n function toHexString(uint256 value, uint256 length) internal pure returns (string memory) {\n bytes memory buffer = new bytes(2 * length + 2);\n buffer[0] = \"0\";\n buffer[1] = \"x\";\n for (uint256 i = 2 * length + 1; i > 1; --i) {\n buffer[i] = _HEX_SYMBOLS[value & 0xf];\n value >>= 4;\n }\n require(value == 0, \"Strings: hex length insufficient\");\n return string(buffer);\n }\n\n /**\n * @dev Converts an `address` with fixed length of 20 bytes to its not checksummed ASCII `string` hexadecimal representation.\n */\n function toHexString(address addr) internal pure returns (string memory) {\n return toHexString(uint256(uint160(addr)), _ADDRESS_LENGTH);\n }\n}\n" + }, + "src/contracts/adapters/aAvaxAdapter.sol": { + "content": "// ╟╗ ╔╬\n// ╞╬╬ ╬╠╬\n// ╔╣╬╬╬ ╠╠╠╠╦\n// ╬╬╬╬╬╩ ╘╠╠╠╠╬\n// ║╬╬╬╬╬ ╘╠╠╠╠╬\n// ╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╒╬╬╬╬╬╬╬╜ ╠╠╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╬╬╬╬╬╬╬╬╠╠╠╠╠╠╠╠\n// ╙╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╕ ╬╬╬╬╬╬╬╜ ╣╠╠╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╬╬╬╬╬╬╬╬╬╠╠╠╠╠╠╠╩\n// ╙╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╔╬╬╬╬╬╬╬ ╔╠╠╠╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╣╬╬╬╬╬╬╬╬╬╬╬╠╠╠╠╝╙\n// ╘╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╒╠╠╠╬╠╬╩╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╣╬╬╬╬╬╬╬╙\n// ╣╬╬╬╬╬╬╬╬╬╬╠╣ ╣╬╠╠╠╬╩ ╚╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬\n// ╣╬╬╬╬╬╬╬╬╬╣ ╣╬╠╠╠╬╬ ╣╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬\n// ╟╬╬╬╬╬╬╬╩ ╬╬╠╠╠╠╬╬╬╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╠╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╒╬╬╠╠╬╠╠╬╬╬╬╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╣╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╬╬╬╠╠╠╠╝╝╝╝╝╝╝╠╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╚╬╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╣╬╬╬╬╠╠╩ ╘╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╙╬╬╬╬╬╬╬╬\n//\n//\n\n// SPDX-License-Identifier: GPL-3.0-only\npragma solidity ^0.8.0;\n\nimport \"../interface/ISAVAX.sol\";\nimport \"../lib/SafeERC20.sol\";\nimport \"../YakAdapter.sol\";\n\ninterface IwAVAX {\n function withdraw(uint256) external;\n}\n\n/**\n * @notice wAVAX -> sAVAX\n **/\ncontract SAvaxAdapter is YakAdapter {\n using SafeERC20 for IERC20;\n\n address public constant SAVAX = 0x2b2C81e08f1Af8835a78Bb2A90AE924ACE0eA4bE;\n address public constant WAVAX = 0xB31f66AA3C1e785363F0875A1B74E27b85FD66c7;\n\n constructor(uint256 _swapGasEstimate) YakAdapter(\"SAvaxAdapter\", _swapGasEstimate) {\n _setAllowances();\n }\n\n function _query(\n uint256 _amountIn,\n address _tokenIn,\n address _tokenOut\n ) internal view override returns (uint256 amountOut) {\n if (_tokenIn == WAVAX && _tokenOut == SAVAX && !ISAVAX(SAVAX).mintingPaused() && !_exceedsCap(_amountIn)) {\n amountOut = ISAVAX(SAVAX).getSharesByPooledAvax(_amountIn);\n }\n }\n\n function _swap(\n uint256 _amountIn,\n uint256 _amountOut,\n address,\n address _tokenOut,\n address _to\n ) internal override {\n IwAVAX(WAVAX).withdraw(_amountIn);\n uint256 shares = ISAVAX(SAVAX).submit{ value: _amountIn }();\n require(shares >= _amountOut, \"YakAdapter: Amount-out too low\");\n _returnTo(_tokenOut, shares, _to);\n }\n\n function _exceedsCap(uint256 _amountIn) internal view returns (bool) {\n uint256 newBal = ISAVAX(SAVAX).totalPooledAvax() + _amountIn; // Assume U256::max won't be reached\n return newBal > ISAVAX(SAVAX).totalPooledAvaxCap();\n }\n\n function _setAllowances() internal {\n IERC20(WAVAX).safeApprove(WAVAX, UINT_MAX);\n }\n}\n" + }, + "src/contracts/adapters/AlgebraAdapter.sol": { + "content": "// ╟╗ ╔╬\n// ╞╬╬ ╬╠╬\n// ╔╣╬╬╬ ╠╠╠╠╦\n// ╬╬╬╬╬╩ ╘╠╠╠╠╬\n// ║╬╬╬╬╬ ╘╠╠╠╠╬\n// ╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╒╬╬╬╬╬╬╬╜ ╠╠╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╬╬╬╬╬╬╬╬╠╠╠╠╠╠╠╠\n// ╙╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╕ ╬╬╬╬╬╬╬╜ ╣╠╠╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╬╬╬╬╬╬╬╬╬╠╠╠╠╠╠╠╩\n// ╙╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╔╬╬╬╬╬╬╬ ╔╠╠╠╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╣╬╬╬╬╬╬╬╬╬╬╬╠╠╠╠╝╙\n// ╘╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╒╠╠╠╬╠╬╩╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╣╬╬╬╬╬╬╬╙\n// ╣╬╬╬╬╬╬╬╬╬╬╠╣ ╣╬╠╠╠╬╩ ╚╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬\n// ╣╬╬╬╬╬╬╬╬╬╣ ╣╬╠╠╠╬╬ ╣╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬\n// ╟╬╬╬╬╬╬╬╩ ╬╬╠╠╠╠╬╬╬╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╠╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╒╬╬╠╠╬╠╠╬╬╬╬╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╣╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╬╬╬╠╠╠╠╝╝╝╝╝╝╝╠╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╚╬╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╣╬╬╬╬╠╠╩ ╘╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╙╬╬╬╬╬╬╬╬\n//\n\n// SPDX-License-Identifier: GPL-3.0-only\npragma solidity ^0.8.0;\n\nimport \"./UniswapV3likeAdapter.sol\";\n\ninterface IAlgebraFactory {\n function poolByPair(address, address) external view returns (address);\n}\n\ncontract AlgebraAdapter is UniswapV3likeAdapter {\n using SafeERC20 for IERC20;\n\n address immutable FACTORY;\n\n constructor(\n string memory _name,\n uint256 _swapGasEstimate,\n uint256 _quoterGasLimit,\n address _quoter,\n address _factory\n ) UniswapV3likeAdapter(_name, _swapGasEstimate, _quoter, _quoterGasLimit) {\n FACTORY = _factory;\n }\n\n function getBestPool(\n address token0, \n address token1\n ) internal view override returns (address mostLiquid) {\n return IAlgebraFactory(FACTORY).poolByPair(token0, token1);\n }\n\n function algebraSwapCallback(\n int256 amount0Delta,\n int256 amount1Delta,\n bytes calldata\n ) external {\n if (amount0Delta > 0) {\n IERC20(IUniV3Pool(msg.sender).token0()).transfer(msg.sender, uint256(amount0Delta));\n } else {\n IERC20(IUniV3Pool(msg.sender).token1()).transfer(msg.sender, uint256(amount1Delta));\n }\n }\n}\n" + }, + "src/contracts/adapters/ArableSFAdapter.sol": { + "content": "// ╟╗ ╔╬\n// ╞╬╬ ╬╠╬\n// ╔╣╬╬╬ ╠╠╠╠╦\n// ╬╬╬╬╬╩ ╘╠╠╠╠╬\n// ║╬╬╬╬╬ ╘╠╠╠╠╬\n// ╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╒╬╬╬╬╬╬╬╜ ╠╠╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╬╬╬╬╬╬╬╬╠╠╠╠╠╠╠╠\n// ╙╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╕ ╬╬╬╬╬╬╬╜ ╣╠╠╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╬╬╬╬╬╬╬╬╬╠╠╠╠╠╠╠╩\n// ╙╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╔╬╬╬╬╬╬╬ ╔╠╠╠╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╣╬╬╬╬╬╬╬╬╬╬╬╠╠╠╠╝╙\n// ╘╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╒╠╠╠╬╠╬╩╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╣╬╬╬╬╬╬╬╙\n// ╣╬╬╬╬╬╬╬╬╬╬╠╣ ╣╬╠╠╠╬╩ ╚╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬\n// ╣╬╬╬╬╬╬╬╬╬╣ ╣╬╠╠╠╬╬ ╣╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬\n// ╟╬╬╬╬╬╬╬╩ ╬╬╠╠╠╠╬╬╬╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╠╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╒╬╬╠╠╬╠╠╬╬╬╬╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╣╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╬╬╬╠╠╠╠╝╝╝╝╝╝╝╠╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╚╬╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╣╬╬╬╬╠╠╩ ╘╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╙╬╬╬╬╬╬╬╬\n//\n\n// SPDX-License-Identifier: GPL-3.0-only\n\npragma solidity ^0.8.0;\n\nimport \"../interface/IStabilityFund.sol\";\nimport \"../interface/IERC20.sol\";\nimport \"../lib/SafeERC20.sol\";\nimport \"../YakAdapter.sol\";\n\ncontract ArableSFAdapter is YakAdapter {\n using SafeERC20 for IERC20;\n\n address public vault;\n mapping(address => uint256) public tokenDecimals;\n\n constructor(\n string memory _name,\n address _vault,\n uint256 _swapGasEstimate\n ) YakAdapter(_name, _swapGasEstimate) {\n vault = _vault;\n setPoolTokens();\n }\n\n function setPoolTokens() public {\n uint256 whitelistedTknsLen = IStabilityFund(vault).getStableTokensCount();\n for (uint256 i = 0; i < whitelistedTknsLen; i++) {\n address token = IStabilityFund(vault).getStableTokens()[i];\n tokenDecimals[token] = IERC20(token).decimals();\n uint256 allowance = IERC20(token).allowance(address(this), vault);\n if (allowance < UINT_MAX) {\n IERC20(token).safeApprove(vault, UINT_MAX);\n }\n }\n }\n\n function adjustForDecimals(\n uint256 _amount,\n address _tokenDiv,\n address _tokenMul\n ) internal view returns (uint256) {\n uint256 decimalsDiv = tokenDecimals[_tokenDiv];\n uint256 decimalsMul = tokenDecimals[_tokenMul];\n return (_amount * 10**decimalsMul) / 10**decimalsDiv;\n }\n\n function hasVaultEnoughBal(address _token, uint256 _amount) private view returns (bool) {\n return IERC20(_token).balanceOf(vault) >= _amount;\n }\n\n function _query(\n uint256 _amountIn,\n address _tokenIn,\n address _tokenOut\n ) internal view override returns (uint256) {\n if (\n _amountIn == 0 ||\n _tokenIn == _tokenOut ||\n !IStabilityFund(vault).isStableToken(_tokenIn) ||\n !IStabilityFund(vault).isStableToken(_tokenOut) ||\n IStabilityFund(vault).isTokenDisabled(_tokenIn) ||\n IStabilityFund(vault).isTokenDisabled(_tokenOut) ||\n !IStabilityFund(vault).swapEnabled()\n ) {\n return 0;\n }\n\n uint256 amountOut = adjustForDecimals(_amountIn, _tokenIn, _tokenOut);\n uint256 swapFee = IStabilityFund(vault).swapFee();\n uint256 swapFeeDivisor = 1 ether;\n uint256 feeAmount = (amountOut * swapFee) / swapFeeDivisor;\n uint256 amountOutAfterFees = amountOut - feeAmount;\n if (!hasVaultEnoughBal(_tokenOut, amountOutAfterFees)) {\n return 0;\n }\n\n return amountOutAfterFees;\n }\n\n function _swap(\n uint256 _amountIn,\n uint256 _amountOut,\n address _tokenIn,\n address _tokenOut,\n address _to\n ) internal override {\n IStabilityFund(vault).swap(_tokenIn, _amountIn, _tokenOut);\n // Confidently transfer amount-out\n _returnTo(_tokenOut, _amountOut, _to);\n }\n}\n" + }, + "src/contracts/adapters/BalancerV2Adapter.sol": { + "content": "// ╟╗ ╔╬\n// ╞╬╬ ╬╠╬\n// ╔╣╬╬╬ ╠╠╠╠╦\n// ╬╬╬╬╬╩ ╘╠╠╠╠╬\n// ║╬╬╬╬╬ ╘╠╠╠╠╬\n// ╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╒╬╬╬╬╬╬╬╜ ╠╠╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╬╬╬╬╬╬╬╬╠╠╠╠╠╠╠╠\n// ╙╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╕ ╬╬╬╬╬╬╬╜ ╣╠╠╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╬╬╬╬╬╬╬╬╬╠╠╠╠╠╠╠╩\n// ╙╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╔╬╬╬╬╬╬╬ ╔╠╠╠╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╣╬╬╬╬╬╬╬╬╬╬╬╠╠╠╠╝╙\n// ╘╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╒╠╠╠╬╠╬╩╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╣╬╬╬╬╬╬╬╙\n// ╣╬╬╬╬╬╬╬╬╬╬╠╣ ╣╬╠╠╠╬╩ ╚╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬\n// ╣╬╬╬╬╬╬╬╬╬╣ ╣╬╠╠╠╬╬ ╣╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬\n// ╟╬╬╬╬╬╬╬╩ ╬╬╠╠╠╠╬╬╬╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╠╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╒╬╬╠╠╬╠╠╬╬╬╬╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╣╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╬╬╬╠╠╠╠╝╝╝╝╝╝╝╠╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╚╬╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╣╬╬╬╬╠╠╩ ╘╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╙╬╬╬╬╬╬╬╬\n//\n\n// Supports Balancerlike pools\n\n// SPDX-License-Identifier: GPL-3.0-only\npragma solidity ^0.8.0;\nimport \"../YakAdapter.sol\";\nimport \"../interface/IVault.sol\";\nimport \"../interface/IBasePool.sol\";\nimport \"../interface/IMinimalSwapInfoPool.sol\";\n\ncontract BalancerV2Adapter is YakAdapter {\n using SafeERC20 for IERC20;\n\n address public vault;\n\n mapping(address => mapping(address => uint128)) internal poolToTokenIndex;\n mapping(address => mapping(address => address[])) internal tokensToPools;\n\n constructor(\n string memory _name,\n address _vault,\n address[] memory _pools,\n uint256 _swapGasEstimate\n ) YakAdapter(_name, _swapGasEstimate) {\n vault = _vault;\n addPools(_pools);\n }\n\n function addPools(address[] memory _pools) public onlyMaintainer {\n for (uint128 i = 0; i < _pools.length; i++) {\n address pool = _pools[i];\n bytes32 poolId = IBasePool(pool).getPoolId();\n (IERC20[] memory tokens, , ) = IVault(vault).getPoolTokens(poolId);\n for (uint128 j = 0; j < tokens.length; j++) {\n address token = address(tokens[j]);\n poolToTokenIndex[pool][token] = j;\n for (uint128 k = 0; k < tokens.length; k++) {\n if (j != k) {\n tokensToPools[token][address(tokens[k])].push(pool);\n _approveIfNeeded(token, UINT_MAX);\n }\n }\n }\n }\n }\n\n function removePools(address[] memory _pools) public onlyMaintainer {\n for (uint256 i = 0; i < _pools.length; i++) {\n address pool = _pools[i];\n bytes32 poolId = IBasePool(pool).getPoolId();\n (IERC20[] memory tokens, , ) = IVault(vault).getPoolTokens(poolId);\n for (uint128 j = 0; j < tokens.length; j++) {\n address token = address(tokens[j]);\n for (uint128 k = 0; k < tokens.length; k++) {\n if (j != k) {\n address[] memory currentPools = tokensToPools[token][address(tokens[k])];\n for (uint128 l = 0; l < currentPools.length; l++) {\n if (currentPools[l] == pool) {\n delete currentPools[l];\n }\n }\n tokensToPools[token][address(tokens[k])] = currentPools;\n }\n }\n }\n }\n }\n\n function getPools(address tokenIn, address tokenOut) public view returns (address[] memory) {\n return tokensToPools[tokenIn][tokenOut];\n }\n\n function _approveIfNeeded(address _tokenIn, uint256 _amount) internal {\n uint256 allowance = IERC20(_tokenIn).allowance(address(this), vault);\n if (allowance < _amount) {\n IERC20(_tokenIn).safeApprove(vault, _amount);\n }\n }\n\n function _query(\n uint256 _amountIn,\n address _tokenIn,\n address _tokenOut\n ) internal view override returns (uint256) {\n if (_amountIn == 0 || _tokenIn == _tokenOut) {\n return 0;\n }\n\n address[] memory pools = getPools(_tokenIn, _tokenOut);\n if (pools.length == 0) {\n return 0;\n }\n\n (, uint256 amountOut) = _getBestPoolForSwap(pools, _tokenIn, _tokenOut, _amountIn);\n return amountOut;\n }\n\n function _swap(\n uint256 _amountIn,\n uint256 _amountOut,\n address _tokenIn,\n address _tokenOut,\n address to\n ) internal override {\n address[] memory pools = getPools(_tokenIn, _tokenOut);\n\n require(pools.length > 0, \"No pools for swapping\");\n\n (address pool, ) = _getBestPoolForSwap(pools, _tokenIn, _tokenOut, _amountIn);\n\n require(pool != address(0), \"Undefined pool\");\n\n IVault.SingleSwap memory swap;\n swap.poolId = IBasePool(pool).getPoolId();\n swap.kind = IVault.SwapKind.GIVEN_IN;\n swap.assetIn = _tokenIn;\n swap.assetOut = _tokenOut;\n swap.amount = _amountIn;\n swap.userData = \"0x\";\n\n IVault.FundManagement memory fund;\n fund.sender = address(this);\n fund.recipient = payable(to);\n fund.fromInternalBalance = false;\n fund.toInternalBalance = false;\n\n IVault(vault).swap(swap, fund, _amountOut, block.timestamp);\n }\n\n function _getBestPoolForSwap(\n address[] memory pools,\n address _tokenIn,\n address _tokenOut,\n uint256 _amountIn\n ) internal view returns (address bestPool, uint256 amountOut) {\n amountOut = 0;\n bestPool = address(0);\n for (uint128 i; i < pools.length; i++) {\n address pool = pools[i];\n if (pool == address(0)) {\n continue;\n }\n IPoolSwapStructs.SwapRequest memory request;\n request.poolId = IBasePool(pool).getPoolId();\n request.kind = IVault.SwapKind.GIVEN_IN;\n request.tokenIn = IERC20(_tokenIn);\n request.tokenOut = IERC20(_tokenOut);\n request.amount = _amountIn;\n request.userData = \"0x\";\n uint256 newAmountOut = _getAmountOut(request, pool);\n if (newAmountOut > amountOut) {\n amountOut = newAmountOut;\n bestPool = pool;\n }\n }\n }\n\n function _getAmountOut(IPoolSwapStructs.SwapRequest memory request, address pool)\n internal\n view\n returns (uint256 amountOut)\n {\n // Based on https://github.com/balancer-labs/balancer-v2-monorepo/blob/master/pkg/vault/contracts/Swaps.sol#L275\n (, uint256[] memory balances, ) = IVault(vault).getPoolTokens(request.poolId);\n uint256 tokenInTotal = balances[poolToTokenIndex[pool][address(request.tokenIn)]];\n uint256 tokenOutTotal = balances[poolToTokenIndex[pool][address(request.tokenOut)]];\n amountOut = _getAmountOutSafe(request, tokenInTotal, tokenOutTotal, pool);\n }\n\n function _getAmountOutSafe(\n IPoolSwapStructs.SwapRequest memory request,\n uint256 tokenInTotal,\n uint256 tokenOutTotal,\n address pool\n ) internal view returns (uint256) {\n try IMinimalSwapInfoPool(pool).onSwap(request, tokenInTotal, tokenOutTotal) returns (uint256 amountOut) {\n return amountOut;\n } catch {}\n }\n}\n" + }, + "src/contracts/adapters/BridgeMigrationAdapter.sol": { + "content": "// ╟╗ ╔╬\n// ╞╬╬ ╬╠╬\n// ╔╣╬╬╬ ╠╠╠╠╦\n// ╬╬╬╬╬╩ ╘╠╠╠╠╬\n// ║╬╬╬╬╬ ╘╠╠╠╠╬\n// ╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╒╬╬╬╬╬╬╬╜ ╠╠╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╬╬╬╬╬╬╬╬╠╠╠╠╠╠╠╠\n// ╙╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╕ ╬╬╬╬╬╬╬╜ ╣╠╠╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╬╬╬╬╬╬╬╬╬╠╠╠╠╠╠╠╩\n// ╙╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╔╬╬╬╬╬╬╬ ╔╠╠╠╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╣╬╬╬╬╬╬╬╬╬╬╬╠╠╠╠╝╙\n// ╘╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╒╠╠╠╬╠╬╩╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╣╬╬╬╬╬╬╬╙\n// ╣╬╬╬╬╬╬╬╬╬╬╠╣ ╣╬╠╠╠╬╩ ╚╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬\n// ╣╬╬╬╬╬╬╬╬╬╣ ╣╬╠╠╠╬╬ ╣╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬\n// ╟╬╬╬╬╬╬╬╩ ╬╬╠╠╠╠╬╬╬╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╠╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╒╬╬╠╠╬╠╠╬╬╬╬╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╣╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╬╬╬╠╠╠╠╝╝╝╝╝╝╝╠╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╚╬╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╣╬╬╬╬╠╠╩ ╘╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╙╬╬╬╬╬╬╬╬\n//\n\n// SPDX-License-Identifier: GPL-3.0-only\npragma solidity ^0.8.0;\n\nimport \"../interface/IERC20.sol\";\nimport \"../lib/SafeERC20.sol\";\nimport \"../YakAdapter.sol\";\n\ncontract BridgeMigrationAdapter is YakAdapter {\n using SafeERC20 for IERC20;\n\n mapping(address => bool) public isNewBridgeToken;\n\n constructor(\n address[] memory _newTokens,\n address[] memory _oldTokens,\n uint256 _swapGasEstimate\n ) YakAdapter(\"BridgeMigrationAdapter\", _swapGasEstimate) {\n setNewBridgeTokens(_newTokens, _oldTokens);\n }\n\n function _query(\n uint256 _amountIn,\n address _tokenIn,\n address _tokenOut\n ) internal view override returns (uint256 amountOut) {\n if (isNewBridgeToken[_tokenOut] && IERC20(_tokenOut).swapSupply(_tokenIn) >= _amountIn) amountOut = _amountIn;\n }\n\n function _swap(\n uint256 _amountIn,\n uint256 _amountOut,\n address _tokenIn,\n address _tokenOut,\n address _to\n ) internal override {\n IERC20(_tokenOut).swap(_tokenIn, _amountIn);\n _returnTo(_tokenOut, _amountOut, _to);\n }\n\n function setNewBridgeTokens(address[] memory _newTokens, address[] memory _oldTokens) public onlyMaintainer {\n require(_newTokens.length == _oldTokens.length, \"Needs to be surjective\");\n for (uint256 i; i < _newTokens.length; i++) {\n require(IERC20(_newTokens[i]).swapSupply(_oldTokens[i]) > 0, \"Invalid combination\");\n _approveIfNeeded(_newTokens[i], _oldTokens[i]);\n isNewBridgeToken[_newTokens[i]] = true;\n }\n }\n\n function _approveIfNeeded(address _newToken, address _oldToken) internal {\n uint256 allowance = IERC20(_oldToken).allowance(address(this), _newToken);\n if (allowance < UINT_MAX) IERC20(_oldToken).safeApprove(_newToken, UINT_MAX);\n }\n}\n" + }, + "src/contracts/adapters/CamelotAdapter.sol": { + "content": "// ╟╗ ╔╬\n// ╞╬╬ ╬╠╬\n// ╔╣╬╬╬ ╠╠╠╠╦\n// ╬╬╬╬╬╩ ╘╠╠╠╠╬\n// ║╬╬╬╬╬ ╘╠╠╠╠╬\n// ╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╒╬╬╬╬╬╬╬╜ ╠╠╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╬╬╬╬╬╬╬╬╠╠╠╠╠╠╠╠\n// ╙╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╕ ╬╬╬╬╬╬╬╜ ╣╠╠╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╬╬╬╬╬╬╬╬╬╠╠╠╠╠╠╠╩\n// ╙╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╔╬╬╬╬╬╬╬ ╔╠╠╠╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╣╬╬╬╬╬╬╬╬╬╬╬╠╠╠╠╝╙\n// ╘╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╒╠╠╠╬╠╬╩╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╣╬╬╬╬╬╬╬╙\n// ╣╬╬╬╬╬╬╬╬╬╬╠╣ ╣╬╠╠╠╬╩ ╚╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬\n// ╣╬╬╬╬╬╬╬╬╬╣ ╣╬╠╠╠╬╬ ╣╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬\n// ╟╬╬╬╬╬╬╬╩ ╬╬╠╠╠╠╬╬╬╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╠╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╒╬╬╠╠╬╠╠╬╬╬╬╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╣╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╬╬╬╠╠╠╠╝╝╝╝╝╝╝╠╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╚╬╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╣╬╬╬╬╠╠╩ ╘╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╙╬╬╬╬╬╬╬╬\n//\n\n// SPDX-License-Identifier: GPL-3.0-only\npragma solidity ^0.8.0;\n\nimport \"../interface/IERC20.sol\";\nimport \"../lib/SafeERC20.sol\";\nimport \"../YakAdapter.sol\";\n\ninterface IFactory {\n function getPair(address,address) external view returns (address);\n}\n\ninterface IPair {\n function getAmountOut(uint256, address) external view returns (uint256);\n function swap(\n uint256 amount0Out,\n uint256 amount1Out,\n address to,\n bytes calldata data,\n address referrer\n ) external;\n}\n\ncontract CamelotAdapter is YakAdapter {\n using SafeERC20 for IERC20;\n\n address immutable FACTORY;\n address referrer;\n\n constructor(\n string memory _name,\n address _factory,\n uint256 _swapGasEstimate\n ) YakAdapter(_name, _swapGasEstimate) {\n FACTORY = _factory;\n }\n\n function setReferrer(address _referrer) public onlyMaintainer {\n referrer = _referrer;\n } \n\n function getQuoteAndPair(\n uint256 _amountIn,\n address _tokenIn,\n address _tokenOut\n ) internal view returns (uint256 amountOut, address pair) {\n pair = IFactory(FACTORY).getPair(_tokenIn, _tokenOut);\n if (pair != address(0))\n amountOut = IPair(pair).getAmountOut(_amountIn, _tokenIn);\n }\n\n function _query(\n uint256 _amountIn,\n address _tokenIn,\n address _tokenOut\n ) internal view override returns (uint256 amountOut) {\n if (_tokenIn != _tokenOut && _amountIn != 0)\n (amountOut, ) = getQuoteAndPair(_amountIn, _tokenIn, _tokenOut);\n }\n\n function _swap(\n uint256 _amountIn,\n uint256 _amountOut,\n address _tokenIn,\n address _tokenOut,\n address to\n ) internal override {\n (uint256 amountOut, address pair) = getQuoteAndPair(_amountIn, _tokenIn, _tokenOut);\n require(amountOut >= _amountOut, \"Insufficent amount out\");\n (uint256 amount0Out, uint256 amount1Out) = (_tokenIn < _tokenOut)\n ? (uint256(0), amountOut)\n : (amountOut, uint256(0));\n IERC20(_tokenIn).safeTransfer(pair, _amountIn);\n IPair(pair).swap(amount0Out, amount1Out, to, new bytes(0), referrer);\n }\n}\n" + }, + "src/contracts/adapters/Curve1Adapter.sol": { + "content": "// ╟╗ ╔╬\n// ╞╬╬ ╬╠╬\n// ╔╣╬╬╬ ╠╠╠╠╦\n// ╬╬╬╬╬╩ ╘╠╠╠╠╬\n// ║╬╬╬╬╬ ╘╠╠╠╠╬\n// ╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╒╬╬╬╬╬╬╬╜ ╠╠╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╬╬╬╬╬╬╬╬╠╠╠╠╠╠╠╠\n// ╙╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╕ ╬╬╬╬╬╬╬╜ ╣╠╠╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╬╬╬╬╬╬╬╬╬╠╠╠╠╠╠╠╩\n// ╙╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╔╬╬╬╬╬╬╬ ╔╠╠╠╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╣╬╬╬╬╬╬╬╬╬╬╬╠╠╠╠╝╙\n// ╘╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╒╠╠╠╬╠╬╩╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╣╬╬╬╬╬╬╬╙\n// ╣╬╬╬╬╬╬╬╬╬╬╠╣ ╣╬╠╠╠╬╩ ╚╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬\n// ╣╬╬╬╬╬╬╬╬╬╣ ╣╬╠╠╠╬╬ ╣╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬\n// ╟╬╬╬╬╬╬╬╩ ╬╬╠╠╠╠╬╬╬╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╠╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╒╬╬╠╠╬╠╠╬╬╬╬╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╣╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╬╬╬╠╠╠╠╝╝╝╝╝╝╝╠╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╚╬╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╣╬╬╬╬╠╠╩ ╘╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╙╬╬╬╬╬╬╬╬\n//\n\n// Supports Curve Atricrypto pools and alike\n\n// SPDX-License-Identifier: GPL-3.0-only\npragma solidity ^0.8.0;\n\nimport \"../interface/ICurve1.sol\";\nimport \"../interface/IERC20.sol\";\nimport \"../lib/SafeERC20.sol\";\nimport \"../YakAdapter.sol\";\n\ncontract Curve1Adapter is YakAdapter {\n using SafeERC20 for IERC20;\n\n mapping(address => uint256) public tokenIndex;\n mapping(address => bool) public isPoolToken;\n address public pool;\n\n constructor(\n string memory _name,\n address _pool,\n uint256 _swapGasEstimate\n ) YakAdapter(_name, _swapGasEstimate) {\n pool = _pool;\n _setPoolTokens();\n }\n\n // Mapping indicator which tokens are included in the pool\n function _setPoolTokens() internal {\n for (uint256 i = 0; true; ++i) {\n try ICurve1(pool).underlying_coins(i) returns (address token) {\n _setPoolTokenAllowance(token);\n isPoolToken[token] = true;\n tokenIndex[token] = i;\n } catch {\n break;\n }\n }\n }\n\n function _setPoolTokenAllowance(address _token) internal {\n IERC20(_token).approve(pool, UINT_MAX);\n }\n\n function _query(\n uint256 _amountIn,\n address _tokenIn,\n address _tokenOut\n ) internal view override returns (uint256) {\n if (_amountIn == 0 || _tokenIn == _tokenOut || !isPoolToken[_tokenIn] || !isPoolToken[_tokenOut]) {\n return 0;\n }\n try ICurve1(pool).get_dy_underlying(tokenIndex[_tokenIn], tokenIndex[_tokenOut], _amountIn) returns (\n uint256 amountOut\n ) {\n return _applyError(amountOut);\n } catch {\n return 0;\n }\n }\n\n function _applyError(uint256 _amount) internal pure returns (uint256) {\n // `calc_token_amount` in base_pool is used in part of the query\n // this method does account for deposit fee which causes discrepancy\n // between the query result and the actual swap amount by few bps(0-3.2)\n // Additionally there is a rounding error (swap and query may calc different amounts)\n // Account for above with 4 bps discount\n return _amount == 0 ? 0 : (_amount * (1e4 - 4)) / 1e4;\n }\n\n function _swap(\n uint256 _amountIn,\n uint256 _amountOut,\n address _tokenIn,\n address _tokenOut,\n address _to\n ) internal override {\n ICurve1(pool).exchange_underlying(tokenIndex[_tokenIn], tokenIndex[_tokenOut], _amountIn, _amountOut);\n uint256 balThis = IERC20(_tokenOut).balanceOf(address(this));\n _returnTo(_tokenOut, balThis, _to);\n }\n}\n" + }, + "src/contracts/adapters/Curve2Adapter.sol": { + "content": "// ╟╗ ╔╬\n// ╞╬╬ ╬╠╬\n// ╔╣╬╬╬ ╠╠╠╠╦\n// ╬╬╬╬╬╩ ╘╠╠╠╠╬\n// ║╬╬╬╬╬ ╘╠╠╠╠╬\n// ╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╒╬╬╬╬╬╬╬╜ ╠╠╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╬╬╬╬╬╬╬╬╠╠╠╠╠╠╠╠\n// ╙╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╕ ╬╬╬╬╬╬╬╜ ╣╠╠╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╬╬╬╬╬╬╬╬╬╠╠╠╠╠╠╠╩\n// ╙╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╔╬╬╬╬╬╬╬ ╔╠╠╠╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╣╬╬╬╬╬╬╬╬╬╬╬╠╠╠╠╝╙\n// ╘╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╒╠╠╠╬╠╬╩╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╣╬╬╬╬╬╬╬╙\n// ╣╬╬╬╬╬╬╬╬╬╬╠╣ ╣╬╠╠╠╬╩ ╚╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬\n// ╣╬╬╬╬╬╬╬╬╬╣ ╣╬╠╠╠╬╬ ╣╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬\n// ╟╬╬╬╬╬╬╬╩ ╬╬╠╠╠╠╬╬╬╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╠╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╒╬╬╠╠╬╠╠╬╬╬╬╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╣╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╬╬╬╠╠╠╠╝╝╝╝╝╝╝╠╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╚╬╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╣╬╬╬╬╠╠╩ ╘╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╙╬╬╬╬╬╬╬╬\n//\n\n// Supports Curve AAVE and Ren pool and alike\n\n// SPDX-License-Identifier: GPL-3.0-only\npragma solidity ^0.8.0;\n\nimport \"../interface/ICurve2.sol\";\nimport \"../interface/IERC20.sol\";\nimport \"../lib/SafeERC20.sol\";\nimport \"../YakAdapter.sol\";\n\ncontract Curve2Adapter is YakAdapter {\n using SafeERC20 for IERC20;\n\n uint256 constant BPS_DEN = 1e4;\n uint256 constant MAX_ERR_BPS = 1;\n\n mapping(address => bool) public isPoolToken;\n mapping(address => int128) public tokenIndex;\n address public pool;\n\n constructor(\n string memory _name,\n address _pool,\n uint256 _swapGasEstimate\n ) YakAdapter(_name, _swapGasEstimate) {\n pool = _pool;\n _setPoolTokens();\n }\n\n // Mapping indicator which tokens are included in the pool\n function _setPoolTokens() internal {\n for (uint256 i = 0; true; i++) {\n try ICurve2(pool).underlying_coins(i) returns (address token) {\n _setPoolTokenAllowance(token);\n isPoolToken[token] = true;\n tokenIndex[token] = int128(int256(i));\n } catch {\n break;\n }\n }\n }\n\n function _setPoolTokenAllowance(address _token) internal {\n IERC20(_token).approve(pool, UINT_MAX);\n }\n\n function _query(\n uint256 _amountIn,\n address _tokenIn,\n address _tokenOut\n ) internal view override returns (uint256) {\n if (_amountIn == 0 || _tokenIn == _tokenOut || !isPoolToken[_tokenIn] || !isPoolToken[_tokenOut]) {\n return 0;\n }\n try ICurve2(pool).get_dy_underlying(tokenIndex[_tokenIn], tokenIndex[_tokenOut], _amountIn) returns (\n uint256 amountOut\n ) {\n return _applyErr(amountOut);\n } catch {\n return 0;\n }\n }\n\n function _applyErr(uint256 x) internal pure returns (uint256) {\n return (x * (BPS_DEN - MAX_ERR_BPS)) / BPS_DEN;\n }\n\n function _swap(\n uint256 _amountIn,\n uint256 _amountOut,\n address _tokenIn,\n address _tokenOut,\n address _to\n ) internal override {\n ICurve2(pool).exchange_underlying(tokenIndex[_tokenIn], tokenIndex[_tokenOut], _amountIn, 0);\n uint256 balThis = IERC20(_tokenOut).balanceOf(address(this));\n require(balThis >= _amountOut, \"Insufficient amount out\");\n _returnTo(_tokenOut, balThis, _to);\n }\n}\n" + }, + "src/contracts/adapters/CurveMetaAdapter.sol": { + "content": "// ╟╗ ╔╬\n// ╞╬╬ ╬╠╬\n// ╔╣╬╬╬ ╠╠╠╠╦\n// ╬╬╬╬╬╩ ╘╠╠╠╠╬\n// ║╬╬╬╬╬ ╘╠╠╠╠╬\n// ╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╒╬╬╬╬╬╬╬╜ ╠╠╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╬╬╬╬╬╬╬╬╠╠╠╠╠╠╠╠\n// ╙╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╕ ╬╬╬╬╬╬╬╜ ╣╠╠╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╬╬╬╬╬╬╬╬╬╠╠╠╠╠╠╠╩\n// ╙╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╔╬╬╬╬╬╬╬ ╔╠╠╠╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╣╬╬╬╬╬╬╬╬╬╬╬╠╠╠╠╝╙\n// ╘╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╒╠╠╠╬╠╬╩╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╣╬╬╬╬╬╬╬╙\n// ╣╬╬╬╬╬╬╬╬╬╬╠╣ ╣╬╠╠╠╬╩ ╚╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬\n// ╣╬╬╬╬╬╬╬╬╬╣ ╣╬╠╠╠╬╬ ╣╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬\n// ╟╬╬╬╬╬╬╬╩ ╬╬╠╠╠╠╬╬╬╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╠╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╒╬╬╠╠╬╠╠╬╬╬╬╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╣╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╬╬╬╠╠╠╠╝╝╝╝╝╝╝╠╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╚╬╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╣╬╬╬╬╠╠╩ ╘╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╙╬╬╬╬╬╬╬╬\n//\n\n// SPDX-License-Identifier: GPL-3.0-only\npragma solidity ^0.8.0;\n\nimport \"../interface/ICurveMeta.sol\";\nimport \"../interface/IERC20.sol\";\nimport \"../lib/SafeERC20.sol\";\nimport \"../YakAdapter.sol\";\n\ncontract CurveMetaAdapter is YakAdapter {\n using SafeERC20 for IERC20;\n\n address public immutable POOL;\n address public immutable COIN;\n mapping(address => int128) public tokenIndex;\n mapping(address => bool) public isPoolToken;\n\n constructor(\n string memory _name,\n address _pool,\n uint256 _swapGasEstimate\n ) YakAdapter(_name, _swapGasEstimate) {\n POOL = _pool;\n COIN = _setPoolTokens(_pool);\n }\n\n function _setPoolTokens(address _pool) internal returns (address coin0) {\n coin0 = ICurveMeta(_pool).coins(0);\n _approveToken(_pool, coin0, 0);\n for (uint256 i = 0; true; i++) {\n try ICurveMeta(_pool).base_coins(i) returns (address token) {\n _approveToken(_pool, token, int128(int256(i)) + 1);\n } catch {\n break;\n }\n }\n }\n\n function _approveToken(\n address _pool,\n address _token,\n int128 _index\n ) internal {\n IERC20(_token).safeApprove(_pool, UINT_MAX);\n tokenIndex[_token] = _index;\n isPoolToken[_token] = true;\n }\n\n function _query(\n uint256 _amountIn,\n address _tokenIn,\n address _tokenOut\n ) internal view override returns (uint256) {\n if (\n _amountIn == 0 ||\n _tokenIn == _tokenOut ||\n !((_tokenIn == COIN && isPoolToken[_tokenOut]) || (_tokenOut == COIN && isPoolToken[_tokenIn]))\n ) {\n return 0;\n }\n try ICurveMeta(POOL).get_dy_underlying(tokenIndex[_tokenIn], tokenIndex[_tokenOut], _amountIn) returns (\n uint256 amountOut\n ) {\n // `calc_token_amount` in base_pool is used in part of the query\n // this method does account for deposit fee which causes discrepancy\n // between the query result and the actual swap amount by few bps(0-3.2)\n // Additionally there is a rounding error (swap and query may calc different amounts)\n // Account for that with 1 bps discount\n return amountOut == 0 ? 0 : (amountOut * (1e4 - 1)) / 1e4;\n } catch {\n return 0;\n }\n }\n\n function _swap(\n uint256 _amountIn,\n uint256 _amountOut,\n address _tokenIn,\n address _tokenOut,\n address _to\n ) internal override {\n ICurveMeta(POOL).exchange_underlying(tokenIndex[_tokenIn], tokenIndex[_tokenOut], _amountIn, _amountOut);\n _returnTo(_tokenOut, IERC20(_tokenOut).balanceOf(address(this)), _to);\n }\n}\n" + }, + "src/contracts/adapters/CurveMetaV2Adapter.sol": { + "content": "// ╟╗ ╔╬\n// ╞╬╬ ╬╠╬\n// ╔╣╬╬╬ ╠╠╠╠╦\n// ╬╬╬╬╬╩ ╘╠╠╠╠╬\n// ║╬╬╬╬╬ ╘╠╠╠╠╬\n// ╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╒╬╬╬╬╬╬╬╜ ╠╠╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╬╬╬╬╬╬╬╬╠╠╠╠╠╠╠╠\n// ╙╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╕ ╬╬╬╬╬╬╬╜ ╣╠╠╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╬╬╬╬╬╬╬╬╬╠╠╠╠╠╠╠╩\n// ╙╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╔╬╬╬╬╬╬╬ ╔╠╠╠╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╣╬╬╬╬╬╬╬╬╬╬╬╠╠╠╠╝╙\n// ╘╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╒╠╠╠╬╠╬╩╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╣╬╬╬╬╬╬╬╙\n// ╣╬╬╬╬╬╬╬╬╬╬╠╣ ╣╬╠╠╠╬╩ ╚╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬\n// ╣╬╬╬╬╬╬╬╬╬╣ ╣╬╠╠╠╬╬ ╣╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬\n// ╟╬╬╬╬╬╬╬╩ ╬╬╠╠╠╠╬╬╬╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╠╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╒╬╬╠╠╬╠╠╬╬╬╬╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╣╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╬╬╬╠╠╠╠╝╝╝╝╝╝╝╠╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╚╬╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╣╬╬╬╬╠╠╩ ╘╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╙╬╬╬╬╬╬╬╬\n//\n\n// SPDX-License-Identifier: GPL-3.0-only\npragma solidity ^0.8.0;\n\nimport \"../interface/IERC20.sol\";\nimport \"../lib/SafeERC20.sol\";\nimport \"../YakAdapter.sol\";\n\ninterface IMetaPool {\n function get_dy_underlying(\n int128,\n int128,\n uint256\n ) external view returns (uint256);\n\n function exchange_underlying(\n int128,\n int128,\n uint256,\n uint256\n ) external;\n\n function coins(uint256) external view returns (address);\n}\n\ninterface IBasePool {\n function coins(uint256) external view returns (address);\n}\n\ncontract CurveMetaV2Adapter is YakAdapter {\n using SafeERC20 for IERC20;\n\n address public immutable META_COIN;\n address public immutable POOL;\n mapping(address => int128) public tokenIndex;\n mapping(address => bool) public isPoolToken;\n\n constructor(\n string memory _name,\n address _pool,\n uint256 _swapGasEstimate\n ) YakAdapter(_name, _swapGasEstimate) {\n address metaCoin = getMetaCoin(_pool);\n approveAndAddTokenToAdapter(_pool, metaCoin, 0);\n addUnderlyingTkns(_pool);\n META_COIN = metaCoin;\n POOL = _pool;\n }\n\n function getMetaCoin(address _pool) internal view returns (address) {\n return IMetaPool(_pool).coins(0);\n }\n\n function initPoolAndReturnMetaTkn(address _pool) internal returns (address coin0) {\n coin0 = IMetaPool(_pool).coins(0);\n approveAndAddTokenToAdapter(_pool, coin0, 0);\n }\n\n function addUnderlyingTkns(address metaPool) internal {\n address basePool = IMetaPool(metaPool).coins(1);\n for (uint256 i; true; ++i) {\n address token = getUnderlyingToken(basePool, i);\n if (token == address(0)) break;\n approveAndAddTokenToAdapter(metaPool, token, int128(int256(i)) + 1);\n }\n }\n\n function getUnderlyingToken(address basePool, uint256 i) internal view returns (address) {\n try IBasePool(basePool).coins(i) returns (address token) {\n return token;\n } catch {}\n }\n\n function approveAndAddTokenToAdapter(\n address _pool,\n address _token,\n int128 _index\n ) internal {\n IERC20(_token).safeApprove(_pool, UINT_MAX);\n tokenIndex[_token] = _index;\n isPoolToken[_token] = true;\n }\n\n function _query(\n uint256 _amountIn,\n address _tokenIn,\n address _tokenOut\n ) internal view override returns (uint256) {\n if (!validInputParams(_amountIn, _tokenIn, _tokenOut)) return 0;\n // `calc_token_amount` in base_pool is used in part of the query\n // this method does account for deposit fee which causes discrepancy\n // between the query result and the actual swap amount by few bps(0-3.2)\n // Additionally there is a rounding error (swap and query may calc different amounts)\n // Account for that with 1 bps discount\n uint256 amountOut = safeQuery(_amountIn, _tokenIn, _tokenOut);\n return (amountOut * (1e4 - 1)) / 1e4;\n }\n\n function safeQuery(\n uint256 _amountIn,\n address _tokenIn,\n address _tokenOut\n ) internal view returns (uint256) {\n try IMetaPool(POOL).get_dy_underlying(tokenIndex[_tokenIn], tokenIndex[_tokenOut], _amountIn) returns (\n uint256 amountOut\n ) {\n return amountOut;\n } catch {\n return 0;\n }\n }\n\n function validInputParams(\n uint256 _amountIn,\n address _tokenIn,\n address _tokenOut\n ) internal view returns (bool) {\n return _amountIn != 0 && _tokenIn != _tokenOut && validPath(_tokenIn, _tokenOut);\n }\n\n function validPath(address tkn0, address tkn1) internal view returns (bool) {\n return (tkn0 == META_COIN && isPoolToken[tkn1]) || (tkn1 == META_COIN && isPoolToken[tkn0]);\n }\n\n function _swap(\n uint256 _amountIn,\n uint256 _amountOut,\n address _tokenIn,\n address _tokenOut,\n address _to\n ) internal override {\n IMetaPool(POOL).exchange_underlying(tokenIndex[_tokenIn], tokenIndex[_tokenOut], _amountIn, _amountOut);\n uint256 balThis = IERC20(_tokenOut).balanceOf(address(this));\n _returnTo(_tokenOut, balThis, _to);\n }\n}\n" + }, + "src/contracts/adapters/CurveMetaV3Adapter.sol": { + "content": "// ╟╗ ╔╬\n// ╞╬╬ ╬╠╬\n// ╔╣╬╬╬ ╠╠╠╠╦\n// ╬╬╬╬╬╩ ╘╠╠╠╠╬\n// ║╬╬╬╬╬ ╘╠╠╠╠╬\n// ╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╒╬╬╬╬╬╬╬╜ ╠╠╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╬╬╬╬╬╬╬╬╠╠╠╠╠╠╠╠\n// ╙╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╕ ╬╬╬╬╬╬╬╜ ╣╠╠╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╬╬╬╬╬╬╬╬╬╠╠╠╠╠╠╠╩\n// ╙╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╔╬╬╬╬╬╬╬ ╔╠╠╠╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╣╬╬╬╬╬╬╬╬╬╬╬╠╠╠╠╝╙\n// ╘╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╒╠╠╠╬╠╬╩╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╣╬╬╬╬╬╬╬╙\n// ╣╬╬╬╬╬╬╬╬╬╬╠╣ ╣╬╠╠╠╬╩ ╚╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬\n// ╣╬╬╬╬╬╬╬╬╬╣ ╣╬╠╠╠╬╬ ╣╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬\n// ╟╬╬╬╬╬╬╬╩ ╬╬╠╠╠╠╬╬╬╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╠╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╒╬╬╠╠╬╠╠╬╬╬╬╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╣╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╬╬╬╠╠╠╠╝╝╝╝╝╝╝╠╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╚╬╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╣╬╬╬╬╠╠╩ ╘╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╙╬╬╬╬╬╬╬╬\n//\n\n// SPDX-License-Identifier: GPL-3.0-only\npragma solidity ^0.8.0;\n\nimport \"../interface/IERC20.sol\";\nimport \"../lib/SafeERC20.sol\";\nimport \"../YakAdapter.sol\";\n\ninterface IMetaPool {\n function get_dy_underlying(\n int128,\n int128,\n uint256\n ) external view returns (uint256);\n\n function exchange_underlying(\n int128,\n int128,\n uint256,\n uint256\n ) external;\n\n function coins(uint256) external view returns (address);\n}\n\ninterface IBasePool {\n function coins(uint256) external view returns (address);\n}\n\ncontract CurveMetaV3Adapter is YakAdapter {\n using SafeERC20 for IERC20;\n\n mapping(address => mapping(address => int128)) public tokenIndexForPool;\n mapping(address => mapping(address => address)) public poolForTokens;\n\n constructor(\n string memory _name,\n address[] memory _pools,\n uint256 _swapGasEstimate\n ) YakAdapter(_name, _swapGasEstimate) {\n setPools(_pools);\n }\n\n function getPool(address tkn0, address tkn1) public view returns (address) {\n return poolForTokens[tkn0][tkn1];\n }\n\n function rmPools(address[] memory _pools) external onlyMaintainer {\n for (uint256 i; i < _pools.length; ++i) _rmPool(_pools[i]);\n }\n\n function setPools(address[] memory _pools) public onlyMaintainer {\n for (uint256 i; i < _pools.length; ++i) _setPool(_pools[i]);\n }\n\n function _setPool(address _pool) internal {\n (address mToken, address basePool) = getCoins(_pool);\n IERC20(mToken).safeApprove(_pool, UINT_MAX);\n for (uint256 i; true; ++i) {\n address uToken = getUnderlyingToken(basePool, i);\n if (uToken == address(0)) break;\n _setTokenPair(_pool, mToken, uToken, int128(int256(i)));\n }\n }\n\n function _rmPool(address _pool) internal {\n (address mToken, address basePool) = getCoins(_pool);\n for (uint256 i; true; ++i) {\n address uToken = getUnderlyingToken(basePool, i);\n if (uToken == address(0)) break;\n poolForTokens[uToken][mToken] = address(0);\n poolForTokens[mToken][uToken] = address(0);\n }\n }\n\n function getCoins(address _pool) internal view returns (address meta, address base) {\n meta = IMetaPool(_pool).coins(0);\n base = IMetaPool(_pool).coins(1);\n }\n\n function _setTokenPair(\n address _pool,\n address _metaTkn,\n address _uToken,\n int128 _index\n ) internal {\n IERC20(_uToken).safeApprove(_pool, UINT_MAX);\n tokenIndexForPool[_pool][_uToken] = _index + 1;\n poolForTokens[_uToken][_metaTkn] = _pool;\n poolForTokens[_metaTkn][_uToken] = _pool;\n }\n\n function getUnderlyingToken(address basePool, uint256 i) internal view returns (address) {\n try IBasePool(basePool).coins(i) returns (address token) {\n return token;\n } catch {}\n }\n\n function _query(\n uint256 _amountIn,\n address _tokenIn,\n address _tokenOut\n ) internal view override returns (uint256) {\n address pool = getPool(_tokenIn, _tokenOut);\n if (pool == address(0) || _amountIn == 0) return 0;\n // `calc_token_amount` in base_pool is used in part of the query\n // this method does account for deposit fee which causes discrepancy\n // between the query result and the actual swap amount by few bps(0-3.2)\n // Additionally there is a rounding error (swap and query may calc different amounts)\n // Account for that with 1 bps discount\n uint256 amountOut = safeQuery(pool, _amountIn, _tokenIn, _tokenOut);\n return (amountOut * (1e4 - 1)) / 1e4;\n }\n\n function safeQuery(\n address _pool,\n uint256 _amountIn,\n address _tokenIn,\n address _tokenOut\n ) internal view returns (uint256) {\n try\n IMetaPool(_pool).get_dy_underlying(\n tokenIndexForPool[_pool][_tokenIn],\n tokenIndexForPool[_pool][_tokenOut],\n _amountIn\n )\n returns (uint256 amountOut) {\n return amountOut;\n } catch {\n return 0;\n }\n }\n\n function _swap(\n uint256 _amountIn,\n uint256 _amountOut,\n address _tokenIn,\n address _tokenOut,\n address _to\n ) internal override {\n address pool = getPool(_tokenIn, _tokenOut);\n IMetaPool(pool).exchange_underlying(\n tokenIndexForPool[pool][_tokenIn],\n tokenIndexForPool[pool][_tokenOut],\n _amountIn,\n _amountOut\n );\n uint256 balThis = IERC20(_tokenOut).balanceOf(address(this));\n _returnTo(_tokenOut, balThis, _to);\n }\n}\n" + }, + "src/contracts/adapters/CurveMetaWithSwapperAdapter.sol": { + "content": "// ╟╗ ╔╬\n// ╞╬╬ ╬╠╬\n// ╔╣╬╬╬ ╠╠╠╠╦\n// ╬╬╬╬╬╩ ╘╠╠╠╠╬\n// ║╬╬╬╬╬ ╘╠╠╠╠╬\n// ╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╒╬╬╬╬╬╬╬╜ ╠╠╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╬╬╬╬╬╬╬╬╠╠╠╠╠╠╠╠\n// ╙╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╕ ╬╬╬╬╬╬╬╜ ╣╠╠╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╬╬╬╬╬╬╬╬╬╠╠╠╠╠╠╠╩\n// ╙╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╔╬╬╬╬╬╬╬ ╔╠╠╠╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╣╬╬╬╬╬╬╬╬╬╬╬╠╠╠╠╝╙\n// ╘╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╒╠╠╠╬╠╬╩╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╣╬╬╬╬╬╬╬╙\n// ╣╬╬╬╬╬╬╬╬╬╬╠╣ ╣╬╠╠╠╬╩ ╚╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬\n// ╣╬╬╬╬╬╬╬╬╬╣ ╣╬╠╠╠╬╬ ╣╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬\n// ╟╬╬╬╬╬╬╬╩ ╬╬╠╠╠╠╬╬╬╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╠╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╒╬╬╠╠╬╠╠╬╬╬╬╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╣╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╬╬╬╠╠╠╠╝╝╝╝╝╝╝╠╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╚╬╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╣╬╬╬╬╠╠╩ ╘╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╙╬╬╬╬╬╬╬╬\n//\n\n// Supports Curve MIM pool (manually enter base tokens)\n\n// SPDX-License-Identifier: GPL-3.0-only\npragma solidity ^0.8.0;\n\nimport \"../interface/ICurveMeta.sol\";\nimport \"../interface/ICurve2.sol\";\nimport \"../interface/IERC20.sol\";\nimport \"../lib/SafeERC20.sol\";\nimport \"../YakAdapter.sol\";\n\ninterface ICurveSwapper128 {\n function exchange_underlying(\n address pool,\n int128 i,\n int128 j,\n uint256 dx,\n uint256 minDy\n ) external;\n}\n\ncontract CurveMetaWithSwapperAdapter is YakAdapter {\n using SafeERC20 for IERC20;\n\n address public immutable metaPool;\n address public immutable basePool;\n address public immutable swapper;\n address public immutable metaTkn;\n mapping(address => int128) public tokenIndex;\n mapping(address => bool) public isPoolToken;\n\n constructor(\n string memory _name,\n uint256 _swapGasEstimate,\n address _metaPool,\n address _basePool,\n address _swapper\n ) YakAdapter(_name, _swapGasEstimate) {\n metaTkn = setMetaTkn(_metaPool, _swapper);\n metaPool = _metaPool;\n basePool = _basePool;\n swapper = _swapper;\n _setUnderlyingTokens(_basePool, _swapper);\n }\n\n // Mapping indicator which tokens are included in the pool\n function _setUnderlyingTokens(address _basePool, address _swapper) internal {\n for (uint256 i = 0; true; i++) {\n try ICurve2(_basePool).underlying_coins(i) returns (address token) {\n _setPoolTokenAllowance(token, _swapper);\n isPoolToken[token] = true;\n tokenIndex[token] = int128(int256(i)) + 1;\n } catch {\n break;\n }\n }\n }\n\n function setMetaTkn(address _metaPool, address _swapper) internal returns (address _metaTkn) {\n _metaTkn = ICurveMeta(_metaPool).coins(0);\n _setPoolTokenAllowance(_metaTkn, _swapper);\n isPoolToken[_metaTkn] = true;\n tokenIndex[_metaTkn] = 0;\n }\n\n function _setPoolTokenAllowance(address _token, address _target) internal {\n IERC20(_token).approve(_target, UINT_MAX);\n }\n\n function _query(\n uint256 _amountIn,\n address _tokenIn,\n address _tokenOut\n ) internal view override returns (uint256) {\n if (!validInputParams(_amountIn, _tokenIn, _tokenOut)) {\n return 0;\n }\n try ICurveMeta(metaPool).get_dy_underlying(tokenIndex[_tokenIn], tokenIndex[_tokenOut], _amountIn) returns (\n uint256 amountOut\n ) {\n // `calc_token_amount` in base_pool is used in part of the query\n // this method does account for deposit fee which causes discrepancy\n // between the query result and the actual swap amount by few bps(0-3.2)\n // Additionally there is a rounding error (swap and query may calc different amounts)\n // Account for that with 4 bps discount\n return amountOut == 0 ? 0 : (amountOut * (1e4 - 4)) / 1e4;\n } catch {\n return 0;\n }\n }\n\n function validInputParams(\n uint256 _amountIn,\n address _tokenIn,\n address _tokenOut\n ) internal view returns (bool) {\n return _amountIn != 0 && _tokenIn != _tokenOut && validPath(_tokenIn, _tokenOut);\n }\n\n function validPath(address tkn0, address tkn1) internal view returns (bool) {\n return (tkn0 == metaTkn && isPoolToken[tkn1]) || (tkn1 == metaTkn && isPoolToken[tkn0]);\n }\n\n function _swap(\n uint256 _amountIn,\n uint256 _amountOut,\n address _tokenIn,\n address _tokenOut,\n address _to\n ) internal override {\n ICurveSwapper128(swapper).exchange_underlying(\n metaPool,\n tokenIndex[_tokenIn],\n tokenIndex[_tokenOut],\n _amountIn,\n 0\n );\n uint256 balThis = IERC20(_tokenOut).balanceOf(address(this));\n require(balThis >= _amountOut, \"Insufficient amount-out\");\n _returnTo(_tokenOut, balThis, _to);\n }\n}\n" + }, + "src/contracts/adapters/CurvePlain128Adapter.sol": { + "content": "// ╟╗ ╔╬\n// ╞╬╬ ╬╠╬\n// ╔╣╬╬╬ ╠╠╠╠╦\n// ╬╬╬╬╬╩ ╘╠╠╠╠╬\n// ║╬╬╬╬╬ ╘╠╠╠╠╬\n// ╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╒╬╬╬╬╬╬╬╜ ╠╠╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╬╬╬╬╬╬╬╬╠╠╠╠╠╠╠╠\n// ╙╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╕ ╬╬╬╬╬╬╬╜ ╣╠╠╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╬╬╬╬╬╬╬╬╬╠╠╠╠╠╠╠╩\n// ╙╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╔╬╬╬╬╬╬╬ ╔╠╠╠╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╣╬╬╬╬╬╬╬╬╬╬╬╠╠╠╠╝╙\n// ╘╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╒╠╠╠╬╠╬╩╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╣╬╬╬╬╬╬╬╙\n// ╣╬╬╬╬╬╬╬╬╬╬╠╣ ╣╬╠╠╠╬╩ ╚╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬\n// ╣╬╬╬╬╬╬╬╬╬╣ ╣╬╠╠╠╬╬ ╣╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬\n// ╟╬╬╬╬╬╬╬╩ ╬╬╠╠╠╠╬╬╬╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╠╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╒╬╬╠╠╬╠╠╬╬╬╬╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╣╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╬╬╬╠╠╠╠╝╝╝╝╝╝╝╠╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╚╬╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╣╬╬╬╬╠╠╩ ╘╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╙╬╬╬╬╬╬╬╬\n//\n\n// SPDX-License-Identifier: GPL-3.0-only\npragma solidity ^0.8.0;\n\nimport \"../interface/ICurvePlain128.sol\";\nimport \"../interface/IERC20.sol\";\nimport \"../lib/SafeERC20.sol\";\nimport \"../YakAdapter.sol\";\n\ncontract CurvePlain128Adapter is YakAdapter {\n using SafeERC20 for IERC20;\n\n address public immutable POOL;\n mapping(address => int128) public tokenIndex;\n mapping(address => bool) public isPoolToken;\n\n constructor(\n string memory _name,\n address _pool,\n uint256 _swapGasEstimate\n ) YakAdapter(_name, _swapGasEstimate) {\n POOL = _pool;\n _setPoolTokens(_pool);\n }\n\n // Mapping indicator which tokens are included in the pool\n function _setPoolTokens(address _pool) internal {\n for (uint256 i = 0; true; i++) {\n try ICurvePlain128(_pool).coins(i) returns (address token) {\n _approveToken(_pool, token, int128(int256(i)));\n } catch {\n break;\n }\n }\n }\n\n function _approveToken(\n address _pool,\n address _token,\n int128 _index\n ) internal {\n IERC20(_token).safeApprove(_pool, UINT_MAX);\n tokenIndex[_token] = _index;\n isPoolToken[_token] = true;\n }\n\n function _query(\n uint256 _amountIn,\n address _tokenIn,\n address _tokenOut\n ) internal view override returns (uint256) {\n if (!_validArgs(_amountIn, _tokenIn, _tokenOut)) return 0;\n uint256 amountOut = _getDySafe(_amountIn, _tokenIn, _tokenOut);\n // Account for possible rounding error\n return amountOut > 0 ? amountOut - 1 : 0;\n }\n\n function _validArgs(\n uint256 _amountIn,\n address _tokenIn,\n address _tokenOut\n ) internal view returns (bool) {\n return _amountIn != 0 && _tokenIn != _tokenOut && isPoolToken[_tokenIn] && isPoolToken[_tokenOut];\n }\n\n function _getDySafe(\n uint256 _amountIn,\n address _tokenIn,\n address _tokenOut\n ) internal view returns (uint256) {\n try ICurvePlain128(POOL).get_dy(tokenIndex[_tokenIn], tokenIndex[_tokenOut], _amountIn) returns (\n uint256 amountOut\n ) {\n return amountOut;\n } catch {\n return 0;\n }\n }\n\n function _swap(\n uint256 _amountIn,\n uint256 _amountOut,\n address _tokenIn,\n address _tokenOut,\n address _to\n ) internal override {\n ICurvePlain128(POOL).exchange(tokenIndex[_tokenIn], tokenIndex[_tokenOut], _amountIn, _amountOut);\n // Confidently transfer amount-out\n _returnTo(_tokenOut, _amountOut, _to);\n }\n}\n" + }, + "src/contracts/adapters/CurvePlain128NativeAdapter.sol": { + "content": "// ╟╗ ╔╬\n// ╞╬╬ ╬╠╬\n// ╔╣╬╬╬ ╠╠╠╠╦\n// ╬╬╬╬╬╩ ╘╠╠╠╠╬\n// ║╬╬╬╬╬ ╘╠╠╠╠╬\n// ╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╒╬╬╬╬╬╬╬╜ ╠╠╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╬╬╬╬╬╬╬╬╠╠╠╠╠╠╠╠\n// ╙╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╕ ╬╬╬╬╬╬╬╜ ╣╠╠╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╬╬╬╬╬╬╬╬╬╠╠╠╠╠╠╠╩\n// ╙╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╔╬╬╬╬╬╬╬ ╔╠╠╠╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╣╬╬╬╬╬╬╬╬╬╬╬╠╠╠╠╝╙\n// ╘╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╒╠╠╠╬╠╬╩╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╣╬╬╬╬╬╬╬╙\n// ╣╬╬╬╬╬╬╬╬╬╬╠╣ ╣╬╠╠╠╬╩ ╚╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬\n// ╣╬╬╬╬╬╬╬╬╬╣ ╣╬╠╠╠╬╬ ╣╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬\n// ╟╬╬╬╬╬╬╬╩ ╬╬╠╠╠╠╬╬╬╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╠╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╒╬╬╠╠╬╠╠╬╬╬╬╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╣╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╬╬╬╠╠╠╠╝╝╝╝╝╝╝╠╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╚╬╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╣╬╬╬╬╠╠╩ ╘╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╙╬╬╬╬╬╬╬╬\n//\n\n// SPDX-License-Identifier: GPL-3.0-only\npragma solidity ^0.8.0;\n\nimport \"../interface/ICurvePlain128Native.sol\";\nimport \"../interface/IERC20.sol\";\nimport \"../interface/IWETH.sol\";\nimport \"../lib/SafeERC20.sol\";\nimport \"../YakAdapter.sol\";\n\n\ncontract CurvePlain128NativeAdapter is YakAdapter {\n using SafeERC20 for IERC20;\n\n address constant NATIVE = 0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE;\n address immutable WNATIVE;\n address public immutable POOL;\n mapping(address => int128) public tokenIndex;\n mapping(address => bool) public isPoolToken;\n\n constructor(\n string memory _name,\n uint256 _swapGasEstimate,\n address _pool,\n address _wNative\n ) YakAdapter(_name, _swapGasEstimate) {\n IERC20(_wNative).safeApprove(_wNative, UINT_MAX);\n _setPoolTokens(_pool, _wNative);\n WNATIVE = _wNative;\n POOL = _pool;\n }\n\n // Mapping indicator which tokens are included in the pool\n function _setPoolTokens(address _pool, address _wNative) internal {\n for (uint256 i = 0; true; i++) {\n try ICurvePlain128Native(_pool).coins(i) returns (address token) {\n _addTokenToPool(_pool, token, int128(int256(i)), _wNative);\n } catch {\n break;\n }\n }\n }\n\n function _addTokenToPool(\n address _pool,\n address _token,\n int128 _index, \n address _wNative\n ) internal {\n if (_token != NATIVE) {\n IERC20(_token).safeApprove(_pool, UINT_MAX);\n } else {\n _token = _wNative;\n }\n tokenIndex[_token] = _index;\n isPoolToken[_token] = true;\n }\n\n function _query(\n uint256 _amountIn,\n address _tokenIn,\n address _tokenOut\n ) internal view override returns (uint256) {\n if (!_validArgs(_amountIn, _tokenIn, _tokenOut)) return 0;\n uint256 amountOut = _getDySafe(_amountIn, _tokenIn, _tokenOut);\n // Account for possible rounding error\n return amountOut > 0 ? amountOut - 1 : 0;\n }\n\n function _validArgs(\n uint256 _amountIn,\n address _tokenIn,\n address _tokenOut\n ) internal view returns (bool) {\n return _amountIn != 0 && \n _tokenIn != _tokenOut && \n isPoolToken[_tokenIn] && \n isPoolToken[_tokenOut];\n }\n\n function _getDySafe(\n uint256 _amountIn,\n address _tokenIn,\n address _tokenOut\n ) internal view returns (uint256) {\n try ICurvePlain128Native(POOL).get_dy(tokenIndex[_tokenIn], tokenIndex[_tokenOut], _amountIn) returns (\n uint256 amountOut\n ) {\n return amountOut;\n } catch {\n return 0;\n }\n }\n\n function _swap(\n uint256 _amountIn,\n uint256 _amountOut,\n address _tokenIn,\n address _tokenOut,\n address _to\n ) internal override {\n uint256 transferVal;\n if (_tokenIn == WNATIVE) {\n transferVal = _amountIn;\n IWETH(WNATIVE).withdraw(_amountIn);\n }\n uint256 dy = ICurvePlain128Native(POOL).exchange{ value: transferVal }(\n tokenIndex[_tokenIn], \n tokenIndex[_tokenOut], \n _amountIn, \n _amountOut\n );\n if (_tokenOut == WNATIVE) {\n IWETH(WNATIVE).deposit{ value: dy }();\n }\n _returnTo(_tokenOut, dy, _to);\n }\n}\n" + }, + "src/contracts/adapters/CurvePlain256Adapter.sol": { + "content": "// ╟╗ ╔╬\n// ╞╬╬ ╬╠╬\n// ╔╣╬╬╬ ╠╠╠╠╦\n// ╬╬╬╬╬╩ ╘╠╠╠╠╬\n// ║╬╬╬╬╬ ╘╠╠╠╠╬\n// ╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╒╬╬╬╬╬╬╬╜ ╠╠╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╬╬╬╬╬╬╬╬╠╠╠╠╠╠╠╠\n// ╙╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╕ ╬╬╬╬╬╬╬╜ ╣╠╠╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╬╬╬╬╬╬╬╬╬╠╠╠╠╠╠╠╩\n// ╙╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╔╬╬╬╬╬╬╬ ╔╠╠╠╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╣╬╬╬╬╬╬╬╬╬╬╬╠╠╠╠╝╙\n// ╘╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╒╠╠╠╬╠╬╩╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╣╬╬╬╬╬╬╬╙\n// ╣╬╬╬╬╬╬╬╬╬╬╠╣ ╣╬╠╠╠╬╩ ╚╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬\n// ╣╬╬╬╬╬╬╬╬╬╣ ╣╬╠╠╠╬╬ ╣╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬\n// ╟╬╬╬╬╬╬╬╩ ╬╬╠╠╠╠╬╬╬╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╠╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╒╬╬╠╠╬╠╠╬╬╬╬╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╣╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╬╬╬╠╠╠╠╝╝╝╝╝╝╝╠╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╚╬╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╣╬╬╬╬╠╠╩ ╘╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╙╬╬╬╬╬╬╬╬\n//\n\n// SPDX-License-Identifier: GPL-3.0-only\npragma solidity ^0.8.0;\n\nimport \"../interface/ICurvePlain256.sol\";\nimport \"../interface/IERC20.sol\";\nimport \"../lib/SafeERC20.sol\";\nimport \"../YakAdapter.sol\";\n\ncontract CurvePlain256Adapter is YakAdapter {\n using SafeERC20 for IERC20;\n\n address public immutable POOL;\n mapping(address => uint256) public tokenIndex;\n mapping(address => bool) public isPoolToken;\n\n constructor(\n string memory _name,\n address _pool,\n uint256 _swapGasEstimate\n ) YakAdapter(_name, _swapGasEstimate) {\n name = _name;\n POOL = _pool;\n _setPoolTokens(_pool);\n setSwapGasEstimate(_swapGasEstimate);\n }\n\n function _setPoolTokens(address _pool) internal {\n for (uint256 i = 0; true; i++) {\n address token = _getCoinByIndexSafe(_pool, i);\n if (token == address(0)) break;\n _addToken(_pool, token, i);\n }\n }\n\n function _getCoinByIndexSafe(address _pool, uint256 _index) internal view returns (address token) {\n try ICurvePlain256(_pool).coins(_index) returns (address _token) {\n token = _token;\n } catch {}\n }\n\n function _addToken(\n address _pool,\n address _token,\n uint256 _index\n ) internal {\n IERC20(_token).safeApprove(_pool, UINT_MAX);\n tokenIndex[_token] = _index;\n isPoolToken[_token] = true;\n }\n\n function _query(\n uint256 _amountIn,\n address _tokenIn,\n address _tokenOut\n ) internal view override returns (uint256) {\n if (!_validArgs(_amountIn, _tokenIn, _tokenOut)) return 0;\n uint256 amountOut = _getDySafe(_amountIn, _tokenIn, _tokenOut);\n // Account for possible rounding error\n return amountOut > 0 ? amountOut - 1 : 0;\n }\n\n function _validArgs(\n uint256 _amountIn,\n address _tokenIn,\n address _tokenOut\n ) internal view returns (bool) {\n return _amountIn != 0 && _tokenIn != _tokenOut && isPoolToken[_tokenIn] && isPoolToken[_tokenOut];\n }\n\n function _getDySafe(\n uint256 _amountIn,\n address _tokenIn,\n address _tokenOut\n ) internal view returns (uint256) {\n try ICurvePlain256(POOL).get_dy(tokenIndex[_tokenIn], tokenIndex[_tokenOut], _amountIn) returns (\n uint256 amountOut\n ) {\n return amountOut;\n } catch {\n return 0;\n }\n }\n\n function _swap(\n uint256 _amountIn,\n uint256 _amountOut,\n address _tokenIn,\n address _tokenOut,\n address _to\n ) internal override {\n ICurvePlain256(POOL).exchange(tokenIndex[_tokenIn], tokenIndex[_tokenOut], _amountIn, _amountOut);\n // Confidently transfer amount-out\n _returnTo(_tokenOut, _amountOut, _to);\n }\n}\n" + }, + "src/contracts/adapters/DodoV1Adapter.sol": { + "content": "// ╟╗ ╔╬\n// ╞╬╬ ╬╠╬\n// ╔╣╬╬╬ ╠╠╠╠╦\n// ╬╬╬╬╬╩ ╘╠╠╠╠╬\n// ║╬╬╬╬╬ ╘╠╠╠╠╬\n// ╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╒╬╬╬╬╬╬╬╜ ╠╠╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╬╬╬╬╬╬╬╬╠╠╠╠╠╠╠╠\n// ╙╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╕ ╬╬╬╬╬╬╬╜ ╣╠╠╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╬╬╬╬╬╬╬╬╬╠╠╠╠╠╠╠╩\n// ╙╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╔╬╬╬╬╬╬╬ ╔╠╠╠╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╣╬╬╬╬╬╬╬╬╬╬╬╠╠╠╠╝╙\n// ╘╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╒╠╠╠╬╠╬╩╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╣╬╬╬╬╬╬╬╙\n// ╣╬╬╬╬╬╬╬╬╬╬╠╣ ╣╬╠╠╠╬╩ ╚╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬\n// ╣╬╬╬╬╬╬╬╬╬╣ ╣╬╠╠╠╬╬ ╣╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬\n// ╟╬╬╬╬╬╬╬╩ ╬╬╠╠╠╠╬╬╬╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╠╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╒╬╬╠╠╬╠╠╬╬╬╬╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╣╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╬╬╬╠╠╠╠╝╝╝╝╝╝╝╠╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╚╬╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╣╬╬╬╬╠╠╩ ╘╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╙╬╬╬╬╬╬╬╬\n//\n\n// SPDX-License-Identifier: GPL-3.0-only\npragma solidity ^0.8.0;\n\nimport \"../interface/IDodoV1.sol\";\nimport \"../interface/IERC20.sol\";\nimport \"../lib/SafeERC20.sol\";\nimport \"../YakAdapter.sol\";\n\ncontract DodoV1Adapter is YakAdapter {\n using SafeERC20 for IERC20;\n\n address public immutable HELPER;\n mapping(address => mapping(address => address)) tknsToPool; // base > quote > pool\n\n constructor(\n string memory _name,\n address[] memory _pools,\n address _helper,\n uint256 _gasEstimate\n ) YakAdapter(_name, _gasEstimate) {\n _setPools(_pools, true);\n HELPER = _helper;\n }\n\n function setPools(address[] memory _pools, bool overwrite) external onlyMaintainer {\n _setPools(_pools, overwrite);\n }\n\n function _rmPools(address[] memory _pools) external onlyMaintainer {\n for (uint256 i; i < _pools.length; ++i) {\n (address baseTkn, address quoteTkn) = _getTknsForPool(_pools[i]);\n tknsToPool[baseTkn][quoteTkn] = address(0);\n }\n }\n\n function _setPools(address[] memory _pools, bool overwrite) internal {\n for (uint256 i; i < _pools.length; ++i) _setPool(_pools[i], overwrite);\n }\n\n function _setPool(address _pool, bool overwrite) internal {\n (address baseTkn, address quoteTkn) = _getTknsForPool(_pool);\n if (!overwrite) _overwriteCheck(baseTkn, quoteTkn, _pool);\n _approveTknsForPool(baseTkn, quoteTkn, _pool);\n tknsToPool[baseTkn][quoteTkn] = _pool;\n }\n\n function _getTknsForPool(address _pool) internal view returns (address baseToken, address quoteToken) {\n baseToken = IDodoV1(_pool)._BASE_TOKEN_();\n quoteToken = IDodoV1(_pool)._QUOTE_TOKEN_();\n }\n\n function _overwriteCheck(\n address baseTkn,\n address quoteTkn,\n address pool\n ) internal view {\n address existingPool = tknsToPool[baseTkn][quoteTkn];\n require(existingPool == address(0) || existingPool == pool, \"Not allowed to overwrite\");\n }\n\n function _approveTknsForPool(\n address _baseTkn,\n address _quoteTkn,\n address _pool\n ) internal {\n IERC20(_baseTkn).safeApprove(_pool, UINT_MAX);\n IERC20(_quoteTkn).safeApprove(_pool, UINT_MAX);\n }\n\n function _query(\n uint256 _amountIn,\n address _tokenIn,\n address _tokenOut\n ) internal view override returns (uint256) {\n if (_amountIn == 0) return 0;\n address pool = tknsToPool[_tokenIn][_tokenOut];\n if (pool != address(0)) return IDodoV1(pool).querySellBaseToken(_amountIn);\n pool = tknsToPool[_tokenOut][_tokenIn];\n if (pool != address(0)) return IDodoHelper(HELPER).querySellQuoteToken(pool, _amountIn);\n }\n\n function _swap(\n uint256 _amountIn,\n uint256 _amountOut,\n address _tokenIn,\n address _tokenOut,\n address _to\n ) internal override {\n address pool = tknsToPool[_tokenIn][_tokenOut];\n if (pool != address(0)) IDodoV1(pool).sellBaseToken(_amountIn, _amountOut, \"\");\n pool = tknsToPool[_tokenOut][_tokenIn];\n if (pool != address(0)) IDodoV1(pool).buyBaseToken(_amountOut, _amountIn, \"\");\n _returnTo(_tokenOut, _amountOut, _to);\n }\n}\n" + }, + "src/contracts/adapters/DodoV2Adapter.sol": { + "content": "// ╟╗ ╔╬\n// ╞╬╬ ╬╠╬\n// ╔╣╬╬╬ ╠╠╠╠╦\n// ╬╬╬╬╬╩ ╘╠╠╠╠╬\n// ║╬╬╬╬╬ ╘╠╠╠╠╬\n// ╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╒╬╬╬╬╬╬╬╜ ╠╠╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╬╬╬╬╬╬╬╬╠╠╠╠╠╠╠╠\n// ╙╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╕ ╬╬╬╬╬╬╬╜ ╣╠╠╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╬╬╬╬╬╬╬╬╬╠╠╠╠╠╠╠╩\n// ╙╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╔╬╬╬╬╬╬╬ ╔╠╠╠╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╣╬╬╬╬╬╬╬╬╬╬╬╠╠╠╠╝╙\n// ╘╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╒╠╠╠╬╠╬╩╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╣╬╬╬╬╬╬╬╙\n// ╣╬╬╬╬╬╬╬╬╬╬╠╣ ╣╬╠╠╠╬╩ ╚╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬\n// ╣╬╬╬╬╬╬╬╬╬╣ ╣╬╠╠╠╬╬ ╣╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬\n// ╟╬╬╬╬╬╬╬╩ ╬╬╠╠╠╠╬╬╬╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╠╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╒╬╬╠╠╬╠╠╬╬╬╬╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╣╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╬╬╬╠╠╠╠╝╝╝╝╝╝╝╠╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╚╬╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╣╬╬╬╬╠╠╩ ╘╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╙╬╬╬╬╬╬╬╬\n//\n\n// SPDX-License-Identifier: GPL-3.0-only\npragma solidity ^0.8.0;\n\nimport \"../interface/IDodoV2.sol\";\nimport \"../interface/IERC20.sol\";\nimport \"../lib/SafeERC20.sol\";\nimport \"../YakAdapter.sol\";\n\ncontract DodoV2Adapter is YakAdapter {\n using SafeERC20 for IERC20;\n\n mapping(address => mapping(address => address)) public tknsToPool; // base > quote > pool\n\n constructor(\n string memory _name,\n address[] memory _pools,\n uint256 _gasEstimate\n ) YakAdapter(_name, _gasEstimate) {\n _setPools(_pools, true);\n }\n\n function setPools(address[] memory _pools, bool overwrite) external onlyMaintainer {\n _setPools(_pools, overwrite);\n }\n\n function _rmPools(address[] memory _pools) external onlyMaintainer {\n for (uint256 i; i < _pools.length; ++i) {\n (address baseTkn, address quoteTkn) = _getTknsForPool(_pools[i]);\n tknsToPool[baseTkn][quoteTkn] = address(0);\n }\n }\n\n function _setPools(address[] memory _pools, bool overwrite) internal {\n for (uint256 i; i < _pools.length; ++i) _setPool(_pools[i], overwrite);\n }\n\n function _setPool(address _pool, bool overwrite) internal {\n (address baseTkn, address quoteTkn) = _getTknsForPool(_pool);\n if (!overwrite) _overwriteCheck(baseTkn, quoteTkn, _pool);\n tknsToPool[baseTkn][quoteTkn] = _pool;\n }\n\n function _getTknsForPool(address _pool) internal view returns (address baseToken, address quoteToken) {\n baseToken = IDodoV2(_pool)._BASE_TOKEN_();\n quoteToken = IDodoV2(_pool)._QUOTE_TOKEN_();\n }\n\n function _overwriteCheck(\n address baseTkn,\n address quoteTkn,\n address pool\n ) internal view {\n address existingPool = tknsToPool[baseTkn][quoteTkn];\n require(existingPool == address(0) || existingPool == pool, \"Not allowed to overwrite\");\n }\n\n function _query(\n uint256 _amountIn,\n address _tokenIn,\n address _tokenOut\n ) internal view override returns (uint256 returnAmount) {\n if (_amountIn == 0) return 0;\n address pool = tknsToPool[_tokenIn][_tokenOut];\n if (pool != address(0)) return IDodoV2(pool).querySellBase(address(this), _amountIn);\n pool = tknsToPool[_tokenOut][_tokenIn];\n if (pool != address(0)) return IDodoV2(pool).querySellQuote(address(this), _amountIn);\n }\n\n function _swap(\n uint256 _amountIn,\n uint256 _amountOut,\n address _tokenIn,\n address _tokenOut,\n address _to\n ) internal override {\n uint256 returned = _dodoSwap(_amountIn, _tokenIn, _tokenOut);\n require(returned >= _amountOut, \"Insufficient amount-out\");\n _returnTo(_tokenOut, returned, _to);\n }\n\n function _dodoSwap(\n uint256 _amountIn,\n address _tokenIn,\n address _tokenOut\n ) internal returns (uint256) {\n (function(address) external returns (uint256) fn, address pool) = _getPoolAndSwapFn(_tokenIn, _tokenOut);\n IERC20(_tokenIn).safeTransfer(pool, _amountIn);\n return fn(address(this));\n }\n\n function _getPoolAndSwapFn(address _tokenIn, address _tokenOut)\n internal\n view\n returns (function(address) external returns (uint256), address)\n {\n address pool = tknsToPool[_tokenIn][_tokenOut];\n if (pool != address(0)) return (IDodoV2(pool).sellBase, pool);\n pool = tknsToPool[_tokenOut][_tokenIn];\n if (pool != address(0)) return (IDodoV2(pool).sellQuote, pool);\n revert(\"Token pair not supported\");\n }\n}\n" + }, + "src/contracts/adapters/DxSwapAdapter.sol": { + "content": "// ╟╗ ╔╬\n// ╞╬╬ ╬╠╬\n// ╔╣╬╬╬ ╠╠╠╠╦\n// ╬╬╬╬╬╩ ╘╠╠╠╠╬\n// ║╬╬╬╬╬ ╘╠╠╠╠╬\n// ╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╒╬╬╬╬╬╬╬╜ ╠╠╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╬╬╬╬╬╬╬╬╠╠╠╠╠╠╠╠\n// ╙╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╕ ╬╬╬╬╬╬╬╜ ╣╠╠╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╬╬╬╬╬╬╬╬╬╠╠╠╠╠╠╠╩\n// ╙╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╔╬╬╬╬╬╬╬ ╔╠╠╠╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╣╬╬╬╬╬╬╬╬╬╬╬╠╠╠╠╝╙\n// ╘╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╒╠╠╠╬╠╬╩╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╣╬╬╬╬╬╬╬╙\n// ╣╬╬╬╬╬╬╬╬╬╬╠╣ ╣╬╠╠╠╬╩ ╚╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬\n// ╣╬╬╬╬╬╬╬╬╬╣ ╣╬╠╠╠╬╬ ╣╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬\n// ╟╬╬╬╬╬╬╬╩ ╬╬╠╠╠╠╬╬╬╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╠╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╒╬╬╠╠╬╠╠╬╬╬╬╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╣╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╬╬╬╠╠╠╠╝╝╝╝╝╝╝╠╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╚╬╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╣╬╬╬╬╠╠╩ ╘╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╙╬╬╬╬╬╬╬╬\n//\n\n// SPDX-License-Identifier: GPL-3.0-only\npragma solidity ^0.8.0;\n\nimport \"../interface/IUniswapFactory.sol\";\nimport \"../interface/IUniswapPair.sol\";\nimport \"../interface/IERC20.sol\";\nimport \"../lib/SafeERC20.sol\";\nimport \"../YakAdapter.sol\";\n\ninterface IDxSwapPair is IUniswapPair {\n function swapFee() external view returns (uint256);\n}\n\ncontract DxSwapAdapter is YakAdapter {\n using SafeERC20 for IERC20;\n\n uint256 internal constant FEE_DENOMINATOR = 1e4;\n address public immutable FACTORY;\n\n constructor(\n string memory _name,\n address _factory,\n uint256 _swapGasEstimate\n ) YakAdapter(_name, _swapGasEstimate) {\n FACTORY = _factory;\n }\n\n function _getAmountOut(\n uint256 _amountIn,\n uint256 _reserveIn,\n uint256 _reserveOut,\n uint256 _fee\n ) internal pure returns (uint256 amountOut) {\n uint256 feeCompliment = FEE_DENOMINATOR - _fee;\n uint256 amountInWithFee = _amountIn * feeCompliment;\n uint256 numerator = amountInWithFee * _reserveOut;\n uint256 denominator = _reserveIn * FEE_DENOMINATOR + amountInWithFee;\n amountOut = numerator / denominator;\n }\n\n function _query(\n uint256 _amountIn,\n address _tokenIn,\n address _tokenOut\n ) internal view override returns (uint256) {\n if (_tokenIn == _tokenOut || _amountIn == 0) {\n return 0;\n }\n address pair = IUniswapFactory(FACTORY).getPair(_tokenIn, _tokenOut);\n if (pair == address(0)) {\n return 0;\n }\n (uint256 r0, uint256 r1, ) = IUniswapPair(pair).getReserves();\n (uint256 reserveIn, uint256 reserveOut) = _tokenIn < _tokenOut ? (r0, r1) : (r1, r0);\n if (reserveIn > 0 && reserveOut > 0) {\n uint256 fee = IDxSwapPair(pair).swapFee();\n return _getAmountOut(_amountIn, reserveIn, reserveOut, fee);\n }\n }\n\n function _swap(\n uint256 _amountIn,\n uint256 _amountOut,\n address _tokenIn,\n address _tokenOut,\n address to\n ) internal override {\n address pair = IUniswapFactory(FACTORY).getPair(_tokenIn, _tokenOut);\n (uint256 amount0Out, uint256 amount1Out) = (_tokenIn < _tokenOut)\n ? (uint256(0), _amountOut)\n : (_amountOut, uint256(0));\n IERC20(_tokenIn).safeTransfer(pair, _amountIn);\n IUniswapPair(pair).swap(amount0Out, amount1Out, to, new bytes(0));\n }\n}\n" + }, + "src/contracts/adapters/GeodeWPAdapter.sol": { + "content": "// ╟╗ ╔╬\n// ╞╬╬ ╬╠╬\n// ╔╣╬╬╬ ╠╠╠╠╦\n// ╬╬╬╬╬╩ ╘╠╠╠╠╬\n// ║╬╬╬╬╬ ╘╠╠╠╠╬\n// ╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╒╬╬╬╬╬╬╬╜ ╠╠╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╬╬╬╬╬╬╬╬╠╠╠╠╠╠╠╠\n// ╙╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╕ ╬╬╬╬╬╬╬╜ ╣╠╠╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╬╬╬╬╬╬╬╬╬╠╠╠╠╠╠╠╩\n// ╙╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╔╬╬╬╬╬╬╬ ╔╠╠╠╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╣╬╬╬╬╬╬╬╬╬╬╬╠╠╠╠╝╙\n// ╘╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╒╠╠╠╬╠╬╩╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╣╬╬╬╬╬╬╬╙\n// ╣╬╬╬╬╬╬╬╬╬╬╠╣ ╣╬╠╠╠╬╩ ╚╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬\n// ╣╬╬╬╬╬╬╬╬╬╣ ╣╬╠╠╠╬╬ ╣╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬\n// ╟╬╬╬╬╬╬╬╩ ╬╬╠╠╠╠╬╬╬╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╠╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╒╬╬╠╠╬╠╠╬╬╬╬╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╣╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╬╬╬╠╠╠╠╝╝╝╝╝╝╝╠╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╚╬╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╣╬╬╬╬╠╠╩ ╘╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╙╬╬╬╬╬╬╬╬\n//\n\n// SPDX-License-Identifier: GPL-3.0-only\npragma solidity ^0.8.0;\n\nimport \"../interface/IGeodePortal.sol\";\nimport \"../interface/IGeodeWP.sol\";\nimport \"../interface/IgAVAX.sol\";\nimport \"../interface/IERC20.sol\";\nimport \"../interface/IWETH.sol\";\nimport \"../YakAdapter.sol\";\n\ncontract GeodeWPAdapter is YakAdapter {\n address internal constant WAVAX = 0xB31f66AA3C1e785363F0875A1B74E27b85FD66c7;\n uint256 internal constant gAVAX_DENOMINATOR = 1e18;\n uint256 internal constant IGNORABLE_DEBT = 1e18;\n uint256 public immutable pooledTknId;\n address public immutable portal;\n address public immutable gavax;\n address public immutable pool;\n address public pooledTknInterface;\n\n constructor(\n string memory _name,\n address _portal,\n uint256 _pooledTknId,\n uint256 _swapGasEstimate\n ) YakAdapter(_name, _swapGasEstimate) {\n pooledTknInterface = IGeodePortal(_portal).planetCurrentInterface(_pooledTknId);\n address _pool = IGeodePortal(_portal).planetWithdrawalPool(_pooledTknId);\n address _gavax = IGeodePortal(_portal).gAVAX();\n IgAVAX(_gavax).setApprovalForAll(_pool, true);\n pooledTknId = _pooledTknId;\n portal = _portal;\n gavax = _gavax;\n pool = _pool;\n }\n\n function setInterfaceForPooledTkn(address interfaceAddress) public onlyMaintainer {\n require(IgAVAX(gavax).isInterface(interfaceAddress, pooledTknId), \"Not valid interface\");\n pooledTknInterface = interfaceAddress;\n }\n\n function setGAvaxAllowance() public onlyMaintainer {\n IgAVAX(gavax).setApprovalForAll(pool, true);\n }\n\n function revokeGAvaxAllowance() public onlyMaintainer {\n IgAVAX(gavax).setApprovalForAll(pool, false);\n }\n\n function onERC1155Received(\n address,\n address,\n uint256,\n uint256,\n bytes memory\n ) public virtual returns (bytes4) {\n return this.onERC1155Received.selector;\n }\n\n function _query(\n uint256 _amountIn,\n address _tokenIn,\n address _tokenOut\n ) internal view override returns (uint256 amountOut) {\n if (_amountIn == 0 || IGeodeWP(pool).paused()) {\n amountOut = 0;\n } else if (_tokenIn == WAVAX && _tokenOut == pooledTknInterface) {\n amountOut = _calcSwapAndMint(_amountIn);\n } else if (_tokenOut == WAVAX && _tokenIn == pooledTknInterface) {\n amountOut = _calcSwap(1, 0, _amountIn);\n }\n }\n\n function _calcSwapAndMint(uint256 amountIn) internal view returns (uint256) {\n uint256 debt = IGeodeWP(pool).getDebt();\n if (debt >= amountIn || _stakingPaused()) {\n // If pool is unbalanced and missing avax it's cheaper to swap\n return _calcSwap(0, 1, amountIn);\n } else {\n // Swap debt and mint the rest\n uint256 amountOutBought;\n if (debt > IGNORABLE_DEBT) {\n amountOutBought = _calcSwap(0, 1, debt);\n amountIn -= debt;\n }\n uint256 amountOutMinted = _calcMint(amountIn);\n return amountOutBought + amountOutMinted;\n }\n }\n\n function _stakingPaused() internal view returns (bool) {\n return IGeodePortal(portal).isStakingPausedForPool(pooledTknId);\n }\n\n function _calcSwap(\n uint8 tknInIndex,\n uint8 tknOutIndex,\n uint256 amountIn\n ) internal view returns (uint256) {\n try IGeodeWP(pool).calculateSwap(tknInIndex, tknOutIndex, amountIn) returns (uint256 amountOut) {\n return amountOut;\n } catch {\n return 0;\n }\n }\n\n function _calcMint(uint256 amountIn) internal view returns (uint256) {\n uint256 price = IgAVAX(gavax).pricePerShare(pooledTknId);\n return (amountIn * gAVAX_DENOMINATOR) / price;\n }\n\n function _swap(\n uint256 _amountIn,\n uint256 _amountOut,\n address _tokenIn,\n address _tokenOut,\n address _to\n ) internal override {\n if (_tokenIn == WAVAX) {\n IWETH(WAVAX).withdraw(_amountIn);\n if (_stakingPaused()) {\n _swapUnderlying(0, 1, _amountIn, _amountOut, _amountIn);\n } else {\n _geodeStake(_amountIn, _amountOut);\n }\n } else {\n _swapUnderlying(1, 0, _amountIn, _amountOut, 0);\n IWETH(WAVAX).deposit{ value: address(this).balance }();\n }\n uint256 balThis = IERC20(_tokenOut).balanceOf(address(this));\n require(balThis >= _amountOut, \"Insufficient amount out\");\n _returnTo(_tokenOut, balThis, _to);\n }\n\n function _swapUnderlying(\n uint8 _tokenInIndex,\n uint8 _tokenOutIndex,\n uint256 _amountIn,\n uint256 _amountOut,\n uint256 _val\n ) internal {\n IGeodeWP(pool).swap{ value: _val }(_tokenInIndex, _tokenOutIndex, _amountIn, _amountOut, block.timestamp);\n }\n\n function _geodeStake(uint256 _amountIn, uint256 _amountOut) internal {\n IGeodePortal(portal).stake{ value: _amountIn }(pooledTknId, _amountOut, block.timestamp);\n }\n}\n" + }, + "src/contracts/adapters/GmxAdapter.sol": { + "content": "// ╟╗ ╔╬\n// ╞╬╬ ╬╠╬\n// ╔╣╬╬╬ ╠╠╠╠╦\n// ╬╬╬╬╬╩ ╘╠╠╠╠╬\n// ║╬╬╬╬╬ ╘╠╠╠╠╬\n// ╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╒╬╬╬╬╬╬╬╜ ╠╠╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╬╬╬╬╬╬╬╬╠╠╠╠╠╠╠╠\n// ╙╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╕ ╬╬╬╬╬╬╬╜ ╣╠╠╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╬╬╬╬╬╬╬╬╬╠╠╠╠╠╠╠╩\n// ╙╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╔╬╬╬╬╬╬╬ ╔╠╠╠╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╣╬╬╬╬╬╬╬╬╬╬╬╠╠╠╠╝╙\n// ╘╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╒╠╠╠╬╠╬╩╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╣╬╬╬╬╬╬╬╙\n// ╣╬╬╬╬╬╬╬╬╬╬╠╣ ╣╬╠╠╠╬╩ ╚╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬\n// ╣╬╬╬╬╬╬╬╬╬╣ ╣╬╠╠╠╬╬ ╣╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬\n// ╟╬╬╬╬╬╬╬╩ ╬╬╠╠╠╠╬╬╬╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╠╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╒╬╬╠╠╬╠╠╬╬╬╬╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╣╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╬╬╬╠╠╠╠╝╝╝╝╝╝╝╠╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╚╬╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╣╬╬╬╬╠╠╩ ╘╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╙╬╬╬╬╬╬╬╬\n//\n\n// SPDX-License-Identifier: GPL-3.0-only\n\npragma solidity ^0.8.0;\n\nimport \"../interface/IGmxVault.sol\";\nimport \"../interface/IERC20.sol\";\nimport \"../lib/SafeERC20.sol\";\nimport \"../YakAdapter.sol\";\n\ncontract GmxAdapter is YakAdapter {\n using SafeERC20 for IERC20;\n\n uint256 public constant BASIS_POINTS_DIVISOR = 1e4;\n uint256 public constant PRICE_PRECISION = 1e30;\n uint256 public constant USDG_DECIMALS = 18;\n address public immutable VAULT;\n bool immutable USE_VAULT_UTILS;\n address immutable USDG;\n mapping(address => bool) public isPoolTkn; // unwanted tkns can be ignored by adapter\n mapping(address => uint256) tokenDecimals;\n\n constructor(\n string memory _name,\n address _vault,\n uint256 _swapGasEstimate\n ) YakAdapter(_name, _swapGasEstimate) {\n _setVaultTkns(_vault);\n USE_VAULT_UTILS = _vaultHasUtils(_vault);\n USDG = IGmxVault(_vault).usdg();\n VAULT = _vault;\n }\n\n // UTILS \\\\\n\n function addPoolTkns(address[] calldata _tokens) external onlyMaintainer {\n for (uint256 i; i < _tokens.length; ++i) _setToken(_tokens[i]);\n }\n\n function rmPoolTkns(address[] calldata _tokens) external onlyMaintainer {\n for (uint256 i; i < _tokens.length; ++i) isPoolTkn[_tokens[i]] = false;\n }\n\n function _setVaultTkns(address _vault) internal {\n uint256 whitelistedTknsLen = IGmxVault(_vault).allWhitelistedTokensLength();\n for (uint256 i = 0; i < whitelistedTknsLen; i++) {\n address token = IGmxVault(_vault).allWhitelistedTokens(i);\n _setToken(token);\n }\n }\n\n function _setToken(address _token) internal {\n tokenDecimals[_token] = IERC20(_token).decimals();\n isPoolTkn[_token] = true;\n }\n\n function _vaultHasUtils(address _vault) internal view returns (bool) {\n try IGmxVault(_vault).vaultUtils() {\n return true;\n } catch {\n return false;\n }\n }\n\n // QUERY \\\\\n\n function _query(\n uint256 _amountIn,\n address _tokenIn,\n address _tokenOut\n ) internal view override returns (uint256) {\n if (_validArgs(_amountIn, _tokenIn, _tokenOut)) return _getAmountOut(_amountIn, _tokenIn, _tokenOut);\n }\n\n function _validArgs(\n uint256 _amountIn,\n address _tokenIn,\n address _tokenOut\n ) internal view returns (bool) {\n return\n _amountIn != 0 &&\n _tokenIn != _tokenOut &&\n isPoolTkn[_tokenIn] &&\n IGmxVault(VAULT).whitelistedTokens(_tokenIn) &&\n IGmxVault(VAULT).whitelistedTokens(_tokenOut) &&\n IGmxVault(VAULT).isSwapEnabled() &&\n _hasVaultEnoughBal(_tokenIn, 1); // Prevents calc problems\n }\n\n function _getAmountOut(\n uint256 _amountIn,\n address _tokenIn,\n address _tokenOut\n ) internal view returns (uint256) {\n (uint256 amountOut, uint256 usdgAmount) = _getGrossAmountOutAndUsdg(_amountIn, _tokenIn, _tokenOut);\n return _calcNetAmountOut(_tokenIn, _tokenOut, amountOut, usdgAmount);\n }\n\n function _calcNetAmountOut(\n address _tokenIn,\n address _tokenOut,\n uint256 _amountOut,\n uint256 _usdgAmount\n ) internal view returns (uint256) {\n uint256 feeBps = _getFeeBasisPoint(_tokenIn, _tokenOut, _usdgAmount);\n uint256 netAmountOut = _amountOutAfterFees(_amountOut, feeBps);\n bool withinVaultLimits = _isWithinVaultLimits(_tokenIn, _tokenOut, _usdgAmount, netAmountOut);\n if (withinVaultLimits) return netAmountOut;\n }\n\n function _getGrossAmountOutAndUsdg(\n uint256 _amountIn,\n address _tokenIn,\n address _tokenOut\n ) internal view returns (uint256 amountOut, uint256 usdgAmount) {\n (uint256 priceIn, uint256 priceOut) = _getPrices(_tokenIn, _tokenOut);\n amountOut = (_amountIn * priceIn) / priceOut;\n amountOut = _adjustForDecimals(amountOut, _tokenIn, _tokenOut);\n usdgAmount = _getUsdgAmount(_amountIn, priceIn, _tokenIn);\n }\n\n function _getUsdgAmount(\n uint256 _amountIn,\n uint256 _priceIn,\n address _tokenIn\n ) internal view returns (uint256 usdgAmount) {\n usdgAmount = (_amountIn * _priceIn) / PRICE_PRECISION;\n usdgAmount = _adjustForDecimals(usdgAmount, _tokenIn, USDG);\n }\n\n function _amountOutAfterFees(uint256 _amountOut, uint256 _feeBasisPoints) internal pure returns (uint256) {\n return (_amountOut * (BASIS_POINTS_DIVISOR - _feeBasisPoints)) / BASIS_POINTS_DIVISOR;\n }\n\n function _adjustForDecimals(\n uint256 _amount,\n address _tokenDiv,\n address _tokenMul\n ) internal view returns (uint256) {\n uint256 decimalsDiv = _tokenDiv == USDG ? USDG_DECIMALS : tokenDecimals[_tokenDiv];\n uint256 decimalsMul = _tokenMul == USDG ? USDG_DECIMALS : tokenDecimals[_tokenMul];\n return (_amount * 10**decimalsMul) / 10**decimalsDiv;\n }\n\n function _getPrices(address _tokenIn, address _tokenOut) internal view returns (uint256 priceIn, uint256 priceOut) {\n IGmxVaultPriceFeed priceFeed = IGmxVault(VAULT).priceFeed();\n priceIn = priceFeed.getPrice(_tokenIn, false, true, true);\n priceOut = priceFeed.getPrice(_tokenOut, true, true, true);\n }\n\n function _hasVaultEnoughBal(address _token, uint256 _amount) private view returns (bool) {\n return IERC20(_token).balanceOf(VAULT) >= _amount;\n }\n\n function _isWithinVaultLimits(\n address _tokenIn,\n address _tokenOut,\n uint256 _amountInUsdg,\n uint256 _amountOut\n ) private view returns (bool) {\n uint256 poolBalTknOut = IGmxVault(VAULT).poolAmounts(_tokenOut);\n if (poolBalTknOut < _amountOut) return false;\n uint256 newPoolBalTknOut = poolBalTknOut - _amountOut;\n return\n !reservedAmountExceeded(newPoolBalTknOut, _tokenOut) &&\n !bufferAmountExceeded(newPoolBalTknOut, _tokenOut) &&\n !maxDebtExceeded(_amountInUsdg, _tokenIn);\n }\n\n function reservedAmountExceeded(uint256 _newPoolBalTknOut, address _tokenOut) internal view returns (bool) {\n uint256 reservedAmount = IGmxVault(VAULT).reservedAmounts(_tokenOut);\n return _newPoolBalTknOut < reservedAmount;\n }\n\n function bufferAmountExceeded(uint256 _newPoolBalTknOut, address _tokenOut) internal view returns (bool) {\n uint256 bufferAmount = IGmxVault(VAULT).bufferAmounts(_tokenOut);\n return _newPoolBalTknOut < bufferAmount;\n }\n\n function maxDebtExceeded(uint256 _amountInUsdg, address _tokenIn) internal view returns (bool) {\n uint256 maxUsdgAmount = IGmxVault(VAULT).maxUsdgAmounts(_tokenIn);\n if (maxUsdgAmount == 0) return false;\n uint256 newUsdgAmount = IGmxVault(VAULT).usdgAmounts(_tokenIn) + _amountInUsdg;\n return newUsdgAmount > maxUsdgAmount;\n }\n\n function _getFeeBasisPoint(\n address _tokenIn,\n address _tokenOut,\n uint256 usdgAmount\n ) internal view returns (uint256) {\n if (USE_VAULT_UTILS)\n return IGmxVault(VAULT).vaultUtils().getSwapFeeBasisPoints(_tokenIn, _tokenOut, usdgAmount);\n return _calcFeeBasisPoints(_tokenIn, _tokenOut, usdgAmount);\n }\n\n function _calcFeeBasisPoints(\n address _tokenIn,\n address _tokenOut,\n uint256 usdgAmount\n ) internal view returns (uint256 feeBasisPoints) {\n bool isStableSwap = IGmxVault(VAULT).stableTokens(_tokenIn) && IGmxVault(VAULT).stableTokens(_tokenOut);\n uint256 baseBps = isStableSwap\n ? IGmxVault(VAULT).stableSwapFeeBasisPoints()\n : IGmxVault(VAULT).swapFeeBasisPoints();\n uint256 taxBps = isStableSwap ? IGmxVault(VAULT).stableTaxBasisPoints() : IGmxVault(VAULT).taxBasisPoints();\n uint256 feesBasisPoints0 = IGmxVault(VAULT).getFeeBasisPoints(_tokenIn, usdgAmount, baseBps, taxBps, true);\n uint256 feesBasisPoints1 = IGmxVault(VAULT).getFeeBasisPoints(_tokenOut, usdgAmount, baseBps, taxBps, false);\n // use the higher of the two fee basis points\n feeBasisPoints = feesBasisPoints0 > feesBasisPoints1 ? feesBasisPoints0 : feesBasisPoints1;\n }\n\n // SWAP \\\\\n\n function _swap(\n uint256 _amountIn,\n uint256 _amountOut,\n address _tokenIn,\n address _tokenOut,\n address _to\n ) internal override {\n IERC20(_tokenIn).safeTransfer(VAULT, _amountIn);\n IGmxVault(VAULT).swap(\n _tokenIn,\n _tokenOut,\n address(this) // No check for amount-out within swap function\n );\n // Confidently transfer amount-out\n _returnTo(_tokenOut, _amountOut, _to);\n }\n}\n" + }, + "src/contracts/adapters/KyberAdapter.sol": { + "content": "// ╟╗ ╔╬\n// ╞╬╬ ╬╠╬\n// ╔╣╬╬╬ ╠╠╠╠╦\n// ╬╬╬╬╬╩ ╘╠╠╠╠╬\n// ║╬╬╬╬╬ ╘╠╠╠╠╬\n// ╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╒╬╬╬╬╬╬╬╜ ╠╠╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╬╬╬╬╬╬╬╬╠╠╠╠╠╠╠╠\n// ╙╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╕ ╬╬╬╬╬╬╬╜ ╣╠╠╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╬╬╬╬╬╬╬╬╬╠╠╠╠╠╠╠╩\n// ╙╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╔╬╬╬╬╬╬╬ ╔╠╠╠╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╣╬╬╬╬╬╬╬╬╬╬╬╠╠╠╠╝╙\n// ╘╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╒╠╠╠╬╠╬╩╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╣╬╬╬╬╬╬╬╙\n// ╣╬╬╬╬╬╬╬╬╬╬╠╣ ╣╬╠╠╠╬╩ ╚╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬\n// ╣╬╬╬╬╬╬╬╬╬╣ ╣╬╠╠╠╬╬ ╣╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬\n// ╟╬╬╬╬╬╬╬╩ ╬╬╠╠╠╠╬╬╬╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╠╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╒╬╬╠╠╬╠╠╬╬╬╬╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╣╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╬╬╬╠╠╠╠╝╝╝╝╝╝╝╠╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╚╬╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╣╬╬╬╬╠╠╩ ╘╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╙╬╬╬╬╬╬╬╬\n//\n\n// SPDX-License-Identifier: GPL-3.0-only\npragma solidity ^0.8.0;\n\nimport \"../interface/IKyberPool.sol\";\nimport \"../interface/IERC20.sol\";\nimport \"../lib/SafeERC20.sol\";\nimport \"../YakAdapter.sol\";\n\ncontract KyberAdapter is YakAdapter {\n using SafeERC20 for IERC20;\n\n uint256 public constant PRECISION = 1e18;\n mapping(address => mapping(address => address)) internal TKNS_TO_POOL;\n\n constructor(\n string memory _name,\n address[] memory _pools,\n uint256 _swapGasEstimate\n ) YakAdapter(_name, _swapGasEstimate) {\n addPools(_pools);\n }\n\n function addPools(address[] memory _pools) public onlyMaintainer {\n // Note: Overrides existing if pool has same tkns but different APR\n for (uint256 i = 0; i < _pools.length; i++) {\n address tkn0 = IKyberPool(_pools[i]).token0();\n address tkn1 = IKyberPool(_pools[i]).token1();\n TKNS_TO_POOL[tkn0][tkn1] = _pools[i];\n TKNS_TO_POOL[tkn1][tkn0] = _pools[i];\n }\n }\n\n function removePools(address[] memory _pools) public onlyMaintainer {\n // Note: Overrides existing if pool has same tkns but different APR\n for (uint256 i = 0; i < _pools.length; i++) {\n address tkn0 = IKyberPool(_pools[i]).token0();\n address tkn1 = IKyberPool(_pools[i]).token1();\n TKNS_TO_POOL[tkn0][tkn1] = address(0);\n TKNS_TO_POOL[tkn1][tkn0] = address(0);\n }\n }\n\n function getPool(address tkn0, address tkn1) public view returns (address) {\n return TKNS_TO_POOL[tkn0][tkn1];\n }\n\n function _getAmountOut(\n uint256 amountIn,\n uint256 vReserveIn,\n uint256 vReserveOut,\n uint256 feeInPrecision\n ) internal pure returns (uint256 amountOut) {\n // Based on https://github.com/dynamic-amm/smart-contracts/blob/master/contracts/libraries/DMMLibrary.sol\n uint256 amountInWithFee = (amountIn * (PRECISION - feeInPrecision)) / PRECISION;\n uint256 numerator = amountInWithFee * vReserveOut;\n uint256 denominator = vReserveIn + amountInWithFee;\n amountOut = numerator / denominator;\n }\n\n function _query(\n uint256 _amountIn,\n address _tokenIn,\n address _tokenOut\n ) internal view override returns (uint256 amountOut) {\n if (_tokenIn == _tokenOut || _amountIn == 0) {\n return 0;\n }\n address pool = getPool(_tokenIn, _tokenOut);\n if (pool == address(0)) {\n return 0;\n }\n (uint112 r0, uint112 r1, uint112 vr0, uint112 vr1, uint256 feeInPrecision) = IKyberPool(pool).getTradeInfo();\n (uint112 reserveIn, uint112 reserveOut) = _tokenIn < _tokenOut ? (r0, r1) : (r1, r0);\n (uint112 vReserveIn, uint112 vReserveOut) = _tokenIn < _tokenOut ? (vr0, vr1) : (vr1, vr0);\n if (reserveIn > 0 && reserveOut > 0) {\n uint256 _amountOut = _getAmountOut(_amountIn, vReserveIn, vReserveOut, feeInPrecision);\n if (reserveOut > amountOut) amountOut = _amountOut;\n }\n }\n\n function _swap(\n uint256 _amountIn,\n uint256 _amountOut,\n address _tokenIn,\n address _tokenOut,\n address to\n ) internal override {\n address pair = getPool(_tokenIn, _tokenOut);\n (uint256 amount0Out, uint256 amount1Out) = (_tokenIn < _tokenOut)\n ? (uint256(0), _amountOut)\n : (_amountOut, uint256(0));\n IERC20(_tokenIn).safeTransfer(pair, _amountIn);\n IKyberPool(pair).swap(amount0Out, amount1Out, to, new bytes(0));\n }\n}\n" + }, + "src/contracts/adapters/KyberElasticAdapter.sol": { + "content": "// ╟╗ ╔╬\n// ╞╬╬ ╬╠╬\n// ╔╣╬╬╬ ╠╠╠╠╦\n// ╬╬╬╬╬╩ ╘╠╠╠╠╬\n// ║╬╬╬╬╬ ╘╠╠╠╠╬\n// ╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╒╬╬╬╬╬╬╬╜ ╠╠╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╬╬╬╬╬╬╬╬╠╠╠╠╠╠╠╠\n// ╙╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╕ ╬╬╬╬╬╬╬╜ ╣╠╠╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╬╬╬╬╬╬╬╬╬╠╠╠╠╠╠╠╩\n// ╙╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╔╬╬╬╬╬╬╬ ╔╠╠╠╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╣╬╬╬╬╬╬╬╬╬╬╬╠╠╠╠╝╙\n// ╘╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╒╠╠╠╬╠╬╩╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╣╬╬╬╬╬╬╬╙\n// ╣╬╬╬╬╬╬╬╬╬╬╠╣ ╣╬╠╠╠╬╩ ╚╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬\n// ╣╬╬╬╬╬╬╬╬╬╣ ╣╬╠╠╠╬╬ ╣╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬\n// ╟╬╬╬╬╬╬╬╩ ╬╬╠╠╠╠╬╬╬╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╠╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╒╬╬╠╠╬╠╠╬╬╬╬╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╣╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╬╬╬╠╠╠╠╝╝╝╝╝╝╝╠╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╚╬╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╣╬╬╬╬╠╠╩ ╘╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╙╬╬╬╬╬╬╬╬\n//\n\n// SPDX-License-Identifier: GPL-3.0-only\npragma solidity ^0.8.0;\n\nimport \"./UniswapV3likeAdapter.sol\";\n\ninterface IKyberPool {\n function token0() external view returns (address);\n\n function token1() external view returns (address);\n\n function swap(\n address recipient,\n int256 swapQty,\n bool isToken0,\n uint160 limitSqrtP,\n bytes calldata data\n ) external returns (int256 qty0, int256 qty1);\n}\n\ncontract KyberElasticAdapter is UniswapV3likeAdapter {\n using SafeERC20 for IERC20;\n\n mapping(address => mapping(address => address)) public tknsToPoolWL;\n\n constructor(\n string memory _name,\n uint256 _swapGasEstimate,\n uint256 _quoterGasLimit,\n address _quoter,\n address[] memory _whitelistedPools\n ) UniswapV3likeAdapter(_name, _swapGasEstimate, _quoter, _quoterGasLimit) {\n addPoolsToWL(_whitelistedPools);\n }\n\n function addPoolsToWL(address[] memory pools) public onlyMaintainer {\n for (uint256 i; i < pools.length; ++i) addPoolToWL(pools[i]);\n }\n\n function rmPoolsFromWL(address[] memory pools) external onlyMaintainer {\n for (uint256 i; i < pools.length; ++i) rmPoolFromWL(pools[i]);\n }\n\n function addPoolToWL(address pool) internal {\n address t0 = IKyberPool(pool).token0();\n address t1 = IKyberPool(pool).token1();\n tknsToPoolWL[t0][t1] = pool;\n tknsToPoolWL[t1][t0] = pool;\n }\n\n function rmPoolFromWL(address pool) internal {\n address t0 = IKyberPool(pool).token0();\n address t1 = IKyberPool(pool).token1();\n tknsToPoolWL[t0][t1] = address(0);\n tknsToPoolWL[t1][t0] = address(0);\n }\n\n function _underlyingSwap(\n QParams memory params, \n bytes memory callbackData\n ) internal override returns (uint256) {\n address pool = getBestPool(params.tokenIn, params.tokenOut);\n (bool zeroForOne, uint160 sqrtPriceLimitX96) = \n getZeroOneAndSqrtPriceLimitX96(params.tokenIn, params.tokenOut);\n (int256 amount0, int256 amount1) = IKyberPool(pool).swap(\n address(this),\n int256(params.amountIn),\n zeroForOne,\n sqrtPriceLimitX96,\n callbackData\n );\n return zeroForOne ? uint256(-amount1) : uint256(-amount0);\n }\n\n function getBestPool(\n address token0, \n address token1\n ) internal view override returns (address) {\n return tknsToPoolWL[token0][token1];\n }\n\n function swapCallback(\n int256 amount0Delta,\n int256 amount1Delta,\n bytes calldata\n ) external {\n if (amount0Delta > 0) {\n IERC20(IKyberPool(msg.sender).token0()).transfer(msg.sender, uint256(amount0Delta));\n } else {\n IERC20(IKyberPool(msg.sender).token1()).transfer(msg.sender, uint256(amount1Delta));\n }\n }\n}\n" + }, + "src/contracts/adapters/LB2Adapter.sol": { + "content": "// ╟╗ ╔╬\n// ╞╬╬ ╬╠╬\n// ╔╣╬╬╬ ╠╠╠╠╦\n// ╬╬╬╬╬╩ ╘╠╠╠╠╬\n// ║╬╬╬╬╬ ╘╠╠╠╠╬\n// ╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╒╬╬╬╬╬╬╬╜ ╠╠╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╬╬╬╬╬╬╬╬╠╠╠╠╠╠╠╠\n// ╙╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╕ ╬╬╬╬╬╬╬╜ ╣╠╠╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╬╬╬╬╬╬╬╬╬╠╠╠╠╠╠╠╩\n// ╙╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╔╬╬╬╬╬╬╬ ╔╠╠╠╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╣╬╬╬╬╬╬╬╬╬╬╬╠╠╠╠╝╙\n// ╘╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╒╠╠╠╬╠╬╩╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╣╬╬╬╬╬╬╬╙\n// ╣╬╬╬╬╬╬╬╬╬╬╠╣ ╣╬╠╠╠╬╩ ╚╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬\n// ╣╬╬╬╬╬╬╬╬╬╣ ╣╬╠╠╠╬╬ ╣╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬\n// ╟╬╬╬╬╬╬╬╩ ╬╬╠╠╠╠╬╬╬╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╠╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╒╬╬╠╠╬╠╠╬╬╬╬╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╣╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╬╬╬╠╠╠╠╝╝╝╝╝╝╝╠╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╚╬╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╣╬╬╬╬╠╠╩ ╘╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╙╬╬╬╬╬╬╬╬\n//\n\n// SPDX-License-Identifier: GPL-3.0-only\npragma solidity ^0.8.0;\n\n\nimport \"../YakAdapter.sol\";\nimport \"../interface/IERC20.sol\";\nimport \"../lib/SafeERC20.sol\";\nimport \"../interface/ILBFactory.sol\";\nimport \"../interface/ILB2Pair.sol\";\n\nstruct LBQuote {\n uint256 amountOut;\n address pair;\n bool swapForY;\n}\n\ncontract LB2Adapter is YakAdapter {\n using SafeERC20 for IERC20;\n\n address public immutable FACTORY;\n bool public allowIgnoredPairs = true;\n bool public allowExternalPairs = true;\n uint256 public quoteGasLimit = 600_000;\n\n constructor(\n string memory _name,\n uint256 _swapGasEstimate,\n uint256 _quoteGasLimit,\n address _factory\n ) YakAdapter(_name, _swapGasEstimate) {\n setQuoteGasLimit(_quoteGasLimit);\n FACTORY = _factory;\n }\n\n function setAllowIgnoredPairs(bool _allowIgnoredPairs) external onlyMaintainer {\n allowIgnoredPairs = _allowIgnoredPairs;\n }\n\n function setAllowExternalPairs(bool _allowExternalPairs) external onlyMaintainer {\n allowExternalPairs = _allowExternalPairs;\n }\n\n function setQuoteGasLimit(uint256 _quoteGasLimit) public onlyMaintainer {\n quoteGasLimit = _quoteGasLimit;\n }\n\n function _query(\n uint256 _amountIn,\n address _tokenIn,\n address _tokenOut\n ) internal view override returns (uint256 amountOut) {\n (amountOut, , ) = _getBestQuote(_amountIn, _tokenIn, _tokenOut);\n }\n\n function _swap(\n uint256 _amountIn,\n uint256 _minAmountOut,\n address _tokenIn,\n address _tokenOut,\n address to\n ) internal override {\n (uint256 amountOut, address pair, bool swapForY) = _getBestQuote(_amountIn, _tokenIn, _tokenOut);\n require(amountOut >= _minAmountOut, \"LBAdapter: insufficient amountOut received\");\n IERC20(_tokenIn).transfer(pair, _amountIn);\n ILBPair(pair).swap(swapForY, to);\n }\n\n function _getBestQuote(\n uint256 _amountIn,\n address _tokenIn,\n address _tokenOut\n )\n internal\n view\n returns (\n uint256 amountOut,\n address pair,\n bool swapForY\n )\n {\n ILBFactory.LBPairInformation[] memory LBPairsAvailable = ILBFactory(FACTORY).getAllLBPairs(_tokenIn, _tokenOut);\n\n if (LBPairsAvailable.length > 0 && _amountIn > 0) {\n for (uint256 i; i < LBPairsAvailable.length; ++i) {\n if (!LBPairsAvailable[i].ignoredForRouting && !allowIgnoredPairs) {\n continue;\n }\n if (!LBPairsAvailable[i].createdByOwner && !allowExternalPairs) {\n continue;\n }\n\n swapForY = ILBPair(LBPairsAvailable[i].LBPair).getTokenY() == _tokenOut;\n uint256 swapAmountOut = getQuote(LBPairsAvailable[i].LBPair, _amountIn, swapForY);\n\n if (swapAmountOut > amountOut) {\n amountOut = swapAmountOut;\n pair = LBPairsAvailable[i].LBPair;\n }\n }\n }\n }\n\n function getQuote(\n address pair,\n uint256 amountIn,\n bool swapForY\n ) internal view returns (uint256 out) {\n try ILBPair(pair).getSwapOut{gas: quoteGasLimit}(\n uint128(amountIn), \n swapForY\n ) returns (uint128 amountInLeft, uint128 amountOut, uint128) {\n if (amountInLeft == 0) {\n out = amountOut;\n }\n } catch {}\n }\n}\n" + }, + "src/contracts/adapters/LBAdapter.sol": { + "content": "// ╟╗ ╔╬\n// ╞╬╬ ╬╠╬\n// ╔╣╬╬╬ ╠╠╠╠╦\n// ╬╬╬╬╬╩ ╘╠╠╠╠╬\n// ║╬╬╬╬╬ ╘╠╠╠╠╬\n// ╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╒╬╬╬╬╬╬╬╜ ╠╠╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╬╬╬╬╬╬╬╬╠╠╠╠╠╠╠╠\n// ╙╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╕ ╬╬╬╬╬╬╬╜ ╣╠╠╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╬╬╬╬╬╬╬╬╬╠╠╠╠╠╠╠╩\n// ╙╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╔╬╬╬╬╬╬╬ ╔╠╠╠╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╣╬╬╬╬╬╬╬╬╬╬╬╠╠╠╠╝╙\n// ╘╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╒╠╠╠╬╠╬╩╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╣╬╬╬╬╬╬╬╙\n// ╣╬╬╬╬╬╬╬╬╬╬╠╣ ╣╬╠╠╠╬╩ ╚╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬\n// ╣╬╬╬╬╬╬╬╬╬╣ ╣╬╠╠╠╬╬ ╣╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬\n// ╟╬╬╬╬╬╬╬╩ ╬╬╠╠╠╠╬╬╬╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╠╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╒╬╬╠╠╬╠╠╬╬╬╬╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╣╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╬╬╬╠╠╠╠╝╝╝╝╝╝╝╠╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╚╬╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╣╬╬╬╬╠╠╩ ╘╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╙╬╬╬╬╬╬╬╬\n//\n\n// SPDX-License-Identifier: GPL-3.0-only\npragma solidity ^0.8.0;\n\nimport \"../YakAdapter.sol\";\nimport \"../interface/IERC20.sol\";\nimport \"../lib/SafeERC20.sol\";\nimport \"../interface/ILBRouter.sol\";\nimport \"../interface/ILBFactory.sol\";\nimport \"../interface/ILBPair.sol\";\n\nstruct LBQuote {\n uint256 amountOut;\n address pair;\n bool swapForY;\n}\n\ncontract LBAdapter is YakAdapter {\n using SafeERC20 for IERC20;\n\n address public immutable FACTORY;\n address public immutable ROUTER;\n bool public allowIgnoredPairs = true;\n bool public allowExternalPairs = true;\n uint256 public quoteGasLimit = 600_000;\n\n constructor(\n string memory _name,\n uint256 _swapGasEstimate,\n address _router\n ) YakAdapter(_name, _swapGasEstimate) {\n FACTORY = ILBRouter(_router).factory();\n ROUTER = _router;\n }\n\n function setAllowIgnoredPairs(bool _allowIgnoredPairs) external onlyMaintainer {\n allowIgnoredPairs = _allowIgnoredPairs;\n }\n\n function setAllowExternalPairs(bool _allowExternalPairs) external onlyMaintainer {\n allowExternalPairs = _allowExternalPairs;\n }\n\n function setQuoteGasLimit(uint256 _quoteGasLimit) external onlyMaintainer {\n quoteGasLimit = _quoteGasLimit;\n }\n\n function _query(\n uint256 _amountIn,\n address _tokenIn,\n address _tokenOut\n ) internal view override returns (uint256 amountOut) {\n (amountOut, , ) = _getBestQuote(_amountIn, _tokenIn, _tokenOut);\n }\n\n function _swap(\n uint256 _amountIn,\n uint256 _minAmountOut,\n address _tokenIn,\n address _tokenOut,\n address to\n ) internal override {\n (uint256 amountOut, address pair, bool swapForY) = _getBestQuote(_amountIn, _tokenIn, _tokenOut);\n require(amountOut >= _minAmountOut, \"LBAdapter: insufficient amountOut received\");\n IERC20(_tokenIn).transfer(pair, _amountIn);\n ILBPair(pair).swap(swapForY, to);\n }\n\n function _getBestQuote(\n uint256 _amountIn,\n address _tokenIn,\n address _tokenOut\n )\n internal\n view\n returns (\n uint256 amountOut,\n address pair,\n bool swapForY\n )\n {\n ILBFactory.LBPairInformation[] memory LBPairsAvailable = ILBFactory(FACTORY).getAllLBPairs(_tokenIn, _tokenOut);\n\n if (LBPairsAvailable.length > 0 && _amountIn > 0) {\n for (uint256 i; i < LBPairsAvailable.length; ++i) {\n if (!LBPairsAvailable[i].ignoredForRouting && !allowIgnoredPairs) {\n continue;\n }\n if (!LBPairsAvailable[i].createdByOwner && !allowExternalPairs) {\n continue;\n }\n\n swapForY = ILBPair(LBPairsAvailable[i].LBPair).tokenY() == _tokenOut;\n uint256 swapAmountOut = getQuote(LBPairsAvailable[i].LBPair, _amountIn, swapForY);\n\n if (swapAmountOut > amountOut) {\n amountOut = swapAmountOut;\n pair = LBPairsAvailable[i].LBPair;\n }\n }\n }\n }\n\n function getQuote(\n address pair,\n uint256 amountIn,\n bool swapForY\n ) internal view returns (uint256 amountOut) {\n bytes memory calldata_ = abi.encodeWithSignature(\"getSwapOut(address,uint256,bool)\", pair, amountIn, swapForY);\n (bool success, bytes memory data) = ROUTER.staticcall{ gas: quoteGasLimit }(calldata_);\n if (success)\n assembly {\n amountOut := mload(add(data, 0x20))\n }\n }\n}\n" + }, + "src/contracts/adapters/MiniYakAdapter.sol": { + "content": "// ╟╗ ╔╬\n// ╞╬╬ ╬╠╬\n// ╔╣╬╬╬ ╠╠╠╠╦\n// ╬╬╬╬╬╩ ╘╠╠╠╠╬\n// ║╬╬╬╬╬ ╘╠╠╠╠╬\n// ╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╒╬╬╬╬╬╬╬╜ ╠╠╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╬╬╬╬╬╬╬╬╠╠╠╠╠╠╠╠\n// ╙╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╕ ╬╬╬╬╬╬╬╜ ╣╠╠╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╬╬╬╬╬╬╬╬╬╠╠╠╠╠╠╠╩\n// ╙╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╔╬╬╬╬╬╬╬ ╔╠╠╠╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╣╬╬╬╬╬╬╬╬╬╬╬╠╠╠╠╝╙\n// ╘╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╒╠╠╠╬╠╬╩╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╣╬╬╬╬╬╬╬╙\n// ╣╬╬╬╬╬╬╬╬╬╬╠╣ ╣╬╠╠╠╬╩ ╚╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬\n// ╣╬╬╬╬╬╬╬╬╬╣ ╣╬╠╠╠╬╬ ╣╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬\n// ╟╬╬╬╬╬╬╬╩ ╬╬╠╠╠╠╬╬╬╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╠╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╒╬╬╠╠╬╠╠╬╬╬╬╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╣╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╬╬╬╠╠╠╠╝╝╝╝╝╝╝╠╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╚╬╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╣╬╬╬╬╠╠╩ ╘╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╙╬╬╬╬╬╬╬╬\n//\n\n// SPDX-License-Identifier: GPL-3.0-only\npragma solidity ^0.8.0;\n\nimport \"../interface/ImYAK.sol\";\nimport \"../lib/SafeERC20.sol\";\nimport \"../YakAdapter.sol\";\n\ncontract MiniYakAdapter is YakAdapter {\n using SafeERC20 for IERC20;\n\n address public constant YAK = 0x59414b3089ce2AF0010e7523Dea7E2b35d776ec7;\n address public constant mYAK = 0xdDAaAD7366B455AfF8E7c82940C43CEB5829B604;\n\n constructor(uint256 _swapGasEstimate) YakAdapter(\"MiniYakAdapter\", _swapGasEstimate) {\n setAllowances();\n }\n\n function setAllowances() internal {\n IERC20(mYAK).safeApprove(mYAK, UINT_MAX);\n IERC20(YAK).safeApprove(mYAK, UINT_MAX);\n }\n\n function _query(\n uint256 _amountIn,\n address _tokenIn,\n address _tokenOut\n ) internal pure override returns (uint256 amountOut) {\n if ((_tokenIn == mYAK && _tokenOut == YAK) || (_tokenIn == YAK && _tokenOut == mYAK)) {\n amountOut = _amountIn;\n }\n }\n\n function _swap(\n uint256 _amountIn,\n uint256,\n address _tokenIn,\n address _tokenOut,\n address _to\n ) internal override {\n if (_tokenIn == mYAK && _tokenOut == YAK) {\n ImYAK(mYAK).unmoon(_amountIn, _to);\n } else if (_tokenIn == YAK && _tokenOut == mYAK) {\n ImYAK(mYAK).moon(_amountIn, _to);\n } else {\n revert(\"Unsupported token\");\n }\n }\n}\n" + }, + "src/contracts/adapters/PlatypusAdapter.sol": { + "content": "// ╟╗ ╔╬\n// ╞╬╬ ╬╠╬\n// ╔╣╬╬╬ ╠╠╠╠╦\n// ╬╬╬╬╬╩ ╘╠╠╠╠╬\n// ║╬╬╬╬╬ ╘╠╠╠╠╬\n// ╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╒╬╬╬╬╬╬╬╜ ╠╠╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╬╬╬╬╬╬╬╬╠╠╠╠╠╠╠╠\n// ╙╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╕ ╬╬╬╬╬╬╬╜ ╣╠╠╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╬╬╬╬╬╬╬╬╬╠╠╠╠╠╠╠╩\n// ╙╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╔╬╬╬╬╬╬╬ ╔╠╠╠╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╣╬╬╬╬╬╬╬╬╬╬╬╠╠╠╠╝╙\n// ╘╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╒╠╠╠╬╠╬╩╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╣╬╬╬╬╬╬╬╙\n// ╣╬╬╬╬╬╬╬╬╬╬╠╣ ╣╬╠╠╠╬╩ ╚╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬\n// ╣╬╬╬╬╬╬╬╬╬╣ ╣╬╠╠╠╬╬ ╣╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬\n// ╟╬╬╬╬╬╬╬╩ ╬╬╠╠╠╠╬╬╬╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╠╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╒╬╬╠╠╬╠╠╬╬╬╬╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╣╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╬╬╬╠╠╠╠╝╝╝╝╝╝╝╠╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╚╬╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╣╬╬╬╬╠╠╩ ╘╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╙╬╬╬╬╬╬╬╬\n//\n// ,=.\n// ,=\"\"\"\"==.__.=\" o\".___\n// ,=.==\" ___/\n// ,==.,\" , , \\,===\"\"\n// < ,==) \\\"'\"=._.==) \\\n// `=='' `\" `\"\n//\n\n// SPDX-License-Identifier: GPL-3.0-only\npragma solidity ^0.8.0;\n\nimport \"../interface/IPlatypus.sol\";\nimport \"../interface/IERC20.sol\";\nimport \"../interface/IWETH.sol\";\nimport \"../lib/SafeERC20.sol\";\nimport \"../YakAdapter.sol\";\n\ncontract PlatypusAdapter is YakAdapter {\n using SafeERC20 for IERC20;\n\n event PartialPoolSupport(address pool, address[] tkns);\n event AddPoolSupport(address pool);\n event RmPoolSupport(address pool);\n\n mapping(address => mapping(address => address)) private tknToTknToPool;\n\n constructor(\n string memory _name,\n uint256 _swapGasEstimate,\n address[] memory _initPools\n ) YakAdapter(_name, _swapGasEstimate) {\n addPools(_initPools);\n }\n\n function getPoolForTkns(address tknIn, address tknOut) public view returns (address) {\n return tknToTknToPool[tknIn][tknOut];\n }\n\n function _approveIfNeeded(address tkn, address spender) internal {\n uint256 allowance = IERC20(tkn).allowance(address(this), spender);\n if (allowance < UINT_MAX) {\n IERC20(tkn).approve(spender, UINT_MAX);\n }\n }\n\n // @dev Returns false if repeated tkns\n function _poolSupportsTkns(address pool, address[] memory tkns) internal view returns (bool) {\n address[] memory supportedTkns = IPlatypus(pool).getTokenAddresses();\n uint256 supportedCount;\n for (uint256 i = 0; i < supportedTkns.length; i++) {\n for (uint256 j = 0; j < tkns.length; j++) {\n if (supportedTkns[i] == tkns[j]) {\n supportedCount++;\n break;\n }\n }\n }\n return supportedCount == tkns.length;\n }\n\n function _setPoolForTkns(address[] memory tkns, address pool) internal {\n for (uint256 i = 0; i < tkns.length; i++) {\n for (uint256 j = 0; j < tkns.length; j++) {\n if (i != j) {\n tknToTknToPool[tkns[i]][tkns[j]] = pool;\n if (pool != address(0)) {\n _approveIfNeeded(tkns[i], pool);\n }\n }\n }\n }\n }\n\n function addPools(address[] memory pools) public onlyMaintainer {\n for (uint256 i = 0; i < pools.length; i++) {\n address pool = pools[i];\n address[] memory supportedTkns = IPlatypus(pool).getTokenAddresses();\n _setPoolForTkns(supportedTkns, pool);\n emit AddPoolSupport(pool);\n }\n }\n\n function setPoolForTkns(address pool, address[] memory tkns) external onlyMaintainer {\n require(tkns.length > 1, \"At least two tkns\");\n require(pool != address(0), \"Only non-zero pool\");\n require(_poolSupportsTkns(pool, tkns), \"Pool does not support tkns\");\n // Assume above checks there is no repeats\n _setPoolForTkns(tkns, pool);\n emit PartialPoolSupport(pool, tkns);\n }\n\n function rmPools(address[] calldata pools) external onlyMaintainer {\n for (uint256 i = 0; i < pools.length; i++) {\n address pool = pools[i];\n address[] memory supportedTkns = IPlatypus(pool).getTokenAddresses();\n _setPoolForTkns(supportedTkns, address(0));\n emit RmPoolSupport(pool);\n }\n }\n\n function _query(\n uint256 _amountIn,\n address _tokenIn,\n address _tokenOut\n ) internal view override returns (uint256) {\n address pool = getPoolForTkns(_tokenIn, _tokenOut);\n if (pool == address(0) || _amountIn == 0 || IPlatypus(pool).paused()) {\n return 0;\n }\n try IPlatypus(pool).quotePotentialSwap(_tokenIn, _tokenOut, _amountIn) returns (uint256 amountOut) {\n return amountOut;\n } catch {\n return 0;\n }\n }\n\n function _swap(\n uint256 _amountIn,\n uint256 _amountOut,\n address _tokenIn,\n address _tokenOut,\n address _to\n ) internal override {\n address pool = getPoolForTkns(_tokenIn, _tokenOut);\n IPlatypus(pool).swap(_tokenIn, _tokenOut, _amountIn, _amountOut, _to, block.timestamp);\n }\n}\n" + }, + "src/contracts/adapters/SaddleAdapter.sol": { + "content": "// ╟╗ ╔╬\n// ╞╬╬ ╬╠╬\n// ╔╣╬╬╬ ╠╠╠╠╦\n// ╬╬╬╬╬╩ ╘╠╠╠╠╬\n// ║╬╬╬╬╬ ╘╠╠╠╠╬\n// ╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╒╬╬╬╬╬╬╬╜ ╠╠╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╬╬╬╬╬╬╬╬╠╠╠╠╠╠╠╠\n// ╙╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╕ ╬╬╬╬╬╬╬╜ ╣╠╠╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╬╬╬╬╬╬╬╬╬╠╠╠╠╠╠╠╩\n// ╙╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╔╬╬╬╬╬╬╬ ╔╠╠╠╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╣╬╬╬╬╬╬╬╬╬╬╬╠╠╠╠╝╙\n// ╘╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╒╠╠╠╬╠╬╩╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╣╬╬╬╬╬╬╬╙\n// ╣╬╬╬╬╬╬╬╬╬╬╠╣ ╣╬╠╠╠╬╩ ╚╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬\n// ╣╬╬╬╬╬╬╬╬╬╣ ╣╬╠╠╠╬╬ ╣╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬\n// ╟╬╬╬╬╬╬╬╩ ╬╬╠╠╠╠╬╬╬╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╠╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╒╬╬╠╠╬╠╠╬╬╬╬╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╣╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╬╬╬╠╠╠╠╝╝╝╝╝╝╝╠╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╚╬╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╣╬╬╬╬╠╠╩ ╘╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╙╬╬╬╬╬╬╬╬\n//\n\n// SPDX-License-Identifier: GPL-3.0-only\npragma solidity ^0.8.0;\n\nimport \"../interface/ISaddle.sol\";\nimport \"../interface/IERC20.sol\";\nimport \"../interface/IWETH.sol\";\nimport \"../lib/SafeERC20.sol\";\nimport \"../YakAdapter.sol\";\n\ncontract SaddleAdapter is YakAdapter {\n using SafeERC20 for IERC20;\n\n mapping(address => bool) public isPoolToken;\n mapping(address => uint8) public tokenIndex;\n address public pool;\n\n constructor(\n string memory _name,\n address _pool,\n uint256 _swapGasEstimate\n ) YakAdapter(_name, _swapGasEstimate) {\n pool = _pool;\n _setPoolTokens();\n }\n\n function _setPoolTokens() internal {\n for (uint8 i = 0; true; i++) {\n try ISaddle(pool).getToken(i) returns (address token) {\n approveToPool(token, UINT_MAX);\n isPoolToken[token] = true;\n tokenIndex[token] = i;\n } catch {\n break;\n }\n }\n }\n\n function approveToPool(address _tokenIn, uint256 _amount) internal {\n uint256 allowance = IERC20(_tokenIn).allowance(address(this), pool);\n if (allowance < _amount) {\n IERC20(_tokenIn).safeApprove(pool, UINT_MAX);\n }\n }\n\n function _query(\n uint256 _amountIn,\n address _tokenIn,\n address _tokenOut\n ) internal view override returns (uint256) {\n if (\n !isPoolToken[_tokenIn] ||\n !isPoolToken[_tokenOut] ||\n _tokenIn == _tokenOut ||\n _amountIn == 0 ||\n ISaddle(pool).paused()\n ) {\n return 0;\n }\n try ISaddle(pool).calculateSwap(tokenIndex[_tokenIn], tokenIndex[_tokenOut], _amountIn) returns (\n uint256 amountOut\n ) {\n return amountOut;\n } catch {\n return 0;\n }\n }\n\n function _swap(\n uint256 _amountIn,\n uint256 _amountOut,\n address _tokenIn,\n address _tokenOut,\n address _to\n ) internal override {\n // Note that unsupported token will return index 0 which is valid\n ISaddle(pool).swap(tokenIndex[_tokenIn], tokenIndex[_tokenOut], _amountIn, _amountOut, block.timestamp);\n // Confidently transfer amount-out\n _returnTo(_tokenOut, _amountOut, _to);\n }\n}\n" + }, + "src/contracts/adapters/SaddleMetaAdapter.sol": { + "content": "// ╟╗ ╔╬\n// ╞╬╬ ╬╠╬\n// ╔╣╬╬╬ ╠╠╠╠╦\n// ╬╬╬╬╬╩ ╘╠╠╠╠╬\n// ║╬╬╬╬╬ ╘╠╠╠╠╬\n// ╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╒╬╬╬╬╬╬╬╜ ╠╠╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╬╬╬╬╬╬╬╬╠╠╠╠╠╠╠╠\n// ╙╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╕ ╬╬╬╬╬╬╬╜ ╣╠╠╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╬╬╬╬╬╬╬╬╬╠╠╠╠╠╠╠╩\n// ╙╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╔╬╬╬╬╬╬╬ ╔╠╠╠╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╣╬╬╬╬╬╬╬╬╬╬╬╠╠╠╠╝╙\n// ╘╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╒╠╠╠╬╠╬╩╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╣╬╬╬╬╬╬╬╙\n// ╣╬╬╬╬╬╬╬╬╬╬╠╣ ╣╬╠╠╠╬╩ ╚╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬\n// ╣╬╬╬╬╬╬╬╬╬╣ ╣╬╠╠╠╬╬ ╣╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬\n// ╟╬╬╬╬╬╬╬╩ ╬╬╠╠╠╠╬╬╬╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╠╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╒╬╬╠╠╬╠╠╬╬╬╬╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╣╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╬╬╬╠╠╠╠╝╝╝╝╝╝╝╠╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╚╬╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╣╬╬╬╬╠╠╩ ╘╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╙╬╬╬╬╬╬╬╬\n//\n\n// SPDX-License-Identifier: GPL-3.0-only\npragma solidity ^0.8.0;\n\nimport \"../interface/ISaddleMeta.sol\";\nimport \"../interface/IERC20.sol\";\nimport \"../lib/SafeERC20.sol\";\nimport \"../YakAdapter.sol\";\n\ncontract SaddleMetaAdapter is YakAdapter {\n using SafeERC20 for IERC20;\n\n uint256 public constant feeDenominator = 1e10;\n mapping(address => bool) public isPoolToken;\n mapping(address => uint8) public tokenIndex;\n uint256 public poolFeeCompliment;\n address public metaPool;\n address public metaTkn;\n address public pool;\n\n constructor(\n string memory _name,\n address _pool,\n uint256 _swapGasEstimate\n ) YakAdapter(_name, _swapGasEstimate) {\n pool = _pool;\n metaPool = ISaddleMeta(pool).metaSwapStorage(); // Pool that holds USDCe, USDTe, DAIe\n _setPoolTokens();\n }\n\n // Mapping indicator which tokens are included in the pool\n function _setPoolTokens() internal {\n metaTkn = ISaddleMeta(pool).getToken(0);\n approveToPool(metaTkn, UINT_MAX);\n tokenIndex[metaTkn] = 0;\n for (uint8 i = 0; true; i++) {\n try ISaddleMeta(metaPool).getToken(i) returns (address token) {\n approveToPool(token, UINT_MAX);\n isPoolToken[token] = true;\n tokenIndex[token] = i + 1;\n } catch {\n break;\n }\n }\n }\n\n function approveToPool(address _tokenIn, uint256 _amount) internal {\n uint256 allowance = IERC20(_tokenIn).allowance(address(this), pool);\n if (allowance < _amount) {\n IERC20(_tokenIn).safeApprove(pool, UINT_MAX);\n }\n }\n\n function _isPaused() internal view returns (bool) {\n return ISaddleMeta(pool).paused() || ISaddleMeta(metaPool).paused();\n }\n\n function _query(\n uint256 _amountIn,\n address _tokenIn,\n address _tokenOut\n ) internal view override returns (uint256 amountOut) {\n if (validInput(_amountIn, _tokenIn, _tokenOut) && !_isPaused())\n amountOut = _getAmountOutSafe(_amountIn, _tokenIn, _tokenOut);\n }\n\n function validInput(\n uint256 _amountIn,\n address _tokenIn,\n address _tokenOut\n ) internal view returns (bool) {\n return validPath(_tokenIn, _tokenOut) && _amountIn != 0;\n }\n\n function validPath(address tokenIn, address tokenOut) internal view returns (bool) {\n return (tokenIn == metaTkn && isPoolToken[tokenOut]) || (tokenOut == metaTkn && isPoolToken[tokenIn]);\n }\n\n function _getAmountOutSafe(\n uint256 _amountIn,\n address _tokenIn,\n address _tokenOut\n ) internal view returns (uint256 amountOut) {\n try ISaddleMeta(pool).calculateSwapUnderlying(tokenIndex[_tokenIn], tokenIndex[_tokenOut], _amountIn) returns (\n uint256 _amountOut\n ) {\n amountOut = _applyError(_amountOut);\n } catch {}\n }\n\n function _applyError(uint256 _amount) internal pure returns (uint256) {\n return (_amount * 9998) / 10000;\n }\n\n function _swap(\n uint256 _amountIn,\n uint256 _amountOut,\n address _tokenIn,\n address _tokenOut,\n address _to\n ) internal override {\n ISaddleMeta(pool).swapUnderlying(\n tokenIndex[_tokenIn],\n tokenIndex[_tokenOut],\n _amountIn,\n _amountOut,\n block.timestamp\n );\n uint256 balThis = IERC20(_tokenOut).balanceOf(address(this));\n _returnTo(_tokenOut, balThis, _to);\n }\n}\n" + }, + "src/contracts/adapters/SyncSwapAdapter.sol": { + "content": "// ╟╗ ╔╬\n// ╞╬╬ ╬╠╬\n// ╔╣╬╬╬ ╠╠╠╠╦\n// ╬╬╬╬╬╩ ╘╠╠╠╠╬\n// ║╬╬╬╬╬ ╘╠╠╠╠╬\n// ╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╒╬╬╬╬╬╬╬╜ ╠╠╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╬╬╬╬╬╬╬╬╠╠╠╠╠╠╠╠\n// ╙╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╕ ╬╬╬╬╬╬╬╜ ╣╠╠╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╬╬╬╬╬╬╬╬╬╠╠╠╠╠╠╠╩\n// ╙╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╔╬╬╬╬╬╬╬ ╔╠╠╠╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╣╬╬╬╬╬╬╬╬╬╬╬╠╠╠╠╝╙\n// ╘╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╒╠╠╠╬╠╬╩╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╣╬╬╬╬╬╬╬╙\n// ╣╬╬╬╬╬╬╬╬╬╬╠╣ ╣╬╠╠╠╬╩ ╚╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬\n// ╣╬╬╬╬╬╬╬╬╬╣ ╣╬╠╠╠╬╬ ╣╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬\n// ╟╬╬╬╬╬╬╬╩ ╬╬╠╠╠╠╬╬╬╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╠╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╒╬╬╠╠╬╠╠╬╬╬╬╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╣╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╬╬╬╠╠╠╠╝╝╝╝╝╝╝╠╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╚╬╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╣╬╬╬╬╠╠╩ ╘╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╙╬╬╬╬╬╬╬╬\n//\n\n// SPDX-License-Identifier: GPL-3.0-only\npragma solidity ^0.8.0;\n\nimport \"../interface/IERC20.sol\";\nimport \"../lib/SafeERC20.sol\";\nimport \"../YakAdapter.sol\";\n\ninterface IFactory {\n function getPool(address,address) external view returns (address);\n}\n\ninterface IPair {\n function getAmountOut(uint256, address) external view returns (uint256);\n function swap(\n bytes calldata data,\n address sender,\n address callback,\n bytes calldata callbackData\n ) external returns (address token,uint amount);\n}\n\ninterface IVault {\n function deposit(address token, address to) external returns (uint amount);\n}\n\ncontract SyncSwapAdapter is YakAdapter {\n using SafeERC20 for IERC20;\n\n address immutable FACTORY;\n address immutable STABLE_FACTORY;\n address immutable VAULT;\n\n constructor(\n string memory _name,\n address _factory,\n address _stableFactory,\n address _vault,\n uint256 _swapGasEstimate\n ) YakAdapter(_name, _swapGasEstimate) {\n FACTORY = _factory;\n STABLE_FACTORY = _stableFactory;\n VAULT = _vault;\n }\n\n function getQuoteAndPair(\n uint256 _amountIn,\n address _tokenIn,\n address _tokenOut\n ) internal view returns (uint256 amountOut, address pair) {\n address stablePair = IFactory(STABLE_FACTORY).getPool(_tokenIn, _tokenOut);\n uint amountOutStable;\n if (stablePair > address(0)) \n amountOutStable = IPair(stablePair).getAmountOut(_amountIn, _tokenIn);\n \n pair = IFactory(FACTORY).getPool(_tokenIn, _tokenOut);\n if (pair > address(0))\n amountOut = IPair(pair).getAmountOut(_amountIn, _tokenIn);\n\n if (amountOutStable > amountOut) {\n amountOut = amountOutStable;\n pair = stablePair;\n }\n }\n\n function _query(\n uint256 _amountIn,\n address _tokenIn,\n address _tokenOut\n ) internal view override returns (uint256 amountOut) {\n if (_tokenIn != _tokenOut && _amountIn != 0)\n (amountOut, ) = getQuoteAndPair(_amountIn, _tokenIn, _tokenOut);\n }\n\n function _swap(\n uint256 _amountIn,\n uint256 _amountOut,\n address _tokenIn,\n address _tokenOut,\n address _to\n ) internal override {\n (uint256 amountOut, address pair) = getQuoteAndPair(_amountIn, _tokenIn, _tokenOut);\n require(amountOut >= _amountOut, \"Insufficent amount out\");\n IERC20(_tokenIn).safeTransfer(VAULT, _amountIn);\n IVault(VAULT).deposit(_tokenIn, pair);\n bytes memory data = abi.encode(_tokenIn, _tokenOut, 2);\n IPair(pair).swap(data, address(this), address(0), '');\n _returnTo(_tokenOut, _amountOut, _to);\n }\n}\n" + }, + "src/contracts/adapters/UniswapV2Adapter.sol": { + "content": "// ╟╗ ╔╬\n// ╞╬╬ ╬╠╬\n// ╔╣╬╬╬ ╠╠╠╠╦\n// ╬╬╬╬╬╩ ╘╠╠╠╠╬\n// ║╬╬╬╬╬ ╘╠╠╠╠╬\n// ╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╒╬╬╬╬╬╬╬╜ ╠╠╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╬╬╬╬╬╬╬╬╠╠╠╠╠╠╠╠\n// ╙╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╕ ╬╬╬╬╬╬╬╜ ╣╠╠╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╬╬╬╬╬╬╬╬╬╠╠╠╠╠╠╠╩\n// ╙╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╔╬╬╬╬╬╬╬ ╔╠╠╠╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╣╬╬╬╬╬╬╬╬╬╬╬╠╠╠╠╝╙\n// ╘╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╒╠╠╠╬╠╬╩╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╣╬╬╬╬╬╬╬╙\n// ╣╬╬╬╬╬╬╬╬╬╬╠╣ ╣╬╠╠╠╬╩ ╚╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬\n// ╣╬╬╬╬╬╬╬╬╬╣ ╣╬╠╠╠╬╬ ╣╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬\n// ╟╬╬╬╬╬╬╬╩ ╬╬╠╠╠╠╬╬╬╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╠╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╒╬╬╠╠╬╠╠╬╬╬╬╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╣╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╬╬╬╠╠╠╠╝╝╝╝╝╝╝╠╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╚╬╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╣╬╬╬╬╠╠╩ ╘╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╙╬╬╬╬╬╬╬╬\n//\n\n// SPDX-License-Identifier: GPL-3.0-only\npragma solidity ^0.8.0;\n\nimport \"../interface/IUniswapFactory.sol\";\nimport \"../interface/IUniswapPair.sol\";\nimport \"../interface/IERC20.sol\";\nimport \"../lib/SafeERC20.sol\";\nimport \"../YakAdapter.sol\";\n\ncontract UniswapV2Adapter is YakAdapter {\n using SafeERC20 for IERC20;\n\n uint256 internal constant FEE_DENOMINATOR = 1e3;\n uint256 public immutable feeCompliment;\n address public immutable factory;\n\n constructor(\n string memory _name,\n address _factory,\n uint256 _fee,\n uint256 _swapGasEstimate\n ) YakAdapter(_name, _swapGasEstimate) {\n feeCompliment = FEE_DENOMINATOR - _fee;\n factory = _factory;\n }\n\n function _getAmountOut(\n uint256 _amountIn,\n uint256 _reserveIn,\n uint256 _reserveOut\n ) internal view returns (uint256 amountOut) {\n // Based on https://github.com/Uniswap/uniswap-v2-periphery/blob/master/contracts/UniswapV2Router02.sol\n uint256 amountInWithFee = _amountIn * feeCompliment;\n uint256 numerator = amountInWithFee * _reserveOut;\n uint256 denominator = _reserveIn * FEE_DENOMINATOR + amountInWithFee;\n amountOut = numerator / denominator;\n }\n\n function _query(\n uint256 _amountIn,\n address _tokenIn,\n address _tokenOut\n ) internal view override returns (uint256 amountOut) {\n if (_tokenIn == _tokenOut || _amountIn == 0) {\n return 0;\n }\n address pair = IUniswapFactory(factory).getPair(_tokenIn, _tokenOut);\n if (pair == address(0)) {\n return 0;\n }\n (uint256 r0, uint256 r1, ) = IUniswapPair(pair).getReserves();\n (uint256 reserveIn, uint256 reserveOut) = _tokenIn < _tokenOut ? (r0, r1) : (r1, r0);\n if (reserveIn > 0 && reserveOut > 0) {\n amountOut = _getAmountOut(_amountIn, reserveIn, reserveOut);\n }\n }\n\n function _swap(\n uint256 _amountIn,\n uint256 _amountOut,\n address _tokenIn,\n address _tokenOut,\n address to\n ) internal override {\n address pair = IUniswapFactory(factory).getPair(_tokenIn, _tokenOut);\n (uint256 amount0Out, uint256 amount1Out) = (_tokenIn < _tokenOut)\n ? (uint256(0), _amountOut)\n : (_amountOut, uint256(0));\n IERC20(_tokenIn).safeTransfer(pair, _amountIn);\n IUniswapPair(pair).swap(amount0Out, amount1Out, to, new bytes(0));\n }\n}\n" + }, + "src/contracts/adapters/UniswapV3Adapter.sol": { + "content": "// ╟╗ ╔╬\n// ╞╬╬ ╬╠╬\n// ╔╣╬╬╬ ╠╠╠╠╦\n// ╬╬╬╬╬╩ ╘╠╠╠╠╬\n// ║╬╬╬╬╬ ╘╠╠╠╠╬\n// ╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╒╬╬╬╬╬╬╬╜ ╠╠╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╬╬╬╬╬╬╬╬╠╠╠╠╠╠╠╠\n// ╙╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╕ ╬╬╬╬╬╬╬╜ ╣╠╠╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╬╬╬╬╬╬╬╬╬╠╠╠╠╠╠╠╩\n// ╙╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╔╬╬╬╬╬╬╬ ╔╠╠╠╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╣╬╬╬╬╬╬╬╬╬╬╬╠╠╠╠╝╙\n// ╘╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╒╠╠╠╬╠╬╩╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╣╬╬╬╬╬╬╬╙\n// ╣╬╬╬╬╬╬╬╬╬╬╠╣ ╣╬╠╠╠╬╩ ╚╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬\n// ╣╬╬╬╬╬╬╬╬╬╣ ╣╬╠╠╠╬╬ ╣╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬\n// ╟╬╬╬╬╬╬╬╩ ╬╬╠╠╠╠╬╬╬╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╠╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╒╬╬╠╠╬╠╠╬╬╬╬╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╣╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╬╬╬╠╠╠╠╝╝╝╝╝╝╝╠╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╚╬╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╣╬╬╬╬╠╠╩ ╘╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╙╬╬╬╬╬╬╬╬\n//\n\n// SPDX-License-Identifier: GPL-3.0-only\npragma solidity ^0.8.0;\n\nimport \"./UniswapV3likeAdapter.sol\";\n\ninterface IUniV3Factory {\n function feeAmountTickSpacing(uint24) external view returns (int24);\n\n function getPool(\n address,\n address,\n uint24\n ) external view returns (address);\n}\n\ncontract UniswapV3Adapter is UniswapV3likeAdapter {\n using SafeERC20 for IERC20;\n\n address immutable FACTORY;\n mapping(uint24 => bool) public isFeeAmountEnabled;\n uint24[] public feeAmounts;\n\n constructor(\n string memory _name,\n uint256 _swapGasEstimate,\n uint256 _quoterGasLimit,\n address _quoter,\n address _factory\n ) UniswapV3likeAdapter(_name, _swapGasEstimate, _quoter, _quoterGasLimit) {\n addDefaultFeeAmounts();\n FACTORY = _factory;\n }\n\n function addDefaultFeeAmounts() internal {\n addFeeAmount(500);\n addFeeAmount(3000);\n addFeeAmount(10000);\n }\n\n function enableFeeAmounts(uint24[] calldata _amounts) external onlyMaintainer {\n for (uint256 i; i < _amounts.length; ++i) enableFeeAmount(_amounts[i]);\n }\n\n function enableFeeAmount(uint24 _fee) internal {\n require(!isFeeAmountEnabled[_fee], \"Fee already enabled\");\n if (IUniV3Factory(FACTORY).feeAmountTickSpacing(_fee) == 0)\n revert(\"Factory doesn't support fee\");\n addFeeAmount(_fee);\n }\n\n function addFeeAmount(uint24 _fee) internal {\n isFeeAmountEnabled[_fee] = true;\n feeAmounts.push(_fee);\n }\n\n function getBestPool(\n address token0, \n address token1\n ) internal view override returns (address mostLiquid) {\n uint128 deepestLiquidity;\n for (uint256 i; i < feeAmounts.length; ++i) {\n address pool = IUniV3Factory(FACTORY).getPool(token0, token1, feeAmounts[i]);\n if (pool == address(0))\n continue;\n uint128 liquidity = IUniV3Pool(pool).liquidity();\n if (liquidity > deepestLiquidity) {\n deepestLiquidity = liquidity;\n mostLiquid = pool;\n }\n }\n }\n\n function uniswapV3SwapCallback(\n int256 amount0Delta,\n int256 amount1Delta,\n bytes calldata\n ) external {\n if (amount0Delta > 0) {\n IERC20(IUniV3Pool(msg.sender).token0()).transfer(msg.sender, uint256(amount0Delta));\n } else {\n IERC20(IUniV3Pool(msg.sender).token1()).transfer(msg.sender, uint256(amount1Delta));\n }\n }\n}\n" + }, + "src/contracts/adapters/UniswapV3likeAdapter.sol": { + "content": "// ╟╗ ╔╬\n// ╞╬╬ ╬╠╬\n// ╔╣╬╬╬ ╠╠╠╠╦\n// ╬╬╬╬╬╩ ╘╠╠╠╠╬\n// ║╬╬╬╬╬ ╘╠╠╠╠╬\n// ╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╒╬╬╬╬╬╬╬╜ ╠╠╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╬╬╬╬╬╬╬╬╠╠╠╠╠╠╠╠\n// ╙╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╕ ╬╬╬╬╬╬╬╜ ╣╠╠╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╬╬╬╬╬╬╬╬╬╠╠╠╠╠╠╠╩\n// ╙╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╔╬╬╬╬╬╬╬ ╔╠╠╠╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╣╬╬╬╬╬╬╬╬╬╬╬╠╠╠╠╝╙\n// ╘╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╒╠╠╠╬╠╬╩╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╣╬╬╬╬╬╬╬╙\n// ╣╬╬╬╬╬╬╬╬╬╬╠╣ ╣╬╠╠╠╬╩ ╚╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬\n// ╣╬╬╬╬╬╬╬╬╬╣ ╣╬╠╠╠╬╬ ╣╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬\n// ╟╬╬╬╬╬╬╬╩ ╬╬╠╠╠╠╬╬╬╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╠╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╒╬╬╠╠╬╠╠╬╬╬╬╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╣╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╬╬╬╠╠╠╠╝╝╝╝╝╝╝╠╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╚╬╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╣╬╬╬╬╠╠╩ ╘╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╙╬╬╬╬╬╬╬╬\n//\n\n// SPDX-License-Identifier: GPL-3.0-only\npragma solidity ^0.8.0;\n\nimport \"../interface/IERC20.sol\";\nimport \"../lib/SafeERC20.sol\";\nimport \"../YakAdapter.sol\";\n\nstruct QParams {\n address tokenIn;\n address tokenOut;\n int256 amountIn;\n uint24 fee;\n}\n\ninterface IUniV3Pool {\n function swap(\n address recipient,\n bool zeroForOne,\n int256 amountSpecified,\n uint160 sqrtPriceLimitX96,\n bytes calldata data\n ) external returns (int256 amount0, int256 amount1);\n\n function token0() external view returns (address);\n\n function token1() external view returns (address);\n\n function liquidity() external view returns (uint128);\n}\n\ninterface IUniV3Quoter {\n function quoteExactInputSingle(\n QParams memory params\n ) external view returns (uint256);\n\n function quote(\n address,\n bool,\n int256,\n uint160\n ) external view returns (int256, int256);\n}\n\nabstract contract UniswapV3likeAdapter is YakAdapter {\n using SafeERC20 for IERC20;\n\n uint160 internal constant MAX_SQRT_RATIO = 1461446703485210103287273052203988822378723970342;\n uint160 internal constant MIN_SQRT_RATIO = 4295128739;\n uint256 public quoterGasLimit;\n address public quoter;\n\n constructor(\n string memory _name,\n uint256 _swapGasEstimate,\n address _quoter,\n uint256 _quoterGasLimit\n ) YakAdapter(_name, _swapGasEstimate) {\n setQuoterGasLimit(_quoterGasLimit);\n setQuoter(_quoter);\n }\n\n function setQuoter(address newQuoter) public onlyMaintainer {\n quoter = newQuoter;\n }\n\n function setQuoterGasLimit(uint256 newLimit) public onlyMaintainer {\n require(newLimit != 0, \"queryGasLimit can't be zero\");\n quoterGasLimit = newLimit;\n }\n\n function getQuoteForPool(\n address pool,\n int256 amountIn,\n address tokenIn,\n address tokenOut\n ) external view returns (uint256) {\n QParams memory params;\n params.amountIn = amountIn;\n params.tokenIn = tokenIn;\n params.tokenOut = tokenOut;\n return getQuoteForPool(pool, params);\n }\n\n function _query(\n uint256 _amountIn,\n address _tokenIn,\n address _tokenOut\n ) internal view override returns (uint256 quote) {\n QParams memory params = getQParams(_amountIn, _tokenIn, _tokenOut);\n quote = getQuoteForBestPool(params);\n }\n\n function _swap(\n uint256 _amountIn,\n uint256 _amountOut,\n address _tokenIn,\n address _tokenOut,\n address _to\n ) internal override {\n QParams memory params = getQParams(_amountIn, _tokenIn, _tokenOut);\n uint256 amountOut = _underlyingSwap(params, new bytes(0));\n require(amountOut >= _amountOut, \"Insufficient amountOut\");\n _returnTo(_tokenOut, amountOut, _to);\n }\n\n function getQParams(\n uint256 amountIn,\n address tokenIn,\n address tokenOut\n ) internal pure returns (QParams memory params) {\n params = QParams({ \n amountIn: int256(amountIn), \n tokenIn: tokenIn, \n tokenOut: tokenOut, \n fee: 0 \n });\n }\n\n function _underlyingSwap(\n QParams memory params, \n bytes memory callbackData\n ) internal virtual returns (uint256) {\n address pool = getBestPool(params.tokenIn, params.tokenOut);\n (bool zeroForOne, uint160 priceLimit) = getZeroOneAndSqrtPriceLimitX96(\n params.tokenIn, \n params.tokenOut\n );\n (int256 amount0, int256 amount1) = IUniV3Pool(pool).swap(\n address(this),\n zeroForOne,\n int256(params.amountIn),\n priceLimit,\n callbackData\n );\n return zeroForOne ? uint256(-amount1) : uint256(-amount0);\n }\n\n function getQuoteForBestPool(\n QParams memory params\n ) internal view returns (uint256 quote) {\n address bestPool = getBestPool(params.tokenIn, params.tokenOut);\n if (bestPool != address(0)) quote = getQuoteForPool(bestPool, params);\n }\n\n function getBestPool(\n address token0, \n address token1\n ) internal view virtual returns (address mostLiquid);\n \n function getQuoteForPool(\n address pool, \n QParams memory params\n ) internal view returns (uint256) {\n (bool zeroForOne, uint160 priceLimit) = getZeroOneAndSqrtPriceLimitX96(\n params.tokenIn, \n params.tokenOut\n );\n (int256 amount0, int256 amount1) = getQuoteSafe(\n pool,\n zeroForOne,\n params.amountIn,\n priceLimit\n );\n return zeroForOne ? uint256(-amount1) : uint256(-amount0);\n }\n\n function getQuoteSafe(\n address pool, \n bool zeroForOne,\n int256 amountIn,\n uint160 priceLimit\n ) internal view returns (int256 amount0, int256 amount1) {\n bytes memory calldata_ = abi.encodeWithSignature(\n \"quote(address,bool,int256,uint160)\",\n pool,\n zeroForOne,\n amountIn,\n priceLimit\n );\n (bool success, bytes memory data) = staticCallQuoterRaw(calldata_);\n if (success)\n (amount0, amount1) = abi.decode(data, (int256, int256));\n }\n\n function staticCallQuoterRaw(\n bytes memory calldata_\n ) internal view returns (bool success, bytes memory data) {\n (success, data) = quoter.staticcall{gas: quoterGasLimit}(calldata_);\n }\n\n function getZeroOneAndSqrtPriceLimitX96(address tokenIn, address tokenOut)\n internal\n pure\n returns (bool zeroForOne, uint160 sqrtPriceLimitX96)\n {\n zeroForOne = tokenIn < tokenOut;\n sqrtPriceLimitX96 = zeroForOne ? MIN_SQRT_RATIO+1 : MAX_SQRT_RATIO-1;\n }\n}\n" + }, + "src/contracts/adapters/VelocoreAdapter.sol": { + "content": "// ╟╗ ╔╬\n// ╞╬╬ ╬╠╬\n// ╔╣╬╬╬ ╠╠╠╠╦\n// ╬╬╬╬╬╩ ╘╠╠╠╠╬\n// ║╬╬╬╬╬ ╘╠╠╠╠╬\n// ╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╒╬╬╬╬╬╬╬╜ ╠╠╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╬╬╬╬╬╬╬╬╠╠╠╠╠╠╠╠\n// ╙╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╕ ╬╬╬╬╬╬╬╜ ╣╠╠╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╬╬╬╬╬╬╬╬╬╠╠╠╠╠╠╠╩\n// ╙╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╔╬╬╬╬╬╬╬ ╔╠╠╠╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╣╬╬╬╬╬╬╬╬╬╬╬╠╠╠╠╝╙\n// ╘╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╒╠╠╠╬╠╬╩╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╣╬╬╬╬╬╬╬╙\n// ╣╬╬╬╬╬╬╬╬╬╬╠╣ ╣╬╠╠╠╬╩ ╚╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬\n// ╣╬╬╬╬╬╬╬╬╬╣ ╣╬╠╠╠╬╬ ╣╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬\n// ╟╬╬╬╬╬╬╬╩ ╬╬╠╠╠╠╬╬╬╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╠╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╒╬╬╠╠╬╠╠╬╬╬╬╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╣╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╬╬╬╠╠╠╠╝╝╝╝╝╝╝╠╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╚╬╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╣╬╬╬╬╠╠╩ ╘╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╙╬╬╬╬╬╬╬╬\n//\n\n// SPDX-License-Identifier: GPL-3.0-only\npragma solidity ^0.8.0;\n\nimport \"../interface/IERC20.sol\";\nimport \"../lib/SafeERC20.sol\";\nimport \"../YakAdapter.sol\";\n\ninterface IFactory {\n function getPair(address,address,bool) external view returns (address);\n}\n\ninterface IPair {\n function getAmountOut(uint256, address) external view returns (uint256);\n function swap(\n uint256 amount0Out,\n uint256 amount1Out,\n address to,\n bytes calldata data\n ) external;\n}\n\ncontract VelocoreAdapter is YakAdapter {\n using SafeERC20 for IERC20;\n\n address immutable FACTORY;\n\n constructor(\n string memory _name,\n address _factory,\n uint256 _swapGasEstimate\n ) YakAdapter(_name, _swapGasEstimate) {\n FACTORY = _factory;\n }\n\n function getQuoteAndPair(\n uint256 _amountIn,\n address _tokenIn,\n address _tokenOut\n ) internal view returns (uint256 amountOut, address pair) {\n address stablePair = IFactory(FACTORY).getPair(_tokenIn, _tokenOut, true);\n uint amountOutStable;\n if (stablePair > address(0)) \n amountOutStable = IPair(stablePair).getAmountOut(_amountIn, _tokenIn);\n \n pair = IFactory(FACTORY).getPair(_tokenIn, _tokenOut, false);\n if (pair > address(0))\n amountOut = IPair(pair).getAmountOut(_amountIn, _tokenIn);\n\n if (amountOutStable > amountOut) {\n amountOut = amountOutStable;\n pair = stablePair;\n }\n }\n\n function _query(\n uint256 _amountIn,\n address _tokenIn,\n address _tokenOut\n ) internal view override returns (uint256 amountOut) {\n if (_tokenIn != _tokenOut && _amountIn != 0)\n (amountOut, ) = getQuoteAndPair(_amountIn, _tokenIn, _tokenOut);\n }\n\n function _swap(\n uint256 _amountIn,\n uint256 _amountOut,\n address _tokenIn,\n address _tokenOut,\n address to\n ) internal override {\n (uint256 amountOut, address pair) = getQuoteAndPair(_amountIn, _tokenIn, _tokenOut);\n require(amountOut >= _amountOut, \"Insufficent amount out\");\n (uint256 amount0Out, uint256 amount1Out) = (_tokenIn < _tokenOut)\n ? (uint256(0), amountOut)\n : (amountOut, uint256(0));\n IERC20(_tokenIn).safeTransfer(pair, _amountIn);\n IPair(pair).swap(amount0Out, amount1Out, to, new bytes(0));\n }\n}\n" + }, + "src/contracts/adapters/VelodromeAdapter.sol": { + "content": "// ╟╗ ╔╬\n// ╞╬╬ ╬╠╬\n// ╔╣╬╬╬ ╠╠╠╠╦\n// ╬╬╬╬╬╩ ╘╠╠╠╠╬\n// ║╬╬╬╬╬ ╘╠╠╠╠╬\n// ╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╒╬╬╬╬╬╬╬╜ ╠╠╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╬╬╬╬╬╬╬╬╠╠╠╠╠╠╠╠\n// ╙╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╕ ╬╬╬╬╬╬╬╜ ╣╠╠╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╬╬╬╬╬╬╬╬╬╠╠╠╠╠╠╠╩\n// ╙╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╔╬╬╬╬╬╬╬ ╔╠╠╠╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╣╬╬╬╬╬╬╬╬╬╬╬╠╠╠╠╝╙\n// ╘╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╒╠╠╠╬╠╬╩╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╣╬╬╬╬╬╬╬╙\n// ╣╬╬╬╬╬╬╬╬╬╬╠╣ ╣╬╠╠╠╬╩ ╚╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬\n// ╣╬╬╬╬╬╬╬╬╬╣ ╣╬╠╠╠╬╬ ╣╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬\n// ╟╬╬╬╬╬╬╬╩ ╬╬╠╠╠╠╬╬╬╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╠╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╒╬╬╠╠╬╠╠╬╬╬╬╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╣╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╬╬╬╠╠╠╠╝╝╝╝╝╝╝╠╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╚╬╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╣╬╬╬╬╠╠╩ ╘╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╙╬╬╬╬╬╬╬╬\n//\n\n// SPDX-License-Identifier: GPL-3.0-only\npragma solidity ^0.8.0;\n\nimport \"../interface/IERC20.sol\";\nimport \"../lib/SafeERC20.sol\";\nimport \"../YakAdapter.sol\";\n\ninterface IPairFactory {\n function isPair(address) external view returns (bool);\n\n function pairCodeHash() external view returns (bytes32);\n}\n\ninterface IPair {\n function getAmountOut(uint256, address) external view returns (uint256);\n\n function swap(\n uint256,\n uint256,\n address,\n bytes calldata\n ) external;\n}\n\ncontract VelodromeAdapter is YakAdapter {\n using SafeERC20 for IERC20;\n\n bytes32 immutable PAIR_CODE_HASH;\n address immutable FACTORY;\n\n constructor(\n string memory _name,\n address _factory,\n uint256 _swapGasEstimate\n ) YakAdapter(_name, _swapGasEstimate) {\n FACTORY = _factory;\n PAIR_CODE_HASH = getPairCodeHash(_factory);\n }\n\n function getPairCodeHash(address _factory) internal view returns (bytes32) {\n return IPairFactory(_factory).pairCodeHash();\n }\n\n function sortTokens(address tokenA, address tokenB) internal pure returns (address token0, address token1) {\n (token0, token1) = tokenA < tokenB ? (tokenA, tokenB) : (tokenB, tokenA);\n }\n\n // calculates the CREATE2 address for a pair without making any external calls\n function pairFor(\n address tokenA,\n address tokenB,\n bool stable\n ) internal view returns (address pair) {\n (address token0, address token1) = sortTokens(tokenA, tokenB);\n pair = address(\n uint160(\n uint256(\n keccak256(\n abi.encodePacked(\n hex\"ff\",\n FACTORY,\n keccak256(abi.encodePacked(token0, token1, stable)),\n PAIR_CODE_HASH\n )\n )\n )\n )\n );\n }\n\n function _getAmoutOutSafe(address pair, uint amountIn, address tokenIn) internal view returns (uint) {\n try IPair(pair).getAmountOut(amountIn, tokenIn) returns (uint amountOut) {\n return amountOut;\n } catch {\n return 0;\n }\n }\n\n function getQuoteAndPair(\n uint256 _amountIn,\n address _tokenIn,\n address _tokenOut\n ) internal view returns (uint256 amountOut, address pair) {\n address pairStable = pairFor(_tokenIn, _tokenOut, true);\n uint256 amountStable;\n uint256 amountVolatile;\n if (IPairFactory(FACTORY).isPair(pairStable)) {\n amountStable = _getAmoutOutSafe(pairStable, _amountIn, _tokenIn);\n }\n address pairVolatile = pairFor(_tokenIn, _tokenOut, false);\n if (IPairFactory(FACTORY).isPair(pairVolatile)) {\n amountVolatile = _getAmoutOutSafe(pairVolatile, _amountIn, _tokenIn);\n }\n (amountOut, pair) = amountStable > amountVolatile ? (amountStable, pairStable) : (amountVolatile, pairVolatile);\n }\n\n function _query(\n uint256 _amountIn,\n address _tokenIn,\n address _tokenOut\n ) internal view override returns (uint256 amountOut) {\n if (_tokenIn != _tokenOut && _amountIn != 0) (amountOut, ) = getQuoteAndPair(_amountIn, _tokenIn, _tokenOut);\n }\n\n function _swap(\n uint256 _amountIn,\n uint256 _amountOut,\n address _tokenIn,\n address _tokenOut,\n address to\n ) internal override {\n (uint256 amountOut, address pair) = getQuoteAndPair(_amountIn, _tokenIn, _tokenOut);\n require(amountOut >= _amountOut, \"Insufficent amount out\");\n (uint256 amount0Out, uint256 amount1Out) = (_tokenIn < _tokenOut)\n ? (uint256(0), amountOut)\n : (amountOut, uint256(0));\n IERC20(_tokenIn).safeTransfer(pair, _amountIn);\n IPair(pair).swap(amount0Out, amount1Out, to, new bytes(0));\n }\n}\n" + }, + "src/contracts/adapters/WAvaxAdapter.sol": { + "content": "// ╟╗ ╔╬\n// ╞╬╬ ╬╠╬\n// ╔╣╬╬╬ ╠╠╠╠╦\n// ╬╬╬╬╬╩ ╘╠╠╠╠╬\n// ║╬╬╬╬╬ ╘╠╠╠╠╬\n// ╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╒╬╬╬╬╬╬╬╜ ╠╠╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╬╬╬╬╬╬╬╬╠╠╠╠╠╠╠╠\n// ╙╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╕ ╬╬╬╬╬╬╬╜ ╣╠╠╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╬╬╬╬╬╬╬╬╬╠╠╠╠╠╠╠╩\n// ╙╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╔╬╬╬╬╬╬╬ ╔╠╠╠╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╣╬╬╬╬╬╬╬╬╬╬╬╠╠╠╠╝╙\n// ╘╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╒╠╠╠╬╠╬╩╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╣╬╬╬╬╬╬╬╙\n// ╣╬╬╬╬╬╬╬╬╬╬╠╣ ╣╬╠╠╠╬╩ ╚╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬\n// ╣╬╬╬╬╬╬╬╬╬╣ ╣╬╠╠╠╬╬ ╣╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬\n// ╟╬╬╬╬╬╬╬╩ ╬╬╠╠╠╠╬╬╬╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╠╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╒╬╬╠╠╬╠╠╬╬╬╬╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╣╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╬╬╬╠╠╠╠╝╝╝╝╝╝╝╠╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╚╬╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╣╬╬╬╬╠╠╩ ╘╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╙╬╬╬╬╬╬╬╬\n//\n//\n\n// SPDX-License-Identifier: GPL-3.0-only\npragma solidity ^0.8.0;\n\nimport \"../YakAdapter.sol\";\n\ncontract WAvaxAdapter is YakAdapter {\n address internal constant WAVAX = 0xB31f66AA3C1e785363F0875A1B74E27b85FD66c7;\n\n constructor(uint256 _swapGasEstimate) YakAdapter(\"WAvaxAdapter\", _swapGasEstimate) {\n setSwapGasEstimate(_swapGasEstimate);\n }\n\n function _query(\n uint256 _amountIn,\n address _tokenIn,\n address _tokenOut\n ) internal pure override returns (uint256 amountOut) {\n if (_tokenIn == WAVAX && _tokenOut == WAVAX) {\n amountOut = _amountIn;\n }\n }\n\n function _swap(\n uint256,\n uint256 _amountOut,\n address,\n address _tokenOut,\n address _to\n ) internal override {\n _returnTo(_tokenOut, _amountOut, _to);\n }\n}\n" + }, + "src/contracts/adapters/WNativeAdapter.sol": { + "content": "// ╟╗ ╔╬\n// ╞╬╬ ╬╠╬\n// ╔╣╬╬╬ ╠╠╠╠╦\n// ╬╬╬╬╬╩ ╘╠╠╠╠╬\n// ║╬╬╬╬╬ ╘╠╠╠╠╬\n// ╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╒╬╬╬╬╬╬╬╜ ╠╠╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╬╬╬╬╬╬╬╬╠╠╠╠╠╠╠╠\n// ╙╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╕ ╬╬╬╬╬╬╬╜ ╣╠╠╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╬╬╬╬╬╬╬╬╬╠╠╠╠╠╠╠╩\n// ╙╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╔╬╬╬╬╬╬╬ ╔╠╠╠╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╣╬╬╬╬╬╬╬╬╬╬╬╠╠╠╠╝╙\n// ╘╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╒╠╠╠╬╠╬╩╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╣╬╬╬╬╬╬╬╙\n// ╣╬╬╬╬╬╬╬╬╬╬╠╣ ╣╬╠╠╠╬╩ ╚╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬\n// ╣╬╬╬╬╬╬╬╬╬╣ ╣╬╠╠╠╬╬ ╣╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬\n// ╟╬╬╬╬╬╬╬╩ ╬╬╠╠╠╠╬╬╬╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╠╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╒╬╬╠╠╬╠╠╬╬╬╬╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╣╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╬╬╬╠╠╠╠╝╝╝╝╝╝╝╠╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╚╬╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╣╬╬╬╬╠╠╩ ╘╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╙╬╬╬╬╬╬╬╬\n//\n//\n\n// SPDX-License-Identifier: GPL-3.0-only\npragma solidity ^0.8.0;\n\nimport \"../YakAdapter.sol\";\n\ncontract WNativeAdapter is YakAdapter {\n address internal immutable WNATIVE;\n\n constructor(\n address _wNative,\n uint256 _swapGasEstimate\n ) YakAdapter(\"WAvaxAdapter\", _swapGasEstimate) {\n WNATIVE = _wNative;\n setSwapGasEstimate(_swapGasEstimate);\n }\n\n function _query(\n uint256 _amountIn,\n address _tokenIn,\n address _tokenOut\n ) internal view override returns (uint256 amountOut) {\n if (_tokenIn == WNATIVE && _tokenOut == WNATIVE)\n amountOut = _amountIn;\n }\n\n function _swap(\n uint256 _amountIn,\n uint256,\n address,\n address _tokenOut,\n address _to\n ) internal override {\n _returnTo(_tokenOut, _amountIn, _to);\n }\n}\n" + }, + "src/contracts/adapters/WoofiAdapter.sol": { + "content": "// ╟╗ ╔╬\n// ╞╬╬ ╬╠╬\n// ╔╣╬╬╬ ╠╠╠╠╦\n// ╬╬╬╬╬╩ ╘╠╠╠╠╬\n// ║╬╬╬╬╬ ╘╠╠╠╠╬\n// ╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╒╬╬╬╬╬╬╬╜ ╠╠╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╬╬╬╬╬╬╬╬╠╠╠╠╠╠╠╠\n// ╙╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╕ ╬╬╬╬╬╬╬╜ ╣╠╠╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╬╬╬╬╬╬╬╬╬╠╠╠╠╠╠╠╩\n// ╙╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╔╬╬╬╬╬╬╬ ╔╠╠╠╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╣╬╬╬╬╬╬╬╬╬╬╬╠╠╠╠╝╙\n// ╘╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╒╠╠╠╬╠╬╩╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╣╬╬╬╬╬╬╬╙\n// ╣╬╬╬╬╬╬╬╬╬╬╠╣ ╣╬╠╠╠╬╩ ╚╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬\n// ╣╬╬╬╬╬╬╬╬╬╣ ╣╬╠╠╠╬╬ ╣╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬\n// ╟╬╬╬╬╬╬╬╩ ╬╬╠╠╠╠╬╬╬╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╠╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╒╬╬╠╠╬╠╠╬╬╬╬╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╣╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╬╬╬╠╠╠╠╝╝╝╝╝╝╝╠╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╚╬╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╣╬╬╬╬╠╠╩ ╘╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╙╬╬╬╬╬╬╬╬\n//\n\n// SPDX-License-Identifier: GPL-3.0-only\n\npragma solidity ^0.8.0;\n\nimport \"../interface/IWooPP.sol\";\nimport \"../interface/IERC20.sol\";\nimport \"../lib/SafeERC20.sol\";\nimport \"../YakAdapter.sol\";\n\ncontract WoofiAdapter is YakAdapter {\n using SafeERC20 for IERC20;\n\n address public immutable quoteToken;\n address public immutable pool;\n address public rebateCollector;\n\n constructor(\n string memory _name,\n uint256 _swapGasEstimate,\n address _pool\n ) YakAdapter(_name, _swapGasEstimate) {\n address _quoteToken = IWooPP(_pool).quoteToken();\n IERC20(_quoteToken).approve(_pool, UINT_MAX);\n quoteToken = _quoteToken;\n pool = _pool;\n }\n\n function setRebateCollector(address _rebateCollector) external onlyMaintainer {\n rebateCollector = _rebateCollector;\n }\n\n function _query(\n uint256 _amountIn,\n address _tokenIn,\n address _tokenOut\n ) internal view override returns (uint256 amountOut) {\n if (_amountIn == 0) {\n return 0;\n }\n if (_tokenIn == quoteToken) {\n amountOut = _safeQuery(IWooPP(pool).querySellQuote, _tokenOut, _amountIn);\n } else if (_tokenOut == quoteToken) {\n amountOut = _safeQuery(IWooPP(pool).querySellBase, _tokenIn, _amountIn);\n } else {\n uint256 quoteAmount = _safeQuery(IWooPP(pool).querySellBase, _tokenIn, _amountIn);\n amountOut = _safeQuery(IWooPP(pool).querySellQuote, _tokenOut, quoteAmount);\n }\n }\n\n function _safeQuery(\n function(address, uint256) external view returns (uint256) qFn,\n address _baseToken,\n uint256 _baseAmount\n ) internal view returns (uint256) {\n try qFn(_baseToken, _baseAmount) returns (uint256 amountOut) {\n return amountOut;\n } catch {\n return 0;\n }\n }\n\n function _swap(\n uint256 _amountIn,\n uint256 _amountOut,\n address _tokenIn,\n address _tokenOut,\n address _to\n ) internal override {\n _approveIfNeeded(_tokenIn, _amountIn);\n uint256 realToAmount;\n if (_tokenIn == quoteToken) {\n realToAmount = IWooPP(pool).sellQuote(_tokenOut, _amountIn, _amountOut, _to, rebateCollector);\n } else if (_tokenOut == quoteToken) {\n realToAmount = IWooPP(pool).sellBase(_tokenIn, _amountIn, _amountOut, _to, rebateCollector);\n } else {\n uint256 quoteAmount = IWooPP(pool).sellBase(_tokenIn, _amountIn, 0, address(this), rebateCollector);\n realToAmount = IWooPP(pool).sellQuote(_tokenOut, quoteAmount, _amountOut, _to, rebateCollector);\n }\n }\n\n function _approveIfNeeded(address _tokenIn, uint256 _amount) internal {\n uint256 allowance = IERC20(_tokenIn).allowance(address(this), pool);\n if (allowance < _amount) {\n IERC20(_tokenIn).approve(pool, UINT_MAX);\n }\n }\n}\n" + }, + "src/contracts/adapters/WoofiV2Adapter.sol": { + "content": "// ╟╗ ╔╬\n// ╞╬╬ ╬╠╬\n// ╔╣╬╬╬ ╠╠╠╠╦\n// ╬╬╬╬╬╩ ╘╠╠╠╠╬\n// ║╬╬╬╬╬ ╘╠╠╠╠╬\n// ╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╒╬╬╬╬╬╬╬╜ ╠╠╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╬╬╬╬╬╬╬╬╠╠╠╠╠╠╠╠\n// ╙╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╕ ╬╬╬╬╬╬╬╜ ╣╠╠╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╬╬╬╬╬╬╬╬╬╠╠╠╠╠╠╠╩\n// ╙╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╔╬╬╬╬╬╬╬ ╔╠╠╠╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╣╬╬╬╬╬╬╬╬╬╬╬╠╠╠╠╝╙\n// ╘╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╒╠╠╠╬╠╬╩╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╣╬╬╬╬╬╬╬╙\n// ╣╬╬╬╬╬╬╬╬╬╬╠╣ ╣╬╠╠╠╬╩ ╚╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬\n// ╣╬╬╬╬╬╬╬╬╬╣ ╣╬╠╠╠╬╬ ╣╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬\n// ╟╬╬╬╬╬╬╬╩ ╬╬╠╠╠╠╬╬╬╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╠╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╒╬╬╠╠╬╠╠╬╬╬╬╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╣╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╬╬╬╠╠╠╠╝╝╝╝╝╝╝╠╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╚╬╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╣╬╬╬╬╠╠╩ ╘╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╙╬╬╬╬╬╬╬╬\n//\n\n// SPDX-License-Identifier: GPL-3.0-only\n\npragma solidity ^0.8.0;\n\nimport \"../interface/IWooPPV2.sol\";\nimport \"../interface/IERC20.sol\";\nimport \"../lib/SafeERC20.sol\";\nimport \"../YakAdapter.sol\";\n\ncontract WoofiV2Adapter is YakAdapter {\n using SafeERC20 for IERC20;\n\n address public immutable pool;\n address public rebateCollector;\n\n constructor(\n string memory _name,\n uint256 _swapGasEstimate,\n address _pool\n ) YakAdapter(_name, _swapGasEstimate) {\n pool = _pool;\n }\n\n function setRebateCollector(address _rebateCollector) external onlyMaintainer {\n rebateCollector = _rebateCollector;\n }\n\n function _query(\n uint256 _amountIn,\n address _tokenIn,\n address _tokenOut\n ) internal view override returns (uint256) {\n if (_amountIn == 0) {\n return 0;\n }\n\n try IWooPPV2(pool).query(_tokenIn, _tokenOut, _amountIn) returns (uint256 amountOut) {\n return amountOut;\n } catch {\n return 0;\n }\n }\n\n function _swap(\n uint256 _amountIn,\n uint256 _amountOut,\n address _tokenIn,\n address _tokenOut,\n address _to\n ) internal override {\n IERC20(_tokenIn).safeTransfer(pool, _amountIn);\n IWooPPV2(pool).swap(_tokenIn, _tokenOut, _amountIn, _amountOut, _to, rebateCollector);\n }\n}\n" + }, + "src/contracts/adapters/XJoeAdapter.sol": { + "content": "// ╟╗ ╔╬\n// ╞╬╬ ╬╠╬\n// ╔╣╬╬╬ ╠╠╠╠╦\n// ╬╬╬╬╬╩ ╘╠╠╠╠╬\n// ║╬╬╬╬╬ ╘╠╠╠╠╬\n// ╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╒╬╬╬╬╬╬╬╜ ╠╠╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╬╬╬╬╬╬╬╬╠╠╠╠╠╠╠╠\n// ╙╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╕ ╬╬╬╬╬╬╬╜ ╣╠╠╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╬╬╬╬╬╬╬╬╬╠╠╠╠╠╠╠╩\n// ╙╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╔╬╬╬╬╬╬╬ ╔╠╠╠╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╣╬╬╬╬╬╬╬╬╬╬╬╠╠╠╠╝╙\n// ╘╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╒╠╠╠╬╠╬╩╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╣╬╬╬╬╬╬╬╙\n// ╣╬╬╬╬╬╬╬╬╬╬╠╣ ╣╬╠╠╠╬╩ ╚╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬\n// ╣╬╬╬╬╬╬╬╬╬╣ ╣╬╠╠╠╬╬ ╣╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬\n// ╟╬╬╬╬╬╬╬╩ ╬╬╠╠╠╠╬╬╬╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╠╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╒╬╬╠╠╬╠╠╬╬╬╬╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╣╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╬╬╬╠╠╠╠╝╝╝╝╝╝╝╠╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╚╬╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╣╬╬╬╬╠╠╩ ╘╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╙╬╬╬╬╬╬╬╬\n//\n//\n\n// SPDX-License-Identifier: GPL-3.0-only\npragma solidity ^0.8.0;\n\nimport \"../interface/IxJOE.sol\";\nimport \"../lib/SafeERC20.sol\";\n\nimport \"../YakAdapter.sol\";\n\ncontract XJoeAdapter is YakAdapter {\n using SafeERC20 for IERC20;\n\n address public constant JOE = 0x6e84a6216eA6dACC71eE8E6b0a5B7322EEbC0fDd;\n address public constant XJOE = 0x57319d41F71E81F3c65F2a47CA4e001EbAFd4F33;\n\n constructor(uint256 _swapGasEstimate) YakAdapter(\"XJoeAdapter\", _swapGasEstimate) {\n setAllowances();\n }\n\n function setAllowances() internal {\n IERC20(XJOE).safeApprove(XJOE, UINT_MAX);\n IERC20(JOE).safeApprove(XJOE, UINT_MAX);\n }\n\n function queryEnter(uint256 _amountIn) internal view returns (uint256) {\n uint256 totalJoe = IERC20(JOE).balanceOf(XJOE);\n uint256 totalShares = IxJOE(XJOE).totalSupply();\n if (totalShares == 0 || totalJoe == 0) {\n return _amountIn;\n }\n return (_amountIn * totalShares) / totalJoe;\n }\n\n function queryLeave(uint256 _amountIn) internal view returns (uint256) {\n uint256 totalShares = IxJOE(XJOE).totalSupply();\n return (_amountIn * IERC20(JOE).balanceOf(XJOE)) / totalShares;\n }\n\n function _query(\n uint256 _amountIn,\n address _tokenIn,\n address _tokenOut\n ) internal view override returns (uint256 amountOut) {\n if (_tokenIn == JOE && _tokenOut == XJOE) {\n return queryEnter(_amountIn);\n } else if (_tokenIn == XJOE && _tokenOut == JOE) {\n return queryLeave(_amountIn);\n }\n }\n\n function _swap(\n uint256 _amountIn,\n uint256 _amountOut,\n address _tokenIn,\n address _tokenOut,\n address _to\n ) internal override {\n if (_tokenIn == JOE && _tokenOut == XJOE) {\n IxJOE(XJOE).enter(_amountIn);\n } else if (_tokenIn == XJOE && _tokenOut == JOE) {\n IxJOE(XJOE).leave(_amountIn);\n } else {\n revert(\"XJoeAdapter: Unsupported token\");\n }\n // Confidently transfer amount-out\n _returnTo(_tokenOut, _amountOut, _to);\n }\n}\n" + }, + "src/contracts/adapters/YYDerivativeAdapter.sol": { + "content": "// ╟╗ ╔╬\n// ╞╬╬ ╬╠╬\n// ╔╣╬╬╬ ╠╠╠╠╦\n// ╬╬╬╬╬╩ ╘╠╠╠╠╬\n// ║╬╬╬╬╬ ╘╠╠╠╠╬\n// ╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╒╬╬╬╬╬╬╬╜ ╠╠╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╬╬╬╬╬╬╬╬╠╠╠╠╠╠╠╠\n// ╙╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╕ ╬╬╬╬╬╬╬╜ ╣╠╠╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╬╬╬╬╬╬╬╬╬╠╠╠╠╠╠╠╩\n// ╙╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╔╬╬╬╬╬╬╬ ╔╠╠╠╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╣╬╬╬╬╬╬╬╬╬╬╬╠╠╠╠╝╙\n// ╘╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╒╠╠╠╬╠╬╩╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╣╬╬╬╬╬╬╬╙\n// ╣╬╬╬╬╬╬╬╬╬╬╠╣ ╣╬╠╠╠╬╩ ╚╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬\n// ╣╬╬╬╬╬╬╬╬╬╣ ╣╬╠╠╠╬╬ ╣╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬\n// ╟╬╬╬╬╬╬╬╩ ╬╬╠╠╠╠╬╬╬╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╠╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╒╬╬╠╠╬╠╠╬╬╬╬╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╣╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╬╬╬╠╠╠╠╝╝╝╝╝╝╝╠╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╚╬╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╣╬╬╬╬╠╠╩ ╘╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╙╬╬╬╬╬╬╬╬\n//\n//\n\n// SPDX-License-Identifier: GPL-3.0-only\npragma solidity ^0.8.0;\n\nimport \"../interface/IYYDerivative.sol\";\nimport \"../lib/SafeERC20.sol\";\n\nimport \"../YakAdapter.sol\";\n\ncontract YYDerivativeAdapter is YakAdapter {\n using SafeERC20 for IERC20;\n\n address public immutable derivative;\n address public immutable underlying;\n\n constructor(\n string memory _name,\n uint256 _swapGasEstimate,\n address _derivative,\n address _underlying\n ) YakAdapter(_name, _swapGasEstimate) {\n derivative = _derivative;\n underlying = _underlying;\n }\n\n function _query(\n uint256 _amountIn,\n address _tokenIn,\n address _tokenOut\n ) internal view override returns (uint256 amountOut) {\n if (_tokenIn == underlying && _tokenOut == derivative && IYYDerivative(derivative).depositsEnabled()) {\n return _amountIn;\n }\n return 0;\n }\n\n function _swap(\n uint256 _amountIn,\n uint256, /*_amountOut*/\n address _tokenIn,\n address _tokenOut,\n address _to\n ) internal override {\n if (_tokenIn == underlying && _tokenOut == derivative) {\n IERC20(underlying).approve(derivative, _amountIn);\n IYYDerivative(derivative).deposit(_amountIn);\n } else {\n revert(\"YYDerivativeAdapter: Unsupported token\");\n }\n // Confidently transfer amount-out\n _returnTo(_tokenOut, _amountIn, _to);\n }\n}\n" + }, + "src/contracts/interface/IAdapter.sol": { + "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\n\ninterface IAdapter {\n function name() external view returns (string memory);\n\n function swapGasEstimate() external view returns (uint256);\n\n function swap(\n uint256,\n uint256,\n address,\n address,\n address\n ) external;\n\n function query(\n uint256,\n address,\n address\n ) external view returns (uint256);\n}\n" + }, + "src/contracts/interface/IBasePool.sol": { + "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\n\nimport \"./IPoolSwapStructs.sol\";\n\ninterface IBasePool is IPoolSwapStructs {\n function getPoolId() external view returns (bytes32);\n}\n" + }, + "src/contracts/interface/ICurve1.sol": { + "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\n\ninterface ICurve1 {\n function underlying_coins(uint256 index) external view returns (address);\n\n function exchange_underlying(\n uint256 tokenIndexFrom,\n uint256 tokenIndexTo,\n uint256 dx,\n uint256 minDy\n ) external;\n\n function get_dy_underlying(\n uint256 tokenIndexFrom,\n uint256 tokenIndexTo,\n uint256 dx\n ) external view returns (uint256);\n}\n" + }, + "src/contracts/interface/ICurve2.sol": { + "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\n\ninterface ICurve2 {\n function underlying_coins(uint256 index) external view returns (address);\n\n function get_dy_underlying(\n int128 tokenIndexFrom,\n int128 tokenIndexTo,\n uint256 dx\n ) external view returns (uint256);\n\n function exchange_underlying(\n int128 tokenIndexFrom,\n int128 tokenIndexTo,\n uint256 dx,\n uint256 minDy\n ) external;\n}\n" + }, + "src/contracts/interface/ICurveMeta.sol": { + "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\n\ninterface ICurveMeta {\n function base_coins(uint256) external view returns (address);\n\n function coins(uint256 index) external view returns (address);\n\n function get_dy_underlying(\n int128 tokenIndexFrom,\n int128 tokenIndexTo,\n uint256 dx\n ) external view returns (uint256);\n\n function exchange_underlying(\n int128 tokenIndexFrom,\n int128 tokenIndexTo,\n uint256 dx,\n uint256 minDy\n ) external;\n}\n" + }, + "src/contracts/interface/ICurvePlain128.sol": { + "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\n\ninterface ICurvePlain128 {\n function coins(uint256 index) external view returns (address);\n\n function exchange(\n int128 tokenIndexFrom,\n int128 tokenIndexTo,\n uint256 dx,\n uint256 minDy\n ) external returns (uint256);\n\n function get_dy(\n int128 tokenIndexFrom,\n int128 tokenIndexTo,\n uint256 dx\n ) external view returns (uint256);\n}\n" + }, + "src/contracts/interface/ICurvePlain128Native.sol": { + "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\n\ninterface ICurvePlain128Native {\n function coins(uint256 index) external view returns (address);\n\n function exchange(\n int128 tokenIndexFrom,\n int128 tokenIndexTo,\n uint256 dx,\n uint256 minDy\n ) external payable returns (uint256);\n\n function get_dy(\n int128 tokenIndexFrom,\n int128 tokenIndexTo,\n uint256 dx\n ) external view returns (uint256);\n}\n" + }, + "src/contracts/interface/ICurvePlain256.sol": { + "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\n\ninterface ICurvePlain256 {\n function coins(uint256 index) external view returns (address);\n\n function exchange(\n uint256 tokenIndexFrom,\n uint256 tokenIndexTo,\n uint256 dx,\n uint256 minDy\n ) external;\n\n function get_dy(\n uint256 tokenIndexFrom,\n uint256 tokenIndexTo,\n uint256 dx\n ) external view returns (uint256);\n}\n" + }, + "src/contracts/interface/IDodoV1.sol": { + "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\n\ninterface IDodoHelper {\n function querySellQuoteToken(address dodo, uint256 amount) external view returns (uint256);\n}\n\ninterface IDodoV1 {\n function _QUOTE_TOKEN_() external view returns (address);\n\n function _BASE_TOKEN_() external view returns (address);\n\n function querySellBaseToken(uint256 amount) external view returns (uint256);\n\n function queryBuyBaseToken(uint256 amount) external view returns (uint256);\n\n function sellBaseToken(\n uint256 amount,\n uint256 minReceiveQuote,\n bytes calldata data\n ) external returns (uint256);\n\n function buyBaseToken(\n uint256 amount,\n uint256 maxPayQuote,\n bytes calldata data\n ) external returns (uint256);\n}\n" + }, + "src/contracts/interface/IDodoV2.sol": { + "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\n\ninterface IDodoV2 {\n function _QUOTE_TOKEN_() external view returns (address);\n\n function _BASE_TOKEN_() external view returns (address);\n\n function querySellBase(address trader, uint256 payBaseAmount) external view returns (uint256 receiveQuoteAmount);\n\n function querySellQuote(address trader, uint256 payQuoteAmount) external view returns (uint256 receiveBaseAmount);\n\n function sellBase(address to) external returns (uint256 receiveQuoteAmount);\n\n function sellQuote(address to) external returns (uint256 receiveBaseAmount);\n}\n" + }, + "src/contracts/interface/IERC20.sol": { + "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\n\ninterface IERC20 {\n event Approval(address, address, uint256);\n event Transfer(address, address, uint256);\n\n function name() external view returns (string memory);\n\n function decimals() external view returns (uint8);\n\n function transferFrom(\n address,\n address,\n uint256\n ) external returns (bool);\n\n function allowance(address, address) external view returns (uint256);\n\n function approve(address, uint256) external returns (bool);\n\n function transfer(address, uint256) external returns (bool);\n\n function balanceOf(address) external view returns (uint256);\n\n function nonces(address) external view returns (uint256); // Only tokens that support permit\n\n function permit(\n address,\n address,\n uint256,\n uint256,\n uint8,\n bytes32,\n bytes32\n ) external; // Only tokens that support permit\n\n function swap(address, uint256) external; // Only Avalanche bridge tokens\n\n function swapSupply(address) external view returns (uint256); // Only Avalanche bridge tokens\n\n function totalSupply() external view returns (uint256);\n}\n" + }, + "src/contracts/interface/IgAVAX.sol": { + "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\n\n// @note: operator stands for interface address\ninterface IgAVAX {\n function setApprovalForAll(address operator, bool approved) external;\n\n function pricePerShare(uint256 _id) external view returns (uint256);\n\n function balanceOf(address account, uint256 id) external view returns (uint256);\n\n function isInterface(address operator, uint256 id) external view returns (bool);\n\n function isApprovedForAll(address account, address operator) external view returns (bool);\n}\n" + }, + "src/contracts/interface/IGeodePortal.sol": { + "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\n\ninterface IGeodePortal {\n function gAVAX() external view returns (address);\n\n function getNameFromId(uint256 _id) external view returns (bytes memory);\n\n function planetCurrentInterface(uint256 _id) external view returns (address);\n\n function planetWithdrawalPool(uint256 _id) external view returns (address);\n\n function getMaintainerFromId(uint256) external view returns (address);\n\n function isStakingPausedForPool(uint256) external view returns (bool);\n\n function unpauseStakingForPool(uint256) external;\n\n function pauseStakingForPool(uint256) external;\n\n function stake(\n uint256 planetId,\n uint256 minGavax,\n uint256 deadline\n ) external payable returns (uint256 totalgAvax);\n}\n" + }, + "src/contracts/interface/IGeodeWP.sol": { + "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\n\ninterface IGeodeWP {\n function paused() external view returns (bool);\n\n function getDebt() external view returns (uint256);\n\n function getToken() external view returns (uint256);\n\n function getERC1155() external view returns (address);\n\n function getTokenBalance(uint8) external view returns (uint256);\n\n function calculateSwap(\n uint8 tokenIndexFrom,\n uint8 tokenIndexTo,\n uint256 dx\n ) external view returns (uint256);\n\n function swap(\n uint8 tokenIndexFrom,\n uint8 tokenIndexTo,\n uint256 dx,\n uint256 minDy,\n uint256 deadline\n ) external payable returns (uint256);\n\n function addLiquidity(\n uint256[] calldata amounts,\n uint256 minToMint,\n uint256 deadline\n ) external payable;\n}\n" + }, + "src/contracts/interface/IGlpManager.sol": { + "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\n\ninterface IGlpManager {\n function getAumInUsdg(bool maximise) external view returns (uint256);\n\n function vault() external view returns (address);\n}\n" + }, + "src/contracts/interface/IGmxRewardRouter.sol": { + "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\n\ninterface IGmxRewardRouter {\n function glpManager() external view returns (address);\n\n function mintAndStakeGlp(\n address _token,\n uint256 _amount,\n uint256 _minUsdg,\n uint256 _minGlp\n ) external returns (uint256);\n\n function unstakeAndRedeemGlp(\n address _tokenOut,\n uint256 _glpAmount,\n uint256 _minOut,\n address _receiver\n ) external returns (uint256);\n}\n" + }, + "src/contracts/interface/IGmxVault.sol": { + "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\n\ninterface IGmxVaultPriceFeed {\n function getPrice(\n address,\n bool,\n bool,\n bool\n ) external view returns (uint256);\n}\n\ninterface IGmxVaultUtils {\n function getSwapFeeBasisPoints(\n address,\n address,\n uint256\n ) external view returns (uint256);\n\n function getBuyUsdgFeeBasisPoints(address _token, uint256 _usdgAmount) external view returns (uint256);\n\n function getSellUsdgFeeBasisPoints(address _token, uint256 _usdgAmount) external view returns (uint256);\n}\n\ninterface IGmxVault {\n function swap(\n address,\n address,\n address\n ) external;\n\n function whitelistedTokens(address) external view returns (bool);\n\n function isSwapEnabled() external view returns (bool);\n\n function vaultUtils() external view returns (IGmxVaultUtils);\n\n function priceFeed() external view returns (IGmxVaultPriceFeed);\n\n function allWhitelistedTokensLength() external view returns (uint256);\n\n function allWhitelistedTokens(uint256) external view returns (address);\n\n function maxUsdgAmounts(address) external view returns (uint256);\n\n function usdgAmounts(address) external view returns (uint256);\n\n function reservedAmounts(address) external view returns (uint256);\n\n function bufferAmounts(address) external view returns (uint256);\n\n function poolAmounts(address) external view returns (uint256);\n\n function usdg() external view returns (address);\n\n function hasDynamicFees() external view returns (bool);\n\n function stableTokens(address) external view returns (bool);\n\n function getFeeBasisPoints(\n address,\n uint256,\n uint256,\n uint256,\n bool\n ) external view returns (uint256);\n\n function stableSwapFeeBasisPoints() external view returns (uint256);\n\n function swapFeeBasisPoints() external view returns (uint256);\n\n function stableTaxBasisPoints() external view returns (uint256);\n\n function taxBasisPoints() external view returns (uint256);\n\n function setBufferAmount(address, uint256) external;\n\n function gov() external view returns (address);\n\n function getMaxPrice(address _token) external view returns (uint256);\n\n function getMinPrice(address _token) external view returns (uint256);\n\n function adjustForDecimals(\n uint256 _amount,\n address _tokenDiv,\n address _tokenMul\n ) external view returns (uint256);\n\n function getRedemptionAmount(address _token, uint256 _usdgAmount) external view returns (uint256);\n}\n" + }, + "src/contracts/interface/IKyberPool.sol": { + "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\n\ninterface IKyberPool {\n function swap(\n uint256 amount0Out,\n uint256 amount1Out,\n address to,\n bytes calldata data\n ) external;\n\n function getTradeInfo()\n external\n view\n returns (\n uint112 _vReserve0,\n uint112 _vReserve1,\n uint112 reserve0,\n uint112 reserve1,\n uint256 feeInPrecision\n );\n\n function token0() external view returns (address);\n\n function token1() external view returns (address);\n}\n" + }, + "src/contracts/interface/ILB2Pair.sol": { + "content": "// SPDX-License-Identifier: MIT\n\npragma solidity ^0.8.0;\n\ninterface ILBPair {\n function getTokenX() external view returns (address);\n\n function getTokenY() external view returns (address);\n\n function swap(bool swapForY, address to) external returns (bytes32 amountsOut);\n\n function getSwapOut(uint128 amountIn, bool swapForY)\n external\n view\n returns (uint128 amountInLeft, uint128 amountOut, uint128 fee);\n}\n" + }, + "src/contracts/interface/ILBFactory.sol": { + "content": "// SPDX-License-Identifier: MIT\n\npragma solidity ^0.8.0;\n\ninterface ILBFactory {\n struct LBPairInformation {\n uint24 binStep;\n address LBPair;\n bool createdByOwner;\n bool ignoredForRouting;\n }\n\n function getAllLBPairs(address tokenX, address tokenY)\n external\n view\n returns (LBPairInformation[] memory LBPairsBinStep);\n}\n" + }, + "src/contracts/interface/ILBPair.sol": { + "content": "// SPDX-License-Identifier: MIT\n\npragma solidity ^0.8.0;\n\ninterface ILBPair {\n function tokenX() external view returns (address);\n\n function tokenY() external view returns (address);\n\n function swap(bool sentTokenY, address to) external returns (uint256 amountXOut, uint256 amountYOut);\n}\n" + }, + "src/contracts/interface/ILBRouter.sol": { + "content": "// SPDX-License-Identifier: MIT\n\npragma solidity ^0.8.0;\n\ninterface ILBRouter {\n function factory() external view returns (address);\n\n function getSwapOut(\n address pair,\n uint256 amountIn,\n bool swapForY\n ) external view returns (uint256 amountOut, uint256 feesIn);\n\n function swapExactTokensForTokens(\n uint256 amountIn,\n uint256 amountOutMin,\n uint256[] memory pairBinSteps,\n address[] memory tokenPath,\n address to,\n uint256 deadline\n ) external returns (uint256 amountOut);\n}\n" + }, + "src/contracts/interface/IMinimalSwapInfoPool.sol": { + "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\n\nimport \"./IBasePool.sol\";\n\ninterface IMinimalSwapInfoPool is IBasePool {\n function onSwap(\n SwapRequest memory swapRequest,\n uint256 currentBalanceTokenIn,\n uint256 currentBalanceTokenOut\n ) external view returns (uint256 amount);\n}\n" + }, + "src/contracts/interface/ImYAK.sol": { + "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\n\nimport \"./IERC20.sol\";\n\ninterface ImYAK is IERC20 {\n function unmoon(uint256, address) external;\n\n function moon(uint256, address) external;\n}\n" + }, + "src/contracts/interface/IPlatypus.sol": { + "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\n\ninterface IPlatypus {\n // Views\n function quotePotentialSwap(\n address fromToken,\n address totoken,\n uint256 fromAmount\n ) external view returns (uint256 potentialOutcome); // Second arg (haircut) is not used\n\n function getTokenAddresses() external view returns (address[] memory);\n\n function paused() external view returns (bool);\n\n // Modifiers\n function swap(\n address fromToken,\n address toToken,\n uint256 fromAmount,\n uint256 minAmountOut,\n address to,\n uint256 deadline\n ) external;\n\n function pause() external;\n\n function unpause() external;\n}\n" + }, + "src/contracts/interface/IPoolSwapStructs.sol": { + "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\n\nimport \"./IVault.sol\";\n\ninterface IPoolSwapStructs {\n struct SwapRequest {\n IVault.SwapKind kind;\n IERC20 tokenIn;\n IERC20 tokenOut;\n uint256 amount;\n bytes32 poolId;\n uint256 lastChangeBlock;\n address from;\n address to;\n bytes userData;\n }\n}\n" + }, + "src/contracts/interface/ISaddle.sol": { + "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\n\nimport \"./IERC20.sol\";\n\ninterface ISaddle {\n function getTokenIndex(address tokenAddress) external view returns (uint8);\n\n function getTokenBalance(uint8 index) external view returns (uint256);\n\n function getToken(uint8 index) external view returns (address);\n\n function getVirtualPrice() external view returns (uint256);\n\n function owner() external view returns (address);\n\n function paused() external view returns (bool);\n\n function calculateSwap(\n uint8 tokenIndexFrom,\n uint8 tokenIndexTo,\n uint256 dx\n ) external view returns (uint256);\n\n function unpause() external;\n\n function pause() external;\n\n function swap(\n uint8 tokenIndexFrom,\n uint8 tokenIndexTo,\n uint256 dx,\n uint256 minDy,\n uint256 deadline\n ) external returns (uint256);\n}\n" + }, + "src/contracts/interface/ISaddleMeta.sol": { + "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\n\nimport \"./IERC20.sol\";\n\nstruct SwapStorage {\n uint256 initialA;\n uint256 futureA;\n uint256 initialATime;\n uint256 futureATime;\n uint256 swapFee;\n uint256 adminFee;\n address lpToken;\n}\n\ninterface ISaddleMeta {\n function getToken(uint8 index) external view returns (address);\n\n function getVirtualPrice() external view returns (uint256);\n\n function owner() external view returns (address);\n\n function paused() external view returns (bool);\n\n function calculateSwapUnderlying(\n uint8 tokenIndexFrom,\n uint8 tokenIndexTo,\n uint256 dx\n ) external view returns (uint256);\n\n function unpause() external;\n\n function pause() external;\n\n function swapUnderlying(\n uint8 tokenIndexFrom,\n uint8 tokenIndexTo,\n uint256 dx,\n uint256 minDy,\n uint256 deadline\n ) external returns (uint256);\n\n function metaSwapStorage() external returns (address);\n\n function swapStorage() external returns (SwapStorage memory);\n}\n" + }, + "src/contracts/interface/ISAVAX.sol": { + "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\n\nimport \"./IERC20.sol\";\n\ninterface ISAVAX is IERC20 {\n function getSharesByPooledAvax(uint256) external view returns (uint256);\n\n function submit() external payable returns (uint256);\n\n function mintingPaused() external view returns (bool);\n\n function totalPooledAvax() external view returns (uint256);\n\n function totalPooledAvaxCap() external view returns (uint256);\n}\n" + }, + "src/contracts/interface/IStabilityFund.sol": { + "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\n\ninterface IStabilityFund {\n function swap(\n address token0,\n uint256 amount,\n address token1\n ) external;\n\n function swapEnabled() external view returns (bool);\n\n function isStableToken(address) external view returns (bool);\n\n function isTokenDisabled(address) external view returns (bool);\n\n function getStableTokens() external view returns (address[] memory);\n\n function getStableTokensCount() external view returns (uint256);\n\n function swapFee() external view returns (uint256);\n}\n" + }, + "src/contracts/interface/IUniswapFactory.sol": { + "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\n\ninterface IUniswapFactory {\n function getPair(address tokenA, address tokenB) external view returns (address pair);\n}\n" + }, + "src/contracts/interface/IUniswapPair.sol": { + "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\n\ninterface IUniswapPair {\n event Swap(\n address indexed sender,\n uint256 amount0In,\n uint256 amount1In,\n uint256 amount0Out,\n uint256 amount1Out,\n address indexed to\n );\n\n function factory() external view returns (address);\n\n function token0() external view returns (address);\n\n function token1() external view returns (address);\n\n function getReserves()\n external\n view\n returns (\n uint112 reserve0,\n uint112 reserve1,\n uint32 blockTimestampLast\n );\n\n function swap(\n uint256 amount0Out,\n uint256 amount1Out,\n address to,\n bytes calldata data\n ) external;\n}\n" + }, + "src/contracts/interface/IVault.sol": { + "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\n\nimport \"./IERC20.sol\";\n\ninterface IVault {\n enum SwapKind {\n GIVEN_IN,\n GIVEN_OUT\n }\n\n struct SingleSwap {\n bytes32 poolId;\n SwapKind kind;\n address assetIn;\n address assetOut;\n uint256 amount;\n bytes userData;\n }\n\n struct FundManagement {\n address sender;\n bool fromInternalBalance;\n address payable recipient;\n bool toInternalBalance;\n }\n\n function swap(\n SingleSwap memory singleSwap,\n FundManagement memory funds,\n uint256 limit,\n uint256 deadline\n ) external payable returns (uint256);\n\n function getPoolTokens(bytes32 poolId)\n external\n view\n returns (\n IERC20[] memory tokens,\n uint256[] memory balances,\n uint256 lastChangeBlock\n );\n\n struct BatchSwapStep {\n bytes32 poolId;\n uint256 assetInIndex;\n uint256 assetOutIndex;\n uint256 amount;\n bytes userData;\n }\n\n function queryBatchSwap(\n SwapKind kind,\n BatchSwapStep[] memory swaps,\n address[] memory assets,\n FundManagement memory funds\n ) external returns (int256[] memory assetDeltas);\n}\n" + }, + "src/contracts/interface/IWETH.sol": { + "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\n\nimport \"./IERC20.sol\";\n\ninterface IWETH is IERC20 {\n function withdraw(uint256 amount) external;\n\n function deposit() external payable;\n}\n" + }, + "src/contracts/interface/IWooPP.sol": { + "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\n\ninterface IWooPP {\n function quoteToken() external view returns (address);\n\n function querySellQuote(address, uint256) external view returns (uint256);\n\n function querySellBase(address, uint256) external view returns (uint256);\n\n function sellBase(\n address baseToken,\n uint256 baseAmount,\n uint256 minQuoteAmount,\n address to,\n address rebateTo\n ) external returns (uint256 quoteAmount);\n\n function sellQuote(\n address baseToken,\n uint256 quoteAmount,\n uint256 minBaseAmount,\n address to,\n address rebateTo\n ) external returns (uint256 baseAmount);\n}\n" + }, + "src/contracts/interface/IWooPPV2.sol": { + "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\n\ninterface IWooPPV2 {\n /// @notice The quote token address (immutable).\n /// @return address of quote token\n function quoteToken() external view returns (address);\n\n /// @notice Gets the pool size of the specified token (swap liquidity).\n /// @param token the token address\n /// @return the pool size\n function poolSize(address token) external view returns (uint256);\n\n /// @notice Query the amount to swap `fromToken` to `toToken`, without checking the pool reserve balance.\n /// @param fromToken the from token\n /// @param toToken the to token\n /// @param fromAmount the amount of `fromToken` to swap\n /// @return toAmount the swapped amount of `toToken`\n function tryQuery(\n address fromToken,\n address toToken,\n uint256 fromAmount\n ) external view returns (uint256 toAmount);\n\n /// @notice Query the amount to swap `fromToken` to `toToken`, with checking the pool reserve balance.\n /// @dev tx reverts when 'toToken' balance is insufficient.\n /// @param fromToken the from token\n /// @param toToken the to token\n /// @param fromAmount the amount of `fromToken` to swap\n /// @return toAmount the swapped amount of `toToken`\n function query(\n address fromToken,\n address toToken,\n uint256 fromAmount\n ) external view returns (uint256 toAmount);\n\n /// @notice Swap `fromToken` to `toToken`.\n /// @param fromToken the from token\n /// @param toToken the to token\n /// @param fromAmount the amount of `fromToken` to swap\n /// @param minToAmount the minimum amount of `toToken` to receive\n /// @param to the destination address\n /// @param rebateTo the rebate address (optional, can be address ZERO)\n /// @return realToAmount the amount of toToken to receive\n function swap(\n address fromToken,\n address toToken,\n uint256 fromAmount,\n uint256 minToAmount,\n address to,\n address rebateTo\n ) external returns (uint256 realToAmount);\n\n /// @notice Deposit the specified token into the liquidity pool of WooPPV2.\n /// @param token the token to deposit\n /// @param amount the deposit amount\n function deposit(address token, uint256 amount) external;\n}\n" + }, + "src/contracts/interface/IxJOE.sol": { + "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\n\ninterface IxJOE {\n function leave(uint256) external;\n\n function enter(uint256) external;\n\n function totalSupply() external view returns (uint256);\n}\n" + }, + "src/contracts/interface/IYakRouter.sol": { + "content": "// ╟╗ ╔╬\n// ╞╬╬ ╬╠╬\n// ╔╣╬╬╬ ╠╠╠╠╦\n// ╬╬╬╬╬╩ ╘╠╠╠╠╬\n// ║╬╬╬╬╬ ╘╠╠╠╠╬\n// ╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╒╬╬╬╬╬╬╬╜ ╠╠╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╬╬╬╬╬╬╬╬╠╠╠╠╠╠╠╠\n// ╙╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╕ ╬╬╬╬╬╬╬╜ ╣╠╠╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╬╬╬╬╬╬╬╬╬╠╠╠╠╠╠╠╩\n// ╙╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╔╬╬╬╬╬╬╬ ╔╠╠╠╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╣╬╬╬╬╬╬╬╬╬╬╬╠╠╠╠╝╙\n// ╘╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╒╠╠╠╬╠╬╩╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╣╬╬╬╬╬╬╬╙\n// ╣╬╬╬╬╬╬╬╬╬╬╠╣ ╣╬╠╠╠╬╩ ╚╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬\n// ╣╬╬╬╬╬╬╬╬╬╣ ╣╬╠╠╠╬╬ ╣╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬\n// ╟╬╬╬╬╬╬╬╩ ╬╬╠╠╠╠╬╬╬╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╠╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╒╬╬╠╠╬╠╠╬╬╬╬╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╣╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╬╬╬╠╠╠╠╝╝╝╝╝╝╝╠╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╚╬╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╣╬╬╬╬╠╠╩ ╘╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╙╬╬╬╬╬╬╬╬\n//\n\n// SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\n\n\nstruct Query {\n address adapter;\n address tokenIn;\n address tokenOut;\n uint256 amountOut;\n}\nstruct Offer {\n bytes amounts;\n bytes adapters;\n bytes path;\n uint256 gasEstimate;\n}\nstruct FormattedOffer {\n uint256[] amounts;\n address[] adapters;\n address[] path;\n uint256 gasEstimate;\n}\nstruct Trade {\n uint256 amountIn;\n uint256 amountOut;\n address[] path;\n address[] adapters;\n}\n\ninterface IYakRouter {\n\n event UpdatedTrustedTokens(address[] _newTrustedTokens);\n event UpdatedAdapters(address[] _newAdapters);\n event UpdatedMinFee(uint256 _oldMinFee, uint256 _newMinFee);\n event UpdatedFeeClaimer(address _oldFeeClaimer, address _newFeeClaimer);\n event YakSwap(address indexed _tokenIn, address indexed _tokenOut, uint256 _amountIn, uint256 _amountOut);\n\n // admin\n function setTrustedTokens(address[] memory _trustedTokens) external;\n function setAdapters(address[] memory _adapters) external;\n function setFeeClaimer(address _claimer) external;\n function setMinFee(uint256 _fee) external;\n\n // misc\n function trustedTokensCount() external view returns (uint256);\n function adaptersCount() external view returns (uint256);\n\n // query\n\n function queryAdapter(\n uint256 _amountIn,\n address _tokenIn,\n address _tokenOut,\n uint8 _index\n ) external returns (uint256);\n\n function queryNoSplit(\n uint256 _amountIn,\n address _tokenIn,\n address _tokenOut,\n uint8[] calldata _options\n ) external view returns (Query memory);\n\n function queryNoSplit(\n uint256 _amountIn,\n address _tokenIn,\n address _tokenOut\n ) external view returns (Query memory);\n\n function findBestPathWithGas(\n uint256 _amountIn,\n address _tokenIn,\n address _tokenOut,\n uint256 _maxSteps,\n uint256 _gasPrice\n ) external view returns (FormattedOffer memory);\n\n function findBestPath(\n uint256 _amountIn,\n address _tokenIn,\n address _tokenOut,\n uint256 _maxSteps\n ) external view returns (FormattedOffer memory);\n\n // swap\n\n function swapNoSplit(\n Trade calldata _trade,\n address _to,\n uint256 _fee\n ) external;\n\n function swapNoSplitFromAVAX(\n Trade calldata _trade,\n address _to,\n uint256 _fee\n ) external payable;\n\n function swapNoSplitToAVAX(\n Trade calldata _trade,\n address _to,\n uint256 _fee\n ) external; \n\n function swapNoSplitWithPermit(\n Trade calldata _trade,\n address _to,\n uint256 _fee,\n uint256 _deadline,\n uint8 _v,\n bytes32 _r,\n bytes32 _s\n ) external;\n\n function swapNoSplitToAVAXWithPermit(\n Trade calldata _trade,\n address _to,\n uint256 _fee,\n uint256 _deadline,\n uint8 _v,\n bytes32 _r,\n bytes32 _s\n ) external;\n\n}" + }, + "src/contracts/interface/IYYDerivative.sol": { + "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\n\ninterface IYYDerivative {\n function deposit(uint256 amount) external;\n\n function depositsEnabled() external view returns (bool);\n}\n" + }, + "src/contracts/lib/Maintainable.sol": { + "content": "// SPDX-License-Identifier: MIT\n\npragma solidity ^0.8.0;\n\nimport \"@openzeppelin/contracts/access/AccessControl.sol\";\n\n/**\n * @dev Contract module which extends the basic access control mechanism of Ownable\n * to include many maintainers, whom only the owner (DEFAULT_ADMIN_ROLE) may add and\n * remove.\n *\n * By default, the owner account will be the one that deploys the contract. This can\n * later be changed with {transferOwnership}.\n *\n * This module is used through inheritance. It will make available this modifier:\n * `onlyMaintainer`, which can be applied to your functions to restrict their use to\n * the accounts with the role of maintainer.\n */\n\nabstract contract Maintainable is Context, AccessControl {\n bytes32 public constant MAINTAINER_ROLE = keccak256(\"MAINTAINER_ROLE\");\n\n constructor() {\n address msgSender = _msgSender();\n // members of the DEFAULT_ADMIN_ROLE alone may revoke and grant role membership\n _setupRole(DEFAULT_ADMIN_ROLE, msgSender);\n _setupRole(MAINTAINER_ROLE, msgSender);\n }\n\n function addMaintainer(address addedMaintainer) public virtual {\n grantRole(MAINTAINER_ROLE, addedMaintainer);\n }\n\n function removeMaintainer(address removedMaintainer) public virtual {\n revokeRole(MAINTAINER_ROLE, removedMaintainer);\n }\n\n function renounceRole(bytes32 role) public virtual {\n address msgSender = _msgSender();\n renounceRole(role, msgSender);\n }\n\n function transferOwnership(address newOwner) public virtual {\n address msgSender = _msgSender();\n grantRole(DEFAULT_ADMIN_ROLE, newOwner);\n renounceRole(DEFAULT_ADMIN_ROLE, msgSender);\n }\n\n modifier onlyMaintainer() {\n address msgSender = _msgSender();\n require(hasRole(MAINTAINER_ROLE, msgSender), \"Maintainable: Caller is not a maintainer\");\n _;\n }\n}\n" + }, + "src/contracts/lib/Recoverable.sol": { + "content": "// SPDX-License-Identifier: MIT\npragma solidity >=0.8.0;\n\nimport \"./SafeERC20.sol\";\nimport \"./Maintainable.sol\";\n\n\nabstract contract Recoverable is Maintainable {\n using SafeERC20 for IERC20;\n\n event Recovered(\n address indexed _asset, \n uint amount\n );\n\n /**\n * @notice Recover ERC20 from contract\n * @param _tokenAddress token address\n * @param _tokenAmount amount to recover\n */\n function recoverERC20(address _tokenAddress, uint _tokenAmount) external onlyMaintainer {\n require(_tokenAmount > 0, \"Nothing to recover\");\n IERC20(_tokenAddress).safeTransfer(msg.sender, _tokenAmount);\n emit Recovered(_tokenAddress, _tokenAmount);\n }\n\n /**\n * @notice Recover native asset from contract\n * @param _amount amount\n */\n function recoverNative(uint _amount) external onlyMaintainer {\n require(_amount > 0, \"Nothing to recover\");\n (bool success, )= msg.sender.call{value: _amount}(\"\");\n require(success, \"Transfer failed.\");\n emit Recovered(address(0), _amount);\n }\n\n}" + }, + "src/contracts/lib/SafeERC20.sol": { + "content": "// This is a simplified version of OpenZepplin's SafeERC20 library\n// SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\npragma experimental ABIEncoderV2;\n\nimport \"../interface/IERC20.sol\";\n\n/**\n * @title SafeERC20\n * @dev Wrappers around ERC20 operations that throw on failure (when the token\n * contract returns false). Tokens that return no value (and instead revert or\n * throw on failure) are also supported, non-reverting calls are assumed to be\n * successful.\n * To use this library you can add a `using SafeERC20 for ERC20;` statement to your contract,\n * which allows you to call the safe operations as `token.safeTransfer(...)`, etc.\n */\nlibrary SafeERC20 {\n function safeTransfer(\n IERC20 token,\n address to,\n uint256 value\n ) internal {\n _callOptionalReturn(token, abi.encodeWithSelector(token.transfer.selector, to, value));\n }\n\n function safeTransferFrom(\n IERC20 token,\n address from,\n address to,\n uint256 value\n ) internal {\n _callOptionalReturn(token, abi.encodeWithSelector(token.transferFrom.selector, from, to, value));\n }\n\n function safeApprove(\n IERC20 token,\n address spender,\n uint256 value\n ) internal {\n // safeApprove should only be called when setting an initial allowance,\n // or when resetting it to zero. To increase and decrease it, use\n // 'safeIncreaseAllowance' and 'safeDecreaseAllowance'\n // solhint-disable-next-line max-line-length\n require(\n (value == 0) || (token.allowance(address(this), spender) == 0),\n \"SafeERC20: approve from non-zero to non-zero allowance\"\n );\n _callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, value));\n }\n\n /**\n * @dev Imitates a Solidity high-level call (i.e. a regular function call to a contract), relaxing the requirement\n * on the return value: the return value is optional (but if data is returned, it must not be false).\n * @param token The token targeted by the call.\n * @param data The call data (encoded using abi.encode or one of its variants).\n */\n function _callOptionalReturn(IERC20 token, bytes memory data) private {\n // We need to perform a low level call here, to bypass Solidity's return data size checking mechanism, since\n // we're implementing it ourselves.\n\n // A Solidity high level call has three parts:\n // 1. The target address is checked to verify it contains contract code\n // 2. The call itself is made, and success asserted\n // 3. The return value is decoded, which in turn checks the size of the returned data.\n // solhint-disable-next-line max-line-length\n\n // solhint-disable-next-line avoid-low-level-calls\n (bool success, bytes memory returndata) = address(token).call(data);\n require(success, \"SafeERC20: low-level call failed\");\n\n if (returndata.length > 0) {\n // Return data is optional\n // solhint-disable-next-line max-line-length\n require(abi.decode(returndata, (bool)), \"SafeERC20: ERC20 operation did not succeed\");\n }\n }\n}\n" + }, + "src/contracts/lib/TypeConversion.sol": { + "content": "// SPDX-License-Identifier: MIT\npragma solidity >=0.8.0;\n\n\nlibrary TypeConversion {\n\n function toBytes12(address x) internal pure returns (bytes12 y) {\n assembly { y := x }\n }\n\n function toBytes32(address x) internal pure returns (bytes32 y) {\n assembly { y := x }\n }\n\n function toAddress(bytes32 x) internal pure returns (address y) {\n assembly { y := x }\n }\n\n function toBytes(address x) internal pure returns (bytes memory y) {\n y = new bytes(32);\n assembly { mstore(add(y, 32), x) }\n }\n\n function toBytes(bytes32 x) internal pure returns (bytes memory y) {\n y = new bytes(32);\n assembly { mstore(add(y, 32), x) }\n }\n\n function toBytes(uint x) internal pure returns (bytes memory y) {\n y = new bytes(32);\n assembly { mstore(add(y, 32), x) }\n }\n\n function toAddress(\n bytes memory x,\n uint offset\n ) internal pure returns (address y) {\n assembly { y := mload(add(x, offset)) }\n }\n\n function toUint(\n bytes memory x,\n uint offset\n ) internal pure returns (uint y) {\n assembly { y := mload(add(x, offset)) }\n }\n\n function toBytes12(\n bytes memory x,\n uint offset\n ) internal pure returns (bytes12 y) {\n assembly { y := mload(add(x, offset)) }\n }\n\n function toBytes32(\n bytes memory x,\n uint offset\n ) internal pure returns (bytes32 y) {\n assembly { y := mload(add(x, offset)) }\n }\n\n function toAddresses(\n bytes memory xs\n ) internal pure returns (address[] memory ys) {\n ys = new address[](xs.length/32);\n for (uint i=0; i < xs.length/32; i++) {\n ys[i] = toAddress(xs, i*32 + 32);\n }\n }\n\n function toUints(\n bytes memory xs\n ) internal pure returns (uint[] memory ys) {\n ys = new uint[](xs.length/32);\n for (uint i=0; i < xs.length/32; i++) {\n ys[i] = toUint(xs, i*32 + 32);\n }\n }\n\n function toBytes32s(\n bytes memory xs\n ) internal pure returns (bytes32[] memory ys) {\n ys = new bytes32[](xs.length/32);\n for (uint i=0; i < xs.length/32; i++) {\n ys[i] = toBytes32(xs, i*32 + 32);\n }\n }\n\n}\n" + }, + "src/contracts/lib/YakViewUtils.sol": { + "content": "// SPDX-License-Identifier: GPL-3.0-only\npragma solidity >=0.8.4;\n\nimport { Offer, FormattedOffer } from \"../interface/IYakRouter.sol\";\nimport \"./TypeConversion.sol\";\n\n\nlibrary OfferUtils {\n using TypeConversion for address;\n using TypeConversion for uint256;\n using TypeConversion for bytes;\n\n function newOffer(\n uint _amountIn,\n address _tokenIn\n ) internal pure returns (Offer memory offer) {\n offer.amounts = _amountIn.toBytes();\n offer.path = _tokenIn.toBytes();\n }\n\n /**\n * Makes a deep copy of Offer struct\n */\n function clone(Offer memory _queries) internal pure returns (Offer memory) {\n return Offer(_queries.amounts, _queries.adapters, _queries.path, _queries.gasEstimate);\n }\n\n /**\n * Appends new elements to the end of Offer struct\n */\n function addToTail(\n Offer memory _queries,\n uint256 _amount,\n address _adapter,\n address _tokenOut,\n uint256 _gasEstimate\n ) internal pure {\n _queries.path = bytes.concat(_queries.path, _tokenOut.toBytes());\n _queries.adapters = bytes.concat(_queries.adapters, _adapter.toBytes());\n _queries.amounts = bytes.concat(_queries.amounts, _amount.toBytes());\n _queries.gasEstimate += _gasEstimate;\n }\n\n /**\n * Formats elements in the Offer object from byte-arrays to integers and addresses\n */\n function format(Offer memory _queries) internal pure returns (FormattedOffer memory) {\n return\n FormattedOffer(\n _queries.amounts.toUints(),\n _queries.adapters.toAddresses(),\n _queries.path.toAddresses(),\n _queries.gasEstimate\n );\n }\n\n function getTokenOut(\n Offer memory _offer\n ) internal pure returns (address tokenOut) {\n tokenOut = _offer.path.toAddress(_offer.path.length); // Last 32 bytes\n }\n\n function getAmountOut(\n Offer memory _offer\n ) internal pure returns (uint amountOut) {\n amountOut = _offer.amounts.toUint(_offer.path.length); // Last 32 bytes\n }\n\n}\n\nlibrary FormattedOfferUtils {\n using TypeConversion for address;\n using TypeConversion for uint256;\n using TypeConversion for bytes;\n\n /**\n * Appends new elements to the end of FormattedOffer\n */\n function addToTail(\n FormattedOffer memory offer, \n uint256 amountOut, \n address wrapper,\n address tokenOut,\n uint256 gasEstimate\n ) internal pure {\n offer.amounts = bytes.concat(abi.encodePacked(offer.amounts), amountOut.toBytes()).toUints();\n offer.adapters = bytes.concat(abi.encodePacked(offer.adapters), wrapper.toBytes()).toAddresses();\n offer.path = bytes.concat(abi.encodePacked(offer.path), tokenOut.toBytes()).toAddresses();\n offer.gasEstimate += gasEstimate;\n }\n\n /**\n * Appends new elements to the beginning of FormattedOffer\n */\n function addToHead(\n FormattedOffer memory offer, \n uint256 amountOut, \n address wrapper,\n address tokenOut,\n uint256 gasEstimate\n ) internal pure {\n offer.amounts = bytes.concat(amountOut.toBytes(), abi.encodePacked(offer.amounts)).toUints();\n offer.adapters = bytes.concat(wrapper.toBytes(), abi.encodePacked(offer.adapters)).toAddresses();\n offer.path = bytes.concat(tokenOut.toBytes(), abi.encodePacked(offer.path)).toAddresses();\n offer.gasEstimate += gasEstimate;\n }\n\n function getAmountOut(FormattedOffer memory offer) internal pure returns (uint256) {\n return offer.amounts[offer.amounts.length - 1];\n }\n\n}" + }, + "src/contracts/test/TestWrapper.sol": { + "content": "// SPDX-License-Identifier: MIT\npragma solidity >=0.8.0;\n\nimport \"../YakWrapper.sol\";\n\n\ninterface ISomeExternalContract {\n function getWhitelistedTokens() external view returns (address[] memory);\n function getWrappedToken() external view returns (address);\n \n function queryMint(address from, uint amount) external view returns (uint256);\n function queryBurn(address to, uint amount) external view returns (uint256);\n\n function mintWrappedToken(address from, uint amount) external;\n function burnWrappedToken(address to, uint amount) external;\n}\n\ncontract TestWrapper is YakWrapper {\n using SafeERC20 for IERC20;\n\n address internal immutable someExternalContract;\n mapping(address => bool) internal isWhitelisted;\n address internal immutable wrappedToken;\n address[] internal whitelistedTokens;\n\n constructor(\n string memory _name, \n uint256 _gasEstimate, \n address _someExternalContract\n ) YakWrapper(_name, _gasEstimate) {\n whitelistedTokens = ISomeExternalContract(_someExternalContract).getWhitelistedTokens();\n wrappedToken = ISomeExternalContract(_someExternalContract).getWrappedToken();\n someExternalContract = _someExternalContract;\n }\n\n function setWhitelistedTokens(address[] memory tokens) public onlyMaintainer {\n for (uint i = 0; i < whitelistedTokens.length; i++) {\n isWhitelisted[whitelistedTokens[i]] = false;\n }\n whitelistedTokens = tokens;\n for (uint i = 0; i < tokens.length; i++) {\n isWhitelisted[tokens[i]] = true;\n }\n }\n\n function getTokensIn() override external view returns (address[] memory) {\n return whitelistedTokens;\n }\n\n function getTokensOut() override external view returns (address[] memory) {\n return whitelistedTokens;\n }\n\n function getWrappedToken() override external view returns (address) {\n return wrappedToken;\n }\n\n function _query(\n uint256 _amountIn,\n address _tokenIn,\n address _tokenOut\n ) override internal view returns (uint256) {\n if (_tokenIn == wrappedToken && isWhitelisted[_tokenOut]) {\n return ISomeExternalContract(someExternalContract).queryBurn(_tokenOut, _amountIn);\n } else if (_tokenOut == wrappedToken && isWhitelisted[_tokenIn]) {\n return ISomeExternalContract(someExternalContract).queryMint(_tokenIn, _amountIn);\n } else {\n return 0;\n }\n }\n\n function _swap(\n uint256 _amountIn,\n uint256 _amountOut,\n address _tokenIn,\n address _tokenOut,\n address _to\n ) override internal {\n if (_tokenIn == wrappedToken && isWhitelisted[_tokenOut]) {\n IERC20(_tokenOut).safeTransfer(someExternalContract, _amountIn);\n ISomeExternalContract(someExternalContract).burnWrappedToken(_tokenOut, _amountIn);\n } else if (_tokenOut == wrappedToken && isWhitelisted[_tokenIn]) {\n IERC20(_tokenIn).safeTransfer(someExternalContract, _amountIn);\n ISomeExternalContract(someExternalContract).mintWrappedToken(_tokenIn, _amountIn);\n } else {\n revert(\"Invalid token pair\");\n }\n _returnTo(_tokenOut, _amountOut, _to);\n }\n\n}" + }, + "src/contracts/wrappers/GlpWrapper.sol": { + "content": "// SPDX-License-Identifier: MIT\npragma solidity >=0.8.0;\n\nimport \"../YakWrapper.sol\";\nimport \"../interface/IGmxVault.sol\";\nimport \"../interface/IGlpManager.sol\";\nimport \"../interface/IGmxRewardRouter.sol\";\nimport \"../interface/IERC20.sol\";\nimport \"../lib/SafeERC20.sol\";\n\ncontract GlpWrapper is YakWrapper {\n using SafeERC20 for IERC20;\n\n uint256 public constant BASIS_POINTS_DIVISOR = 1e4;\n uint256 public constant PRICE_PRECISION = 1e30;\n\n address public immutable USDG;\n address public immutable GLP;\n address public immutable sGLP;\n address public immutable vault;\n address public immutable rewardRouter;\n address public immutable glpManager;\n address public immutable vaultUtils;\n\n mapping(address => bool) internal isWhitelisted;\n address[] internal whitelistedTokens;\n\n constructor(\n string memory _name,\n uint256 _gasEstimate,\n address _gmxRewardRouter,\n address _glp,\n address _sGlp\n ) YakWrapper(_name, _gasEstimate) {\n address gmxGLPManager = IGmxRewardRouter(_gmxRewardRouter).glpManager();\n address gmxVault = IGlpManager(gmxGLPManager).vault();\n USDG = IGmxVault(gmxVault).usdg();\n vaultUtils = address(IGmxVault(gmxVault).vaultUtils());\n rewardRouter = _gmxRewardRouter;\n vault = gmxVault;\n glpManager = gmxGLPManager;\n GLP = _glp;\n sGLP = _sGlp;\n }\n\n function setWhitelistedTokens(address[] memory tokens) public onlyMaintainer {\n for (uint256 i = 0; i < whitelistedTokens.length; i++) {\n isWhitelisted[whitelistedTokens[i]] = false;\n }\n whitelistedTokens = tokens;\n for (uint256 i = 0; i < tokens.length; i++) {\n isWhitelisted[tokens[i]] = true;\n }\n }\n\n function getTokensIn() external view override returns (address[] memory) {\n return whitelistedTokens;\n }\n\n function getTokensOut() external view override returns (address[] memory) {\n return whitelistedTokens;\n }\n\n function getWrappedToken() external view override returns (address) {\n return sGLP;\n }\n\n function _query(\n uint256 _amountIn,\n address _tokenIn,\n address _tokenOut\n ) internal view override returns (uint256 amountOut) {\n return (_tokenOut == sGLP) ? _quoteBuyGLP(_tokenIn, _amountIn) : _quoteSellGLP(_tokenOut, _amountIn);\n }\n\n function _quoteBuyGLP(address _tokenIn, uint256 _amountIn) internal view returns (uint256 amountOut) {\n uint256 aumInUsdg = IGlpManager(glpManager).getAumInUsdg(true);\n uint256 glpSupply = IERC20(GLP).totalSupply();\n uint256 price = IGmxVault(vault).getMinPrice(_tokenIn);\n uint256 usdgAmount = _calculateBuyUsdg(_amountIn, price, _tokenIn);\n amountOut = aumInUsdg == 0 ? usdgAmount : (usdgAmount * glpSupply) / aumInUsdg;\n }\n\n function _calculateBuyUsdg(\n uint256 _amountIn,\n uint256 _price,\n address _tokenIn\n ) internal view returns (uint256 amountOut) {\n amountOut = (_amountIn * _price) / PRICE_PRECISION;\n amountOut = IGmxVault(vault).adjustForDecimals(amountOut, _tokenIn, USDG);\n uint256 feeBasisPoints = IGmxVaultUtils(vaultUtils).getBuyUsdgFeeBasisPoints(_tokenIn, amountOut);\n uint256 amountAfterFees = (_amountIn * (BASIS_POINTS_DIVISOR - feeBasisPoints)) / BASIS_POINTS_DIVISOR;\n amountOut = (amountAfterFees * _price) / PRICE_PRECISION;\n amountOut = IGmxVault(vault).adjustForDecimals(amountOut, _tokenIn, USDG);\n }\n\n function _quoteSellGLP(address _tokenOut, uint256 _amountIn) internal view returns (uint256 amountOut) {\n uint256 aumInUsdg = IGlpManager(glpManager).getAumInUsdg(false);\n uint256 glpSupply = IERC20(GLP).totalSupply();\n uint256 usdgAmount = (_amountIn * aumInUsdg) / glpSupply;\n uint256 redemptionAmount = IGmxVault(vault).getRedemptionAmount(_tokenOut, usdgAmount);\n uint256 feeBasisPoints = IGmxVaultUtils(vaultUtils).getSellUsdgFeeBasisPoints(_tokenOut, usdgAmount);\n amountOut = (redemptionAmount * (BASIS_POINTS_DIVISOR - feeBasisPoints)) / BASIS_POINTS_DIVISOR;\n }\n\n function _swap(\n uint256 _amountIn,\n uint256 _amountOut,\n address _tokenIn,\n address _tokenOut,\n address _to\n ) internal override {}\n\n function swap(\n uint256 _amountIn,\n uint256 _amountOut,\n address _fromToken,\n address _toToken,\n address _to\n ) external override {\n uint256 toBalanceBefore = IERC20(_toToken).balanceOf(_to);\n if (_toToken == sGLP) {\n IERC20(_fromToken).approve(glpManager, _amountIn);\n uint256 amount = IGmxRewardRouter(rewardRouter).mintAndStakeGlp(_fromToken, _amountIn, 0, _amountOut);\n _returnTo(sGLP, amount, _to);\n } else {\n IGmxRewardRouter(rewardRouter).unstakeAndRedeemGlp(_toToken, _amountIn, _amountOut, _to);\n }\n uint256 diff = IERC20(_toToken).balanceOf(_to) - toBalanceBefore;\n require(diff >= _amountOut, \"Insufficient amount-out\");\n emit YakAdapterSwap(_fromToken, _toToken, _amountIn, _amountOut);\n }\n}\n" + }, + "src/contracts/YakAdapter.sol": { + "content": "// ╟╗ ╔╬\n// ╞╬╬ ╬╠╬\n// ╔╣╬╬╬ ╠╠╠╠╦\n// ╬╬╬╬╬╩ ╘╠╠╠╠╬\n// ║╬╬╬╬╬ ╘╠╠╠╠╬\n// ╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╒╬╬╬╬╬╬╬╜ ╠╠╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╬╬╬╬╬╬╬╬╠╠╠╠╠╠╠╠\n// ╙╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╕ ╬╬╬╬╬╬╬╜ ╣╠╠╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╬╬╬╬╬╬╬╬╬╠╠╠╠╠╠╠╩\n// ╙╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╔╬╬╬╬╬╬╬ ╔╠╠╠╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╣╬╬╬╬╬╬╬╬╬╬╬╠╠╠╠╝╙\n// ╘╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╒╠╠╠╬╠╬╩╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╣╬╬╬╬╬╬╬╙\n// ╣╬╬╬╬╬╬╬╬╬╬╠╣ ╣╬╠╠╠╬╩ ╚╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬\n// ╣╬╬╬╬╬╬╬╬╬╣ ╣╬╠╠╠╬╬ ╣╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬\n// ╟╬╬╬╬╬╬╬╩ ╬╬╠╠╠╠╬╬╬╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╠╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╒╬╬╠╠╬╠╠╬╬╬╬╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╣╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╬╬╬╠╠╠╠╝╝╝╝╝╝╝╠╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╚╬╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╣╬╬╬╬╠╠╩ ╘╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╙╬╬╬╬╬╬╬╬\n//\n\n// SPDX-License-Identifier: GPL-3.0-only\npragma solidity ^0.8.0;\n\nimport \"./interface/IERC20.sol\";\nimport \"./lib/SafeERC20.sol\";\nimport \"./lib/Maintainable.sol\";\n\nabstract contract YakAdapter is Maintainable {\n using SafeERC20 for IERC20;\n\n event YakAdapterSwap(address indexed _tokenFrom, address indexed _tokenTo, uint256 _amountIn, uint256 _amountOut);\n event UpdatedGasEstimate(address indexed _adapter, uint256 _newEstimate);\n event Recovered(address indexed _asset, uint256 amount);\n\n uint256 internal constant UINT_MAX = type(uint256).max;\n uint256 public swapGasEstimate;\n string public name;\n\n constructor(string memory _name, uint256 _gasEstimate) {\n setName(_name);\n setSwapGasEstimate(_gasEstimate);\n }\n\n function setName(string memory _name) internal {\n require(bytes(_name).length != 0, \"Invalid adapter name\");\n name = _name;\n }\n\n function setSwapGasEstimate(uint256 _estimate) public onlyMaintainer {\n require(_estimate != 0, \"Invalid gas-estimate\");\n swapGasEstimate = _estimate;\n emit UpdatedGasEstimate(address(this), _estimate);\n }\n\n function revokeAllowance(address _token, address _spender) external onlyMaintainer {\n IERC20(_token).safeApprove(_spender, 0);\n }\n\n function recoverERC20(address _tokenAddress, uint256 _tokenAmount) external onlyMaintainer {\n require(_tokenAmount > 0, \"YakAdapter: Nothing to recover\");\n IERC20(_tokenAddress).safeTransfer(msg.sender, _tokenAmount);\n emit Recovered(_tokenAddress, _tokenAmount);\n }\n\n function recoverAVAX(uint256 _amount) external onlyMaintainer {\n require(_amount > 0, \"YakAdapter: Nothing to recover\");\n (bool success, )= msg.sender.call{value: _amount}(\"\");\n require(success, \"Transfer failed.\");\n emit Recovered(address(0), _amount);\n }\n\n function query(\n uint256 _amountIn,\n address _tokenIn,\n address _tokenOut\n ) external view returns (uint256) {\n return _query(_amountIn, _tokenIn, _tokenOut);\n }\n\n function swap(\n uint256 _amountIn,\n uint256 _amountOut,\n address _fromToken,\n address _toToken,\n address _to\n ) external virtual {\n uint256 toBal0 = IERC20(_toToken).balanceOf(_to);\n _swap(_amountIn, _amountOut, _fromToken, _toToken, _to);\n uint256 diff = IERC20(_toToken).balanceOf(_to) - toBal0;\n require(diff >= _amountOut, \"Insufficient amount-out\");\n emit YakAdapterSwap(_fromToken, _toToken, _amountIn, _amountOut);\n }\n\n function _returnTo(\n address _token,\n uint256 _amount,\n address _to\n ) internal {\n if (address(this) != _to) IERC20(_token).safeTransfer(_to, _amount);\n }\n\n function _swap(\n uint256 _amountIn,\n uint256 _amountOut,\n address _fromToken,\n address _toToken,\n address _to\n ) internal virtual;\n\n function _query(\n uint256 _amountIn,\n address _tokenIn,\n address _tokenOut\n ) internal view virtual returns (uint256);\n\n receive() external payable {}\n}\n" + }, + "src/contracts/YakRouter.sol": { + "content": "// ╟╗ ╔╬\n// ╞╬╬ ╬╠╬\n// ╔╣╬╬╬ ╠╠╠╠╦\n// ╬╬╬╬╬╩ ╘╠╠╠╠╬\n// ║╬╬╬╬╬ ╘╠╠╠╠╬\n// ╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╒╬╬╬╬╬╬╬╜ ╠╠╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╬╬╬╬╬╬╬╬╠╠╠╠╠╠╠╠\n// ╙╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╕ ╬╬╬╬╬╬╬╜ ╣╠╠╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╬╬╬╬╬╬╬╬╬╠╠╠╠╠╠╠╩\n// ╙╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╔╬╬╬╬╬╬╬ ╔╠╠╠╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╣╬╬╬╬╬╬╬╬╬╬╬╠╠╠╠╝╙\n// ╘╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╒╠╠╠╬╠╬╩╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╣╬╬╬╬╬╬╬╙\n// ╣╬╬╬╬╬╬╬╬╬╬╠╣ ╣╬╠╠╠╬╩ ╚╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬\n// ╣╬╬╬╬╬╬╬╬╬╣ ╣╬╠╠╠╬╬ ╣╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬\n// ╟╬╬╬╬╬╬╬╩ ╬╬╠╠╠╠╬╬╬╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╠╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╒╬╬╠╠╬╠╠╬╬╬╬╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╣╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╬╬╬╠╠╠╠╝╝╝╝╝╝╝╠╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╚╬╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╣╬╬╬╬╠╠╩ ╘╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╙╬╬╬╬╬╬╬╬\n//\n\n// SPDX-License-Identifier: GPL-3.0-only\npragma solidity ^0.8.0;\npragma experimental ABIEncoderV2;\n\nimport \"./interface/IYakRouter.sol\";\nimport \"./interface/IAdapter.sol\";\nimport \"./interface/IERC20.sol\";\nimport \"./interface/IWETH.sol\";\nimport \"./lib/SafeERC20.sol\";\nimport \"./lib/Maintainable.sol\";\nimport \"./lib/YakViewUtils.sol\";\nimport \"./lib/Recoverable.sol\";\nimport \"./lib/SafeERC20.sol\";\n\n\ncontract YakRouter is Maintainable, Recoverable, IYakRouter {\n using SafeERC20 for IERC20;\n using OfferUtils for Offer;\n\n address public immutable WNATIVE;\n address public constant NATIVE = address(0);\n string public constant NAME = \"YakRouter\";\n uint256 public constant FEE_DENOMINATOR = 1e4;\n uint256 public MIN_FEE = 0;\n address public FEE_CLAIMER;\n address[] public TRUSTED_TOKENS;\n address[] public ADAPTERS;\n\n constructor(\n address[] memory _adapters,\n address[] memory _trustedTokens,\n address _feeClaimer,\n address _wrapped_native\n ) {\n setAllowanceForWrapping(_wrapped_native);\n setTrustedTokens(_trustedTokens);\n setFeeClaimer(_feeClaimer);\n setAdapters(_adapters);\n WNATIVE = _wrapped_native;\n }\n\n // -- SETTERS --\n\n function setAllowanceForWrapping(address _wnative) public onlyMaintainer {\n IERC20(_wnative).safeApprove(_wnative, type(uint256).max);\n }\n\n function setTrustedTokens(address[] memory _trustedTokens) override public onlyMaintainer {\n emit UpdatedTrustedTokens(_trustedTokens);\n TRUSTED_TOKENS = _trustedTokens;\n }\n\n function setAdapters(address[] memory _adapters) override public onlyMaintainer {\n emit UpdatedAdapters(_adapters);\n ADAPTERS = _adapters;\n }\n\n function setMinFee(uint256 _fee) override external onlyMaintainer {\n emit UpdatedMinFee(MIN_FEE, _fee);\n MIN_FEE = _fee;\n }\n\n function setFeeClaimer(address _claimer) override public onlyMaintainer {\n emit UpdatedFeeClaimer(FEE_CLAIMER, _claimer);\n FEE_CLAIMER = _claimer;\n }\n\n // -- GENERAL --\n\n function trustedTokensCount() override external view returns (uint256) {\n return TRUSTED_TOKENS.length;\n }\n\n function adaptersCount() override external view returns (uint256) {\n return ADAPTERS.length;\n }\n\n // Fallback\n receive() external payable {}\n\n // -- HELPERS --\n\n function _applyFee(uint256 _amountIn, uint256 _fee) internal view returns (uint256) {\n require(_fee >= MIN_FEE, \"YakRouter: Insufficient fee\");\n return (_amountIn * (FEE_DENOMINATOR - _fee)) / FEE_DENOMINATOR;\n }\n\n function _wrap(uint256 _amount) internal {\n IWETH(WNATIVE).deposit{ value: _amount }();\n }\n\n function _unwrap(uint256 _amount) internal {\n IWETH(WNATIVE).withdraw(_amount);\n }\n\n /**\n * @notice Return tokens to user\n * @dev Pass address(0) for AVAX\n * @param _token address\n * @param _amount tokens to return\n * @param _to address where funds should be sent to\n */\n function _returnTokensTo(\n address _token,\n uint256 _amount,\n address _to\n ) internal {\n if (address(this) != _to) {\n if (_token == NATIVE) {\n (bool success, )= _to.call{value: _amount}(\"\");\n require(success, \"Transfer failed.\");\n } else {\n IERC20(_token).safeTransfer(_to, _amount);\n }\n }\n }\n\n function _transferFrom(address token, address _from, address _to, uint _amount) internal {\n if (_from != address(this))\n IERC20(token).safeTransferFrom(_from, _to, _amount);\n else\n IERC20(token).safeTransfer(_to, _amount);\n }\n \n // -- QUERIES --\n\n /**\n * Query single adapter\n */\n function queryAdapter(\n uint256 _amountIn,\n address _tokenIn,\n address _tokenOut,\n uint8 _index\n ) override external view returns (uint256) {\n IAdapter _adapter = IAdapter(ADAPTERS[_index]);\n uint256 amountOut = _adapter.query(_amountIn, _tokenIn, _tokenOut);\n return amountOut;\n }\n\n /**\n * Query specified adapters\n */\n function queryNoSplit(\n uint256 _amountIn,\n address _tokenIn,\n address _tokenOut,\n uint8[] calldata _options\n ) override public view returns (Query memory) {\n Query memory bestQuery;\n for (uint8 i; i < _options.length; i++) {\n address _adapter = ADAPTERS[_options[i]];\n uint256 amountOut = IAdapter(_adapter).query(_amountIn, _tokenIn, _tokenOut);\n if (i == 0 || amountOut > bestQuery.amountOut) {\n bestQuery = Query(_adapter, _tokenIn, _tokenOut, amountOut);\n }\n }\n return bestQuery;\n }\n\n /**\n * Query all adapters\n */\n function queryNoSplit(\n uint256 _amountIn,\n address _tokenIn,\n address _tokenOut\n ) override public view returns (Query memory) {\n Query memory bestQuery;\n for (uint8 i; i < ADAPTERS.length; i++) {\n address _adapter = ADAPTERS[i];\n uint256 amountOut = IAdapter(_adapter).query(_amountIn, _tokenIn, _tokenOut);\n if (i == 0 || amountOut > bestQuery.amountOut) {\n bestQuery = Query(_adapter, _tokenIn, _tokenOut, amountOut);\n }\n }\n return bestQuery;\n }\n\n /**\n * Return path with best returns between two tokens\n * Takes gas-cost into account\n */\n function findBestPathWithGas(\n uint256 _amountIn,\n address _tokenIn,\n address _tokenOut,\n uint256 _maxSteps,\n uint256 _gasPrice\n ) override external view returns (FormattedOffer memory) {\n require(_maxSteps > 0 && _maxSteps < 5, \"YakRouter: Invalid max-steps\");\n Offer memory queries = OfferUtils.newOffer(_amountIn, _tokenIn);\n uint256 gasPriceInExitTkn = _gasPrice > 0 ? getGasPriceInExitTkn(_gasPrice, _tokenOut) : 0;\n queries = _findBestPath(_amountIn, _tokenIn, _tokenOut, _maxSteps, queries, gasPriceInExitTkn);\n if (queries.adapters.length == 0) {\n queries.amounts = \"\";\n queries.path = \"\";\n }\n return queries.format();\n }\n\n // Find the market price between gas-asset(native) and token-out and express gas price in token-out\n function getGasPriceInExitTkn(uint256 _gasPrice, address _tokenOut) internal view returns (uint256 price) {\n // Avoid low-liquidity price appreciation (https://github.com/yieldyak/yak-aggregator/issues/20)\n FormattedOffer memory gasQuery = findBestPath(1e18, WNATIVE, _tokenOut, 2);\n if (gasQuery.path.length != 0) {\n // Leave result in nWei to preserve precision for assets with low decimal places\n price = (gasQuery.amounts[gasQuery.amounts.length - 1] * _gasPrice) / 1e9;\n }\n }\n\n /**\n * Return path with best returns between two tokens\n */\n function findBestPath(\n uint256 _amountIn,\n address _tokenIn,\n address _tokenOut,\n uint256 _maxSteps\n ) override public view returns (FormattedOffer memory) {\n require(_maxSteps > 0 && _maxSteps < 5, \"YakRouter: Invalid max-steps\");\n Offer memory queries = OfferUtils.newOffer(_amountIn, _tokenIn);\n queries = _findBestPath(_amountIn, _tokenIn, _tokenOut, _maxSteps, queries, 0);\n // If no paths are found return empty struct\n if (queries.adapters.length == 0) {\n queries.amounts = \"\";\n queries.path = \"\";\n }\n return queries.format();\n }\n\n function _findBestPath(\n uint256 _amountIn,\n address _tokenIn,\n address _tokenOut,\n uint256 _maxSteps,\n Offer memory _queries,\n uint256 _tknOutPriceNwei\n ) internal view returns (Offer memory) {\n Offer memory bestOption = _queries.clone();\n uint256 bestAmountOut;\n uint256 gasEstimate;\n bool withGas = _tknOutPriceNwei != 0;\n\n // First check if there is a path directly from tokenIn to tokenOut\n Query memory queryDirect = queryNoSplit(_amountIn, _tokenIn, _tokenOut);\n\n if (queryDirect.amountOut != 0) {\n if (withGas) {\n gasEstimate = IAdapter(queryDirect.adapter).swapGasEstimate();\n }\n bestOption.addToTail(queryDirect.amountOut, queryDirect.adapter, queryDirect.tokenOut, gasEstimate);\n bestAmountOut = queryDirect.amountOut;\n }\n // Only check the rest if they would go beyond step limit (Need at least 2 more steps)\n if (_maxSteps > 1 && _queries.adapters.length / 32 <= _maxSteps - 2) {\n // Check for paths that pass through trusted tokens\n for (uint256 i = 0; i < TRUSTED_TOKENS.length; i++) {\n if (_tokenIn == TRUSTED_TOKENS[i]) {\n continue;\n }\n // Loop through all adapters to find the best one for swapping tokenIn for one of the trusted tokens\n Query memory bestSwap = queryNoSplit(_amountIn, _tokenIn, TRUSTED_TOKENS[i]);\n if (bestSwap.amountOut == 0) {\n continue;\n }\n // Explore options that connect the current path to the tokenOut\n Offer memory newOffer = _queries.clone();\n if (withGas) {\n gasEstimate = IAdapter(bestSwap.adapter).swapGasEstimate();\n }\n newOffer.addToTail(bestSwap.amountOut, bestSwap.adapter, bestSwap.tokenOut, gasEstimate);\n newOffer = _findBestPath(\n bestSwap.amountOut,\n TRUSTED_TOKENS[i],\n _tokenOut,\n _maxSteps,\n newOffer,\n _tknOutPriceNwei\n ); // Recursive step\n address tokenOut = newOffer.getTokenOut();\n uint256 amountOut = newOffer.getAmountOut();\n // Check that the last token in the path is the tokenOut and update the new best option if neccesary\n if (_tokenOut == tokenOut && amountOut > bestAmountOut) {\n if (newOffer.gasEstimate > bestOption.gasEstimate) {\n uint256 gasCostDiff = (_tknOutPriceNwei * (newOffer.gasEstimate - bestOption.gasEstimate)) /\n 1e9;\n uint256 priceDiff = amountOut - bestAmountOut;\n if (gasCostDiff > priceDiff) {\n continue;\n }\n }\n bestAmountOut = amountOut;\n bestOption = newOffer;\n }\n }\n }\n return bestOption;\n }\n\n // -- SWAPPERS --\n\n function _swapNoSplit(\n Trade calldata _trade,\n address _from,\n address _to,\n uint256 _fee\n ) internal returns (uint256) {\n uint256[] memory amounts = new uint256[](_trade.path.length);\n if (_fee > 0 || MIN_FEE > 0) {\n // Transfer fees to the claimer account and decrease initial amount\n amounts[0] = _applyFee(_trade.amountIn, _fee);\n _transferFrom(_trade.path[0], _from, FEE_CLAIMER, _trade.amountIn - amounts[0]);\n } else {\n amounts[0] = _trade.amountIn;\n }\n _transferFrom(_trade.path[0], _from, _trade.adapters[0], amounts[0]);\n // Get amounts that will be swapped\n for (uint256 i = 0; i < _trade.adapters.length; i++) {\n amounts[i + 1] = IAdapter(_trade.adapters[i]).query(amounts[i], _trade.path[i], _trade.path[i + 1]);\n }\n require(amounts[amounts.length - 1] >= _trade.amountOut, \"YakRouter: Insufficient output amount\");\n for (uint256 i = 0; i < _trade.adapters.length; i++) {\n // All adapters should transfer output token to the following target\n // All targets are the adapters, expect for the last swap where tokens are sent out\n address targetAddress = i < _trade.adapters.length - 1 ? _trade.adapters[i + 1] : _to;\n IAdapter(_trade.adapters[i]).swap(\n amounts[i],\n amounts[i + 1],\n _trade.path[i],\n _trade.path[i + 1],\n targetAddress\n );\n }\n emit YakSwap(_trade.path[0], _trade.path[_trade.path.length - 1], _trade.amountIn, amounts[amounts.length - 1]);\n return amounts[amounts.length - 1];\n }\n\n function swapNoSplit(\n Trade calldata _trade,\n address _to,\n uint256 _fee\n ) override public {\n _swapNoSplit(_trade, msg.sender, _to, _fee);\n }\n\n function swapNoSplitFromAVAX(\n Trade calldata _trade,\n address _to,\n uint256 _fee\n ) override external payable {\n require(_trade.path[0] == WNATIVE, \"YakRouter: Path needs to begin with WAVAX\");\n _wrap(_trade.amountIn);\n _swapNoSplit(_trade, address(this), _to, _fee);\n }\n\n function swapNoSplitToAVAX(\n Trade calldata _trade,\n address _to,\n uint256 _fee\n ) override public {\n require(_trade.path[_trade.path.length - 1] == WNATIVE, \"YakRouter: Path needs to end with WAVAX\");\n uint256 returnAmount = _swapNoSplit(_trade, msg.sender, address(this), _fee);\n _unwrap(returnAmount);\n _returnTokensTo(NATIVE, returnAmount, _to);\n }\n\n /**\n * Swap token to token without the need to approve the first token\n */\n function swapNoSplitWithPermit(\n Trade calldata _trade,\n address _to,\n uint256 _fee,\n uint256 _deadline,\n uint8 _v,\n bytes32 _r,\n bytes32 _s\n ) override external {\n IERC20(_trade.path[0]).permit(msg.sender, address(this), _trade.amountIn, _deadline, _v, _r, _s);\n swapNoSplit(_trade, _to, _fee);\n }\n\n /**\n * Swap token to AVAX without the need to approve the first token\n */\n function swapNoSplitToAVAXWithPermit(\n Trade calldata _trade,\n address _to,\n uint256 _fee,\n uint256 _deadline,\n uint8 _v,\n bytes32 _r,\n bytes32 _s\n ) override external {\n IERC20(_trade.path[0]).permit(msg.sender, address(this), _trade.amountIn, _deadline, _v, _r, _s);\n swapNoSplitToAVAX(_trade, _to, _fee);\n }\n}\n" + }, + "src/contracts/YakWrapper.sol": { + "content": "// ╟╗ ╔╬\n// ╞╬╬ ╬╠╬\n// ╔╣╬╬╬ ╠╠╠╠╦\n// ╬╬╬╬╬╩ ╘╠╠╠╠╬\n// ║╬╬╬╬╬ ╘╠╠╠╠╬\n// ╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╒╬╬╬╬╬╬╬╜ ╠╠╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╬╬╬╬╬╬╬╬╠╠╠╠╠╠╠╠\n// ╙╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╕ ╬╬╬╬╬╬╬╜ ╣╠╠╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╬╬╬╬╬╬╬╬╬╠╠╠╠╠╠╠╩\n// ╙╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╔╬╬╬╬╬╬╬ ╔╠╠╠╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╣╬╬╬╬╬╬╬╬╬╬╬╠╠╠╠╝╙\n// ╘╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╒╠╠╠╬╠╬╩╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╣╬╬╬╬╬╬╬╙\n// ╣╬╬╬╬╬╬╬╬╬╬╠╣ ╣╬╠╠╠╬╩ ╚╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬\n// ╣╬╬╬╬╬╬╬╬╬╣ ╣╬╠╠╠╬╬ ╣╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬\n// ╟╬╬╬╬╬╬╬╩ ╬╬╠╠╠╠╬╬╬╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬╠╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╒╬╬╠╠╬╠╠╬╬╬╬╬╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╣╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╬╬╬╠╠╠╠╝╝╝╝╝╝╝╠╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╚╬╬╬╬╬╬╬╬\n// ╬╬╬╬╬╬╬ ╣╬╬╬╬╠╠╩ ╘╬╬╬╬╬╬╬ ╠╬╬╬╬╬╬╬ ╙╬╬╬╬╬╬╬╬\n//\n\n// SPDX-License-Identifier: GPL-3.0-only\npragma solidity ^0.8.0;\n\nimport \"./YakAdapter.sol\";\n\nabstract contract YakWrapper is YakAdapter {\n\n constructor(string memory name, uint256 gasEstimate) YakAdapter(name, gasEstimate) {}\n\n function getTokensIn() external view virtual returns (address[] memory);\n function getTokensOut() external view virtual returns (address[] memory);\n function getWrappedToken() external view virtual returns (address);\n\n}" + } + }, + "settings": { + "optimizer": { + "enabled": true, + "mode": "3" + }, + "outputSelection": { + "*": { + "*": [ + "abi", + "evm.methodIdentifiers", + "metadata", + "devdoc", + "userdoc", + "storageLayout" + ], + "": [ + "ast" + ] + } + }, + "metadata": { + "useLiteralContent": true + } + } +} \ No newline at end of file diff --git a/src/misc/addresses.json b/src/misc/addresses.json index 812bfe81..28aa368a 100644 --- a/src/misc/addresses.json +++ b/src/misc/addresses.json @@ -505,5 +505,27 @@ "liquidityBook": { "router": "0x0C344c52841d3F8d488E1CcDBafB42CE2C7fdFA9" } + }, + "zksync": { + "assets": { + "WETH": "0x5AEa5775959fBC2557Cc8789bC1bf90A239D9a91", + "USDC": "0x3355df6D4c9C3035724Fd0e3914dE96A5a83aaf4", + "cBUSD": "0x2039bb4116B4EFc145Ec4f0e2eA75012D6C0f181", + "USD+": "0x8E86e46278518EFc1C5CEd245cBA2C7e3ef11557" + }, + "univ2Factories": { + "space": "0x0700Fb51560CfC8F896B2c812499D17c5B0bF6A7" + }, + "syncSwap": { + "vault": "0x621425a1Ef6abE91058E9712575dcc4258F8d091", + "factory": "0xf2DAd89f2788a8CD54625C60b55cD3d2D0ACa7Cb", + "stableFactory": "0x5b9f21d407F35b10CbfDDca17D5D84b129356ea3" + }, + "velocore": { + "factory": "0xE140EaC2bB748c8F456719a457F26636617Bb0E9" + }, + "mute": { + "factory": "0x40be1cBa6C5B47cDF9da7f963B6F761F4C60627D" + } } } \ No newline at end of file diff --git a/src/misc/deployOptions.js b/src/misc/deployOptions.js index 005c06c1..bab62c60 100644 --- a/src/misc/deployOptions.js +++ b/src/misc/deployOptions.js @@ -2,7 +2,8 @@ const { avalanche: ava, dogechain: dog, arbitrum: arb, - optimism: opt + optimism: opt, + zksync: zksync, } = require('./addresses.json') module.exports = { @@ -137,5 +138,21 @@ module.exports = { // opt.assets.BOB, ], wnative: opt.assets.WETH + }, + "zksync": { + adapterWhitelist: [ + 'VelocoreAdapter', + 'MuteAdapter', + 'WETHAdapter', + 'SyncSwapAdapter', + 'SpaceAdapter' + ], + hopTokens: [ + zksync.assets.WETH, + zksync.assets.USDC, + zksync.assets['USD+'], + zksync.assets.cBUSD + ], + wnative: zksync.assets.WETH } } \ No newline at end of file diff --git a/yarn.lock b/yarn.lock index f1ef305f..2cae43b4 100644 --- a/yarn.lock +++ b/yarn.lock @@ -23,6 +23,47 @@ chalk "^2.0.0" js-tokens "^4.0.0" +"@balena/dockerignore@^1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@balena/dockerignore/-/dockerignore-1.0.2.tgz#9ffe4726915251e8eb69f44ef3547e0da2c03e0d" + integrity sha512-wMue2Sy4GAVTk6Ic4tJVcnfdau+gx2EnG7S+uAEe+TWJFqE4YoWN4/H8MSLj4eYJKxGg26lZwboEniNiNwZQ6Q== + +"@chainsafe/as-sha256@^0.3.1": + version "0.3.1" + resolved "https://registry.yarnpkg.com/@chainsafe/as-sha256/-/as-sha256-0.3.1.tgz#3639df0e1435cab03f4d9870cc3ac079e57a6fc9" + integrity sha512-hldFFYuf49ed7DAakWVXSJODuq3pzJEguD8tQ7h+sGkM18vja+OFoJI9krnGmgzyuZC2ETX0NOIcCTy31v2Mtg== + +"@chainsafe/persistent-merkle-tree@^0.4.2": + version "0.4.2" + resolved "https://registry.yarnpkg.com/@chainsafe/persistent-merkle-tree/-/persistent-merkle-tree-0.4.2.tgz#4c9ee80cc57cd3be7208d98c40014ad38f36f7ff" + integrity sha512-lLO3ihKPngXLTus/L7WHKaw9PnNJWizlOF1H9NNzHP6Xvh82vzg9F2bzkXhYIFshMZ2gTCEz8tq6STe7r5NDfQ== + dependencies: + "@chainsafe/as-sha256" "^0.3.1" + +"@chainsafe/persistent-merkle-tree@^0.5.0": + version "0.5.0" + resolved "https://registry.yarnpkg.com/@chainsafe/persistent-merkle-tree/-/persistent-merkle-tree-0.5.0.tgz#2b4a62c9489a5739dedd197250d8d2f5427e9f63" + integrity sha512-l0V1b5clxA3iwQLXP40zYjyZYospQLZXzBVIhhr9kDg/1qHZfzzHw0jj4VPBijfYCArZDlPkRi1wZaV2POKeuw== + dependencies: + "@chainsafe/as-sha256" "^0.3.1" + +"@chainsafe/ssz@^0.10.0": + version "0.10.2" + resolved "https://registry.yarnpkg.com/@chainsafe/ssz/-/ssz-0.10.2.tgz#c782929e1bb25fec66ba72e75934b31fd087579e" + integrity sha512-/NL3Lh8K+0q7A3LsiFq09YXS9fPE+ead2rr7vM2QK8PLzrNsw3uqrif9bpRX5UxgeRjM+vYi+boCM3+GM4ovXg== + dependencies: + "@chainsafe/as-sha256" "^0.3.1" + "@chainsafe/persistent-merkle-tree" "^0.5.0" + +"@chainsafe/ssz@^0.9.2": + version "0.9.4" + resolved "https://registry.yarnpkg.com/@chainsafe/ssz/-/ssz-0.9.4.tgz#696a8db46d6975b600f8309ad3a12f7c0e310497" + integrity sha512-77Qtg2N1ayqs4Bg/wvnWfg5Bta7iy7IRh8XqXh7oNMeP2HBbBwx8m6yTpA8p0EHItWPEBkgZd5S5/LSlp3GXuQ== + dependencies: + "@chainsafe/as-sha256" "^0.3.1" + "@chainsafe/persistent-merkle-tree" "^0.4.2" + case "^1.6.3" + "@colors/colors@1.5.0": version "1.5.0" resolved "https://registry.yarnpkg.com/@colors/colors/-/colors-1.5.0.tgz#bb504579c1cae923e6576a4f5da43d25f97bdbd9" @@ -112,7 +153,7 @@ "@ethersproject/properties" ">=5.0.0-beta.131" "@ethersproject/strings" ">=5.0.0-beta.130" -"@ethersproject/abi@5.7.0", "@ethersproject/abi@^5.0.0", "@ethersproject/abi@^5.0.0-beta.146", "@ethersproject/abi@^5.1.2", "@ethersproject/abi@^5.5.0", "@ethersproject/abi@^5.7.0": +"@ethersproject/abi@5.7.0", "@ethersproject/abi@^5.0.0-beta.146", "@ethersproject/abi@^5.1.2", "@ethersproject/abi@^5.5.0", "@ethersproject/abi@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/abi/-/abi-5.7.0.tgz#b3f3e045bbbeed1af3947335c247ad625a44e449" integrity sha512-351ktp42TiRcYB3H1OP8yajPeAQstMW/yCFokj/AthP9bLHzQFPlOrxOcwYEDkUAICmOHljvN4K39OMTMUa9RA== @@ -140,7 +181,7 @@ "@ethersproject/transactions" "^5.7.0" "@ethersproject/web" "^5.7.0" -"@ethersproject/abstract-signer@5.7.0", "@ethersproject/abstract-signer@^5.0.0", "@ethersproject/abstract-signer@^5.7.0": +"@ethersproject/abstract-signer@5.7.0", "@ethersproject/abstract-signer@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/abstract-signer/-/abstract-signer-5.7.0.tgz#13f4f32117868452191a4649723cb086d2b596b2" integrity sha512-a16V8bq1/Cz+TGCkE2OPMTOUDLS3grCpdjoJCYNnVBbdYEMSgKrU0+B90s8b6H+ByYTBZN7a3g76jdIJi7UfKQ== @@ -151,7 +192,7 @@ "@ethersproject/logger" "^5.7.0" "@ethersproject/properties" "^5.7.0" -"@ethersproject/address@5.7.0", "@ethersproject/address@>=5.0.0-beta.128", "@ethersproject/address@^5.0.0", "@ethersproject/address@^5.0.2", "@ethersproject/address@^5.7.0": +"@ethersproject/address@5.7.0", "@ethersproject/address@>=5.0.0-beta.128", "@ethersproject/address@^5.0.2", "@ethersproject/address@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/address/-/address-5.7.0.tgz#19b56c4d74a3b0a46bfdbb6cfcc0a153fc697f37" integrity sha512-9wYhYt7aghVGo758POM5nqcOMaE168Q6aRLJZwUmiqSrAungkG74gSSeKEIR7ukixesdRZGPgVqme6vmxs1fkA== @@ -177,7 +218,7 @@ "@ethersproject/bytes" "^5.7.0" "@ethersproject/properties" "^5.7.0" -"@ethersproject/bignumber@5.7.0", "@ethersproject/bignumber@>=5.0.0-beta.130", "@ethersproject/bignumber@^5.0.0", "@ethersproject/bignumber@^5.7.0": +"@ethersproject/bignumber@5.7.0", "@ethersproject/bignumber@>=5.0.0-beta.130", "@ethersproject/bignumber@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/bignumber/-/bignumber-5.7.0.tgz#e2f03837f268ba655ffba03a57853e18a18dc9c2" integrity sha512-n1CAdIHRWjSucQO3MC1zPSVgV/6dy/fjL9pMrPP9peL+QxEg9wOsVqwD4+818B6LUEtaXzVHQiuivzRoxPxUGw== @@ -186,7 +227,7 @@ "@ethersproject/logger" "^5.7.0" bn.js "^5.2.1" -"@ethersproject/bytes@5.7.0", "@ethersproject/bytes@>=5.0.0-beta.129", "@ethersproject/bytes@^5.0.0", "@ethersproject/bytes@^5.7.0": +"@ethersproject/bytes@5.7.0", "@ethersproject/bytes@>=5.0.0-beta.129", "@ethersproject/bytes@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/bytes/-/bytes-5.7.0.tgz#a00f6ea8d7e7534d6d87f47188af1148d71f155d" integrity sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A== @@ -200,7 +241,7 @@ dependencies: "@ethersproject/bignumber" "^5.7.0" -"@ethersproject/contracts@5.7.0", "@ethersproject/contracts@^5.0.0": +"@ethersproject/contracts@5.7.0", "@ethersproject/contracts@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/contracts/-/contracts-5.7.0.tgz#c305e775abd07e48aa590e1a877ed5c316f8bd1e" integrity sha512-5GJbzEU3X+d33CdfPhcyS+z8MzsTrBGk/sc+G+59+tPa9yFkl6HQ9D6L0QMgNTA9q8dT0XKxxkyp883XsQvbbg== @@ -281,13 +322,20 @@ resolved "https://registry.yarnpkg.com/@ethersproject/logger/-/logger-5.7.0.tgz#6ce9ae168e74fecf287be17062b590852c311892" integrity sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig== -"@ethersproject/networks@5.7.0", "@ethersproject/networks@^5.7.0": +"@ethersproject/networks@5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/networks/-/networks-5.7.0.tgz#df72a392f1a63a57f87210515695a31a245845ad" integrity sha512-MG6oHSQHd4ebvJrleEQQ4HhVu8Ichr0RDYEfHzsVAVjHNM+w36x9wp9r+hf1JstMXtseXDtkiVoARAG6M959AA== dependencies: "@ethersproject/logger" "^5.7.0" +"@ethersproject/networks@5.7.1", "@ethersproject/networks@^5.7.0": + version "5.7.1" + resolved "https://registry.yarnpkg.com/@ethersproject/networks/-/networks-5.7.1.tgz#118e1a981d757d45ccea6bb58d9fd3d9db14ead6" + integrity sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ== + dependencies: + "@ethersproject/logger" "^5.7.0" + "@ethersproject/pbkdf2@5.7.0", "@ethersproject/pbkdf2@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/pbkdf2/-/pbkdf2-5.7.0.tgz#d2267d0a1f6e123f3771007338c47cccd83d3102" @@ -303,7 +351,7 @@ dependencies: "@ethersproject/logger" "^5.7.0" -"@ethersproject/providers@5.7.0", "@ethersproject/providers@^5.0.0": +"@ethersproject/providers@5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/providers/-/providers-5.7.0.tgz#a885cfc7650a64385e7b03ac86fe9c2d4a9c2c63" integrity sha512-+TTrrINMzZ0aXtlwO/95uhAggKm4USLm1PbeCBR/3XZ7+Oey+3pMyddzZEyRhizHpy1HXV0FRWRMI1O3EGYibA== @@ -329,6 +377,32 @@ bech32 "1.1.4" ws "7.4.6" +"@ethersproject/providers@5.7.2", "@ethersproject/providers@^5.7.1", "@ethersproject/providers@^5.7.2": + version "5.7.2" + resolved "https://registry.yarnpkg.com/@ethersproject/providers/-/providers-5.7.2.tgz#f8b1a4f275d7ce58cf0a2eec222269a08beb18cb" + integrity sha512-g34EWZ1WWAVgr4aptGlVBF8mhl3VWjv+8hoAnzStu8Ah22VHBsuGzP17eb6xDVRzw895G4W7vvx60lFFur/1Rg== + dependencies: + "@ethersproject/abstract-provider" "^5.7.0" + "@ethersproject/abstract-signer" "^5.7.0" + "@ethersproject/address" "^5.7.0" + "@ethersproject/base64" "^5.7.0" + "@ethersproject/basex" "^5.7.0" + "@ethersproject/bignumber" "^5.7.0" + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/constants" "^5.7.0" + "@ethersproject/hash" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/networks" "^5.7.0" + "@ethersproject/properties" "^5.7.0" + "@ethersproject/random" "^5.7.0" + "@ethersproject/rlp" "^5.7.0" + "@ethersproject/sha2" "^5.7.0" + "@ethersproject/strings" "^5.7.0" + "@ethersproject/transactions" "^5.7.0" + "@ethersproject/web" "^5.7.0" + bech32 "1.1.4" + ws "7.4.6" + "@ethersproject/random@5.7.0", "@ethersproject/random@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/random/-/random-5.7.0.tgz#af19dcbc2484aae078bb03656ec05df66253280c" @@ -366,7 +440,7 @@ elliptic "6.5.4" hash.js "1.1.7" -"@ethersproject/solidity@5.7.0", "@ethersproject/solidity@^5.0.0": +"@ethersproject/solidity@5.7.0", "@ethersproject/solidity@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/solidity/-/solidity-5.7.0.tgz#5e9c911d8a2acce2a5ebb48a5e2e0af20b631cb8" integrity sha512-HmabMd2Dt/raavyaGukF4XxizWKhKQ24DoLtdNbBmNKUOPqwjsKQSdV9GQtj9CBEea9DlzETlVER1gYeXXBGaA== @@ -387,7 +461,7 @@ "@ethersproject/constants" "^5.7.0" "@ethersproject/logger" "^5.7.0" -"@ethersproject/transactions@5.7.0", "@ethersproject/transactions@^5.0.0", "@ethersproject/transactions@^5.0.0-beta.135", "@ethersproject/transactions@^5.7.0": +"@ethersproject/transactions@5.7.0", "@ethersproject/transactions@^5.0.0-beta.135", "@ethersproject/transactions@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/transactions/-/transactions-5.7.0.tgz#91318fc24063e057885a6af13fdb703e1f993d3b" integrity sha512-kmcNicCp1lp8qanMTC3RIikGgoJ80ztTyvtsFvCYpSCfkjhD0jZ2LOrnbcuxuToLIUYYf+4XwD1rP+B/erDIhQ== @@ -411,7 +485,7 @@ "@ethersproject/constants" "^5.7.0" "@ethersproject/logger" "^5.7.0" -"@ethersproject/wallet@5.7.0", "@ethersproject/wallet@^5.0.0": +"@ethersproject/wallet@5.7.0", "@ethersproject/wallet@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/wallet/-/wallet-5.7.0.tgz#4e5d0790d96fe21d61d38fb40324e6c7ef350b2d" integrity sha512-MhmXlJXEJFBFVKrDLB4ZdDzxcBxQ3rLyCkhNqVu3CDYvR97E+8r01UgrI+TI99Le+aYm/in/0vp86guJuM7FCA== @@ -432,7 +506,7 @@ "@ethersproject/transactions" "^5.7.0" "@ethersproject/wordlists" "^5.7.0" -"@ethersproject/web@5.7.0", "@ethersproject/web@^5.7.0": +"@ethersproject/web@5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/web/-/web-5.7.0.tgz#40850c05260edad8b54827923bbad23d96aac0bc" integrity sha512-ApHcbbj+muRASVDSCl/tgxaH2LBkRMEYfLOLVa0COipx0+nlu0QKet7U2lEg0vdkh8XRSLf2nd1f1Uk9SrVSGA== @@ -443,6 +517,17 @@ "@ethersproject/properties" "^5.7.0" "@ethersproject/strings" "^5.7.0" +"@ethersproject/web@5.7.1", "@ethersproject/web@^5.7.0": + version "5.7.1" + resolved "https://registry.yarnpkg.com/@ethersproject/web/-/web-5.7.1.tgz#de1f285b373149bee5928f4eb7bcb87ee5fbb4ae" + integrity sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w== + dependencies: + "@ethersproject/base64" "^5.7.0" + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/properties" "^5.7.0" + "@ethersproject/strings" "^5.7.0" + "@ethersproject/wordlists@5.7.0", "@ethersproject/wordlists@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/wordlists/-/wordlists-5.7.0.tgz#8fb2c07185d68c3e09eb3bfd6e779ba2774627f5" @@ -454,6 +539,51 @@ "@ethersproject/properties" "^5.7.0" "@ethersproject/strings" "^5.7.0" +"@matterlabs/hardhat-zksync-chai-matchers@^0.1.2": + version "0.1.2" + resolved "https://registry.yarnpkg.com/@matterlabs/hardhat-zksync-chai-matchers/-/hardhat-zksync-chai-matchers-0.1.2.tgz#deedc77737c4de4693b55631b9ca19dc4112d5ad" + integrity sha512-lJWlVgnu4p0QvMucEdeVOWxCpPZogsygntN+RXLMS0R4PnqwslKHfG1ZbcgWRWQ7vgABqCCIF7d1GjieWdlFmQ== + +"@matterlabs/hardhat-zksync-deploy@^0.6.3": + version "0.6.3" + resolved "https://registry.yarnpkg.com/@matterlabs/hardhat-zksync-deploy/-/hardhat-zksync-deploy-0.6.3.tgz#833b208373e7037bf43671054328d82511444e2a" + integrity sha512-FB+2xFL/80JJwlGna+aHA6dk4ONrMFqThTZATYVJUAKooA0Aw5qmpmM8B3qsNB4LLzHSO/EmVrHIcLaPv8hYwQ== + dependencies: + chalk "4.1.2" + +"@matterlabs/hardhat-zksync-solc@0.3.14": + version "0.3.14" + resolved "https://registry.yarnpkg.com/@matterlabs/hardhat-zksync-solc/-/hardhat-zksync-solc-0.3.14.tgz#0a32f01b4cd8631ecd8dfe0547e3ac49ab8290d5" + integrity sha512-iKuQ+vvnpv3K2lkFO41xpJcNWH0KHJ/5JbOboTlPZATVR7F3GJeHfJL+GG4wkxKXnxZczpxyQqC4rAfMKvRaDg== + dependencies: + "@nomiclabs/hardhat-docker" "^2.0.0" + chalk "4.1.2" + dockerode "^3.3.4" + +"@matterlabs/hardhat-zksync-solc@^0.3.16": + version "0.3.16" + resolved "https://registry.yarnpkg.com/@matterlabs/hardhat-zksync-solc/-/hardhat-zksync-solc-0.3.16.tgz#dd8ed44f1a580f282794a15fee995f418b040158" + integrity sha512-gw46yyiCfj49I/nbUcOlnF5xE80WyeW/i8i9ouHom4KWJNt1kioQIwOPkN7aJURhXpJJxKSdeWBrQHLWTZDnTA== + dependencies: + "@nomiclabs/hardhat-docker" "^2.0.0" + chalk "4.1.2" + dockerode "^3.3.4" + +"@matterlabs/hardhat-zksync-toolbox@^0.1.1": + version "0.1.1" + resolved "https://registry.yarnpkg.com/@matterlabs/hardhat-zksync-toolbox/-/hardhat-zksync-toolbox-0.1.1.tgz#723f20111035f031627bff01482cb3bf9eaee7f8" + integrity sha512-722AIJqLUsTJ7rKca4TbdYlLvRMKh4Ql3TKfLe5vh/kDrGUs5FfPH3+KgBs24hbwijMEcDKT5eL1taIIcRkRmQ== + +"@matterlabs/hardhat-zksync-verify@^0.1.5": + version "0.1.5" + resolved "https://registry.yarnpkg.com/@matterlabs/hardhat-zksync-verify/-/hardhat-zksync-verify-0.1.5.tgz#300a03d5533581a8cca775cc7a7968b22e8a2d62" + integrity sha512-o79DsXaEfa4ou4z07KLhCVOk4vX593QZME5cNq1wDD4DG3+ZYAjxwqplCpLhUmSSVjUKAVRGfEfqvuRMcvis2w== + dependencies: + "@matterlabs/hardhat-zksync-solc" "0.3.14" + axios "^1.3.4" + chalk "4.1.2" + dockerode "^3.3.4" + "@metamask/eth-sig-util@^4.0.0": version "4.0.1" resolved "https://registry.yarnpkg.com/@metamask/eth-sig-util/-/eth-sig-util-4.0.1.tgz#3ad61f6ea9ad73ba5b19db780d40d9aae5157088" @@ -465,39 +595,41 @@ tweetnacl "^1.0.3" tweetnacl-util "^0.15.1" -"@noble/hashes@1.1.2", "@noble/hashes@~1.1.1": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.1.2.tgz#e9e035b9b166ca0af657a7848eb2718f0f22f183" - integrity sha512-KYRCASVTv6aeUi1tsF8/vpyR7zpfs3FUzy2Jqm+MU+LmUKhQ0y2FpfwqkCcxSg2ua4GALJd8k2R76WxwZGbQpA== +"@noble/hashes@1.2.0", "@noble/hashes@~1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.2.0.tgz#a3150eeb09cc7ab207ebf6d7b9ad311a9bdbed12" + integrity sha512-FZfhjEDbT5GRswV3C6uvLPHMiVD6lQBmpoX5+eSiPaMTXte/IKqI5dykDxzZB/WBeK/CDuQRBWarPdi3FNY2zQ== -"@noble/secp256k1@1.6.3", "@noble/secp256k1@~1.6.0": - version "1.6.3" - resolved "https://registry.yarnpkg.com/@noble/secp256k1/-/secp256k1-1.6.3.tgz#7eed12d9f4404b416999d0c87686836c4c5c9b94" - integrity sha512-T04e4iTurVy7I8Sw4+c5OSN9/RkPlo1uKxAomtxQNLq8j1uPAqnsqG1bqvY3Jv7c13gyr6dui0zmh/I3+f/JaQ== +"@noble/secp256k1@1.7.1", "@noble/secp256k1@~1.7.0": + version "1.7.1" + resolved "https://registry.yarnpkg.com/@noble/secp256k1/-/secp256k1-1.7.1.tgz#b251c70f824ce3ca7f8dc3df08d58f005cc0507c" + integrity sha512-hOUk6AyBFmqVrv7k5WAw/LpszxVbj9gGN4JRkIX52fdFAj1UA61KXmZDvqVEm+pOyec3+fIeZB02LYa/pWOArw== -"@nomicfoundation/ethereumjs-block@^4.0.0": - version "4.0.0" - resolved "https://registry.yarnpkg.com/@nomicfoundation/ethereumjs-block/-/ethereumjs-block-4.0.0.tgz#fdd5c045e7baa5169abeed0e1202bf94e4481c49" - integrity sha512-bk8uP8VuexLgyIZAHExH1QEovqx0Lzhc9Ntm63nCRKLHXIZkobaFaeCVwTESV7YkPKUk7NiK11s8ryed4CS9yA== - dependencies: - "@nomicfoundation/ethereumjs-common" "^3.0.0" - "@nomicfoundation/ethereumjs-rlp" "^4.0.0" - "@nomicfoundation/ethereumjs-trie" "^5.0.0" - "@nomicfoundation/ethereumjs-tx" "^4.0.0" - "@nomicfoundation/ethereumjs-util" "^8.0.0" +"@nomicfoundation/ethereumjs-block@5.0.1": + version "5.0.1" + resolved "https://registry.yarnpkg.com/@nomicfoundation/ethereumjs-block/-/ethereumjs-block-5.0.1.tgz#6f89664f55febbd723195b6d0974773d29ee133d" + integrity sha512-u1Yioemi6Ckj3xspygu/SfFvm8vZEO8/Yx5a1QLzi6nVU0jz3Pg2OmHKJ5w+D9Ogk1vhwRiqEBAqcb0GVhCyHw== + dependencies: + "@nomicfoundation/ethereumjs-common" "4.0.1" + "@nomicfoundation/ethereumjs-rlp" "5.0.1" + "@nomicfoundation/ethereumjs-trie" "6.0.1" + "@nomicfoundation/ethereumjs-tx" "5.0.1" + "@nomicfoundation/ethereumjs-util" "9.0.1" ethereum-cryptography "0.1.3" + ethers "^5.7.1" -"@nomicfoundation/ethereumjs-blockchain@^6.0.0": - version "6.0.0" - resolved "https://registry.yarnpkg.com/@nomicfoundation/ethereumjs-blockchain/-/ethereumjs-blockchain-6.0.0.tgz#1a8c243a46d4d3691631f139bfb3a4a157187b0c" - integrity sha512-pLFEoea6MWd81QQYSReLlLfH7N9v7lH66JC/NMPN848ySPPQA5renWnE7wPByfQFzNrPBuDDRFFULMDmj1C0xw== - dependencies: - "@nomicfoundation/ethereumjs-block" "^4.0.0" - "@nomicfoundation/ethereumjs-common" "^3.0.0" - "@nomicfoundation/ethereumjs-ethash" "^2.0.0" - "@nomicfoundation/ethereumjs-rlp" "^4.0.0" - "@nomicfoundation/ethereumjs-trie" "^5.0.0" - "@nomicfoundation/ethereumjs-util" "^8.0.0" +"@nomicfoundation/ethereumjs-blockchain@7.0.1": + version "7.0.1" + resolved "https://registry.yarnpkg.com/@nomicfoundation/ethereumjs-blockchain/-/ethereumjs-blockchain-7.0.1.tgz#80e0bd3535bfeb9baa29836b6f25123dab06a726" + integrity sha512-NhzndlGg829XXbqJEYrF1VeZhAwSPgsK/OB7TVrdzft3y918hW5KNd7gIZ85sn6peDZOdjBsAXIpXZ38oBYE5A== + dependencies: + "@nomicfoundation/ethereumjs-block" "5.0.1" + "@nomicfoundation/ethereumjs-common" "4.0.1" + "@nomicfoundation/ethereumjs-ethash" "3.0.1" + "@nomicfoundation/ethereumjs-rlp" "5.0.1" + "@nomicfoundation/ethereumjs-trie" "6.0.1" + "@nomicfoundation/ethereumjs-tx" "5.0.1" + "@nomicfoundation/ethereumjs-util" "9.0.1" abstract-level "^1.0.3" debug "^4.3.3" ethereum-cryptography "0.1.3" @@ -505,191 +637,214 @@ lru-cache "^5.1.1" memory-level "^1.0.0" -"@nomicfoundation/ethereumjs-common@^3.0.0": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@nomicfoundation/ethereumjs-common/-/ethereumjs-common-3.0.0.tgz#f6bcc7753994555e49ab3aa517fc8bcf89c280b9" - integrity sha512-WS7qSshQfxoZOpHG/XqlHEGRG1zmyjYrvmATvc4c62+gZXgre1ymYP8ZNgx/3FyZY0TWe9OjFlKOfLqmgOeYwA== +"@nomicfoundation/ethereumjs-common@4.0.1": + version "4.0.1" + resolved "https://registry.yarnpkg.com/@nomicfoundation/ethereumjs-common/-/ethereumjs-common-4.0.1.tgz#4702d82df35b07b5407583b54a45bf728e46a2f0" + integrity sha512-OBErlkfp54GpeiE06brBW/TTbtbuBJV5YI5Nz/aB2evTDo+KawyEzPjBlSr84z/8MFfj8wS2wxzQX1o32cev5g== dependencies: - "@nomicfoundation/ethereumjs-util" "^8.0.0" + "@nomicfoundation/ethereumjs-util" "9.0.1" crc-32 "^1.2.0" -"@nomicfoundation/ethereumjs-ethash@^2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@nomicfoundation/ethereumjs-ethash/-/ethereumjs-ethash-2.0.0.tgz#11539c32fe0990e1122ff987d1b84cfa34774e81" - integrity sha512-WpDvnRncfDUuXdsAXlI4lXbqUDOA+adYRQaEezIkxqDkc+LDyYDbd/xairmY98GnQzo1zIqsIL6GB5MoMSJDew== +"@nomicfoundation/ethereumjs-ethash@3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@nomicfoundation/ethereumjs-ethash/-/ethereumjs-ethash-3.0.1.tgz#65ca494d53e71e8415c9a49ef48bc921c538fc41" + integrity sha512-KDjGIB5igzWOp8Ik5I6QiRH5DH+XgILlplsHR7TEuWANZA759G6krQ6o8bvj+tRUz08YygMQu/sGd9mJ1DYT8w== dependencies: - "@nomicfoundation/ethereumjs-block" "^4.0.0" - "@nomicfoundation/ethereumjs-rlp" "^4.0.0" - "@nomicfoundation/ethereumjs-util" "^8.0.0" + "@nomicfoundation/ethereumjs-block" "5.0.1" + "@nomicfoundation/ethereumjs-rlp" "5.0.1" + "@nomicfoundation/ethereumjs-util" "9.0.1" abstract-level "^1.0.3" bigint-crypto-utils "^3.0.23" ethereum-cryptography "0.1.3" -"@nomicfoundation/ethereumjs-evm@^1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@nomicfoundation/ethereumjs-evm/-/ethereumjs-evm-1.0.0.tgz#99cd173c03b59107c156a69c5e215409098a370b" - integrity sha512-hVS6qRo3V1PLKCO210UfcEQHvlG7GqR8iFzp0yyjTg2TmJQizcChKgWo8KFsdMw6AyoLgLhHGHw4HdlP8a4i+Q== +"@nomicfoundation/ethereumjs-evm@2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@nomicfoundation/ethereumjs-evm/-/ethereumjs-evm-2.0.1.tgz#f35681e203363f69ce2b3d3bf9f44d4e883ca1f1" + integrity sha512-oL8vJcnk0Bx/onl+TgQOQ1t/534GKFaEG17fZmwtPFeH8S5soiBYPCLUrvANOl4sCp9elYxIMzIiTtMtNNN8EQ== dependencies: - "@nomicfoundation/ethereumjs-common" "^3.0.0" - "@nomicfoundation/ethereumjs-util" "^8.0.0" - "@types/async-eventemitter" "^0.2.1" - async-eventemitter "^0.2.4" + "@ethersproject/providers" "^5.7.1" + "@nomicfoundation/ethereumjs-common" "4.0.1" + "@nomicfoundation/ethereumjs-tx" "5.0.1" + "@nomicfoundation/ethereumjs-util" "9.0.1" debug "^4.3.3" ethereum-cryptography "0.1.3" mcl-wasm "^0.7.1" rustbn.js "~0.2.0" -"@nomicfoundation/ethereumjs-rlp@^4.0.0", "@nomicfoundation/ethereumjs-rlp@^4.0.0-beta.2": - version "4.0.0" - resolved "https://registry.yarnpkg.com/@nomicfoundation/ethereumjs-rlp/-/ethereumjs-rlp-4.0.0.tgz#d9a9c5f0f10310c8849b6525101de455a53e771d" - integrity sha512-GaSOGk5QbUk4eBP5qFbpXoZoZUj/NrW7MRa0tKY4Ew4c2HAS0GXArEMAamtFrkazp0BO4K5p2ZCG3b2FmbShmw== +"@nomicfoundation/ethereumjs-rlp@5.0.1": + version "5.0.1" + resolved "https://registry.yarnpkg.com/@nomicfoundation/ethereumjs-rlp/-/ethereumjs-rlp-5.0.1.tgz#0b30c1cf77d125d390408e391c4bb5291ef43c28" + integrity sha512-xtxrMGa8kP4zF5ApBQBtjlSbN5E2HI8m8FYgVSYAnO6ssUoY5pVPGy2H8+xdf/bmMa22Ce8nWMH3aEW8CcqMeQ== -"@nomicfoundation/ethereumjs-statemanager@^1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@nomicfoundation/ethereumjs-statemanager/-/ethereumjs-statemanager-1.0.0.tgz#14a9d4e1c828230368f7ab520c144c34d8721e4b" - integrity sha512-jCtqFjcd2QejtuAMjQzbil/4NHf5aAWxUc+CvS0JclQpl+7M0bxMofR2AJdtz+P3u0ke2euhYREDiE7iSO31vQ== +"@nomicfoundation/ethereumjs-statemanager@2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@nomicfoundation/ethereumjs-statemanager/-/ethereumjs-statemanager-2.0.1.tgz#8824a97938db4471911e2d2f140f79195def5935" + integrity sha512-B5ApMOnlruVOR7gisBaYwFX+L/AP7i/2oAahatssjPIBVDF6wTX1K7Qpa39E/nzsH8iYuL3krkYeUFIdO3EMUQ== dependencies: - "@nomicfoundation/ethereumjs-common" "^3.0.0" - "@nomicfoundation/ethereumjs-rlp" "^4.0.0" - "@nomicfoundation/ethereumjs-trie" "^5.0.0" - "@nomicfoundation/ethereumjs-util" "^8.0.0" + "@nomicfoundation/ethereumjs-common" "4.0.1" + "@nomicfoundation/ethereumjs-rlp" "5.0.1" debug "^4.3.3" ethereum-cryptography "0.1.3" - functional-red-black-tree "^1.0.1" + ethers "^5.7.1" + js-sdsl "^4.1.4" -"@nomicfoundation/ethereumjs-trie@^5.0.0": - version "5.0.0" - resolved "https://registry.yarnpkg.com/@nomicfoundation/ethereumjs-trie/-/ethereumjs-trie-5.0.0.tgz#dcfbe3be53a94bc061c9767a396c16702bc2f5b7" - integrity sha512-LIj5XdE+s+t6WSuq/ttegJzZ1vliwg6wlb+Y9f4RlBpuK35B9K02bO7xU+E6Rgg9RGptkWd6TVLdedTI4eNc2A== +"@nomicfoundation/ethereumjs-trie@6.0.1": + version "6.0.1" + resolved "https://registry.yarnpkg.com/@nomicfoundation/ethereumjs-trie/-/ethereumjs-trie-6.0.1.tgz#662c55f6b50659fd4b22ea9f806a7401cafb7717" + integrity sha512-A64It/IMpDVODzCgxDgAAla8jNjNtsoQZIzZUfIV5AY6Coi4nvn7+VReBn5itlxMiL2yaTlQr9TRWp3CSI6VoA== dependencies: - "@nomicfoundation/ethereumjs-rlp" "^4.0.0" - "@nomicfoundation/ethereumjs-util" "^8.0.0" + "@nomicfoundation/ethereumjs-rlp" "5.0.1" + "@nomicfoundation/ethereumjs-util" "9.0.1" + "@types/readable-stream" "^2.3.13" ethereum-cryptography "0.1.3" readable-stream "^3.6.0" -"@nomicfoundation/ethereumjs-tx@^4.0.0": - version "4.0.0" - resolved "https://registry.yarnpkg.com/@nomicfoundation/ethereumjs-tx/-/ethereumjs-tx-4.0.0.tgz#59dc7452b0862b30342966f7052ab9a1f7802f52" - integrity sha512-Gg3Lir2lNUck43Kp/3x6TfBNwcWC9Z1wYue9Nz3v4xjdcv6oDW9QSMJxqsKw9QEGoBBZ+gqwpW7+F05/rs/g1w== - dependencies: - "@nomicfoundation/ethereumjs-common" "^3.0.0" - "@nomicfoundation/ethereumjs-rlp" "^4.0.0" - "@nomicfoundation/ethereumjs-util" "^8.0.0" +"@nomicfoundation/ethereumjs-tx@5.0.1": + version "5.0.1" + resolved "https://registry.yarnpkg.com/@nomicfoundation/ethereumjs-tx/-/ethereumjs-tx-5.0.1.tgz#7629dc2036b4a33c34e9f0a592b43227ef4f0c7d" + integrity sha512-0HwxUF2u2hrsIM1fsasjXvlbDOq1ZHFV2dd1yGq8CA+MEYhaxZr8OTScpVkkxqMwBcc5y83FyPl0J9MZn3kY0w== + dependencies: + "@chainsafe/ssz" "^0.9.2" + "@ethersproject/providers" "^5.7.2" + "@nomicfoundation/ethereumjs-common" "4.0.1" + "@nomicfoundation/ethereumjs-rlp" "5.0.1" + "@nomicfoundation/ethereumjs-util" "9.0.1" ethereum-cryptography "0.1.3" -"@nomicfoundation/ethereumjs-util@^8.0.0": - version "8.0.0" - resolved "https://registry.yarnpkg.com/@nomicfoundation/ethereumjs-util/-/ethereumjs-util-8.0.0.tgz#deb2b15d2c308a731e82977aefc4e61ca0ece6c5" - integrity sha512-2emi0NJ/HmTG+CGY58fa+DQuAoroFeSH9gKu9O6JnwTtlzJtgfTixuoOqLEgyyzZVvwfIpRueuePb8TonL1y+A== +"@nomicfoundation/ethereumjs-util@9.0.1": + version "9.0.1" + resolved "https://registry.yarnpkg.com/@nomicfoundation/ethereumjs-util/-/ethereumjs-util-9.0.1.tgz#530cda8bae33f8b5020a8f199ed1d0a2ce48ec89" + integrity sha512-TwbhOWQ8QoSCFhV/DDfSmyfFIHjPjFBj957219+V3jTZYZ2rf9PmDtNOeZWAE3p3vlp8xb02XGpd0v6nTUPbsA== dependencies: - "@nomicfoundation/ethereumjs-rlp" "^4.0.0-beta.2" + "@chainsafe/ssz" "^0.10.0" + "@nomicfoundation/ethereumjs-rlp" "5.0.1" ethereum-cryptography "0.1.3" -"@nomicfoundation/ethereumjs-vm@^6.0.0": - version "6.0.0" - resolved "https://registry.yarnpkg.com/@nomicfoundation/ethereumjs-vm/-/ethereumjs-vm-6.0.0.tgz#2bb50d332bf41790b01a3767ffec3987585d1de6" - integrity sha512-JMPxvPQ3fzD063Sg3Tp+UdwUkVxMoo1uML6KSzFhMH3hoQi/LMuXBoEHAoW83/vyNS9BxEe6jm6LmT5xdeEJ6w== - dependencies: - "@nomicfoundation/ethereumjs-block" "^4.0.0" - "@nomicfoundation/ethereumjs-blockchain" "^6.0.0" - "@nomicfoundation/ethereumjs-common" "^3.0.0" - "@nomicfoundation/ethereumjs-evm" "^1.0.0" - "@nomicfoundation/ethereumjs-rlp" "^4.0.0" - "@nomicfoundation/ethereumjs-statemanager" "^1.0.0" - "@nomicfoundation/ethereumjs-trie" "^5.0.0" - "@nomicfoundation/ethereumjs-tx" "^4.0.0" - "@nomicfoundation/ethereumjs-util" "^8.0.0" - "@types/async-eventemitter" "^0.2.1" - async-eventemitter "^0.2.4" +"@nomicfoundation/ethereumjs-vm@7.0.1": + version "7.0.1" + resolved "https://registry.yarnpkg.com/@nomicfoundation/ethereumjs-vm/-/ethereumjs-vm-7.0.1.tgz#7d035e0993bcad10716c8b36e61dfb87fa3ca05f" + integrity sha512-rArhyn0jPsS/D+ApFsz3yVJMQ29+pVzNZ0VJgkzAZ+7FqXSRtThl1C1prhmlVr3YNUlfpZ69Ak+RUT4g7VoOuQ== + dependencies: + "@nomicfoundation/ethereumjs-block" "5.0.1" + "@nomicfoundation/ethereumjs-blockchain" "7.0.1" + "@nomicfoundation/ethereumjs-common" "4.0.1" + "@nomicfoundation/ethereumjs-evm" "2.0.1" + "@nomicfoundation/ethereumjs-rlp" "5.0.1" + "@nomicfoundation/ethereumjs-statemanager" "2.0.1" + "@nomicfoundation/ethereumjs-trie" "6.0.1" + "@nomicfoundation/ethereumjs-tx" "5.0.1" + "@nomicfoundation/ethereumjs-util" "9.0.1" debug "^4.3.3" ethereum-cryptography "0.1.3" - functional-red-black-tree "^1.0.1" mcl-wasm "^0.7.1" rustbn.js "~0.2.0" -"@nomicfoundation/solidity-analyzer-darwin-arm64@0.1.0": - version "0.1.0" - resolved "https://registry.yarnpkg.com/@nomicfoundation/solidity-analyzer-darwin-arm64/-/solidity-analyzer-darwin-arm64-0.1.0.tgz#83a7367342bd053a76d04bbcf4f373fef07cf760" - integrity sha512-vEF3yKuuzfMHsZecHQcnkUrqm8mnTWfJeEVFHpg+cO+le96xQA4lAJYdUan8pXZohQxv1fSReQsn4QGNuBNuCw== +"@nomicfoundation/hardhat-chai-matchers@^1.0.6": + version "1.0.6" + resolved "https://registry.yarnpkg.com/@nomicfoundation/hardhat-chai-matchers/-/hardhat-chai-matchers-1.0.6.tgz#72a2e312e1504ee5dd73fe302932736432ba96bc" + integrity sha512-f5ZMNmabZeZegEfuxn/0kW+mm7+yV7VNDxLpMOMGXWFJ2l/Ct3QShujzDRF9cOkK9Ui/hbDeOWGZqyQALDXVCQ== + dependencies: + "@ethersproject/abi" "^5.1.2" + "@types/chai-as-promised" "^7.1.3" + chai-as-promised "^7.1.1" + deep-eql "^4.0.1" + ordinal "^1.0.3" -"@nomicfoundation/solidity-analyzer-darwin-x64@0.1.0": - version "0.1.0" - resolved "https://registry.yarnpkg.com/@nomicfoundation/solidity-analyzer-darwin-x64/-/solidity-analyzer-darwin-x64-0.1.0.tgz#1225f7da647ae1ad25a87125664704ecc0af6ccc" - integrity sha512-dlHeIg0pTL4dB1l9JDwbi/JG6dHQaU1xpDK+ugYO8eJ1kxx9Dh2isEUtA4d02cQAl22cjOHTvifAk96A+ItEHA== +"@nomicfoundation/solidity-analyzer-darwin-arm64@0.1.1": + version "0.1.1" + resolved "https://registry.yarnpkg.com/@nomicfoundation/solidity-analyzer-darwin-arm64/-/solidity-analyzer-darwin-arm64-0.1.1.tgz#4c858096b1c17fe58a474fe81b46815f93645c15" + integrity sha512-KcTodaQw8ivDZyF+D76FokN/HdpgGpfjc/gFCImdLUyqB6eSWVaZPazMbeAjmfhx3R0zm/NYVzxwAokFKgrc0w== -"@nomicfoundation/solidity-analyzer-freebsd-x64@0.1.0": - version "0.1.0" - resolved "https://registry.yarnpkg.com/@nomicfoundation/solidity-analyzer-freebsd-x64/-/solidity-analyzer-freebsd-x64-0.1.0.tgz#dbc052dcdfd50ae50fd5ae1788b69b4e0fa40040" - integrity sha512-WFCZYMv86WowDA4GiJKnebMQRt3kCcFqHeIomW6NMyqiKqhK1kIZCxSLDYsxqlx396kKLPN1713Q1S8tu68GKg== +"@nomicfoundation/solidity-analyzer-darwin-x64@0.1.1": + version "0.1.1" + resolved "https://registry.yarnpkg.com/@nomicfoundation/solidity-analyzer-darwin-x64/-/solidity-analyzer-darwin-x64-0.1.1.tgz#6e25ccdf6e2d22389c35553b64fe6f3fdaec432c" + integrity sha512-XhQG4BaJE6cIbjAVtzGOGbK3sn1BO9W29uhk9J8y8fZF1DYz0Doj8QDMfpMu+A6TjPDs61lbsmeYodIDnfveSA== -"@nomicfoundation/solidity-analyzer-linux-arm64-gnu@0.1.0": - version "0.1.0" - resolved "https://registry.yarnpkg.com/@nomicfoundation/solidity-analyzer-linux-arm64-gnu/-/solidity-analyzer-linux-arm64-gnu-0.1.0.tgz#e6b2eea633995b557e74e881d2a43eab4760903d" - integrity sha512-DTw6MNQWWlCgc71Pq7CEhEqkb7fZnS7oly13pujs4cMH1sR0JzNk90Mp1zpSCsCs4oKan2ClhMlLKtNat/XRKQ== +"@nomicfoundation/solidity-analyzer-freebsd-x64@0.1.1": + version "0.1.1" + resolved "https://registry.yarnpkg.com/@nomicfoundation/solidity-analyzer-freebsd-x64/-/solidity-analyzer-freebsd-x64-0.1.1.tgz#0a224ea50317139caeebcdedd435c28a039d169c" + integrity sha512-GHF1VKRdHW3G8CndkwdaeLkVBi5A9u2jwtlS7SLhBc8b5U/GcoL39Q+1CSO3hYqePNP+eV5YI7Zgm0ea6kMHoA== -"@nomicfoundation/solidity-analyzer-linux-arm64-musl@0.1.0": - version "0.1.0" - resolved "https://registry.yarnpkg.com/@nomicfoundation/solidity-analyzer-linux-arm64-musl/-/solidity-analyzer-linux-arm64-musl-0.1.0.tgz#af81107f5afa794f19988a368647727806e18dc4" - integrity sha512-wUpUnR/3GV5Da88MhrxXh/lhb9kxh9V3Jya2NpBEhKDIRCDmtXMSqPMXHZmOR9DfCwCvG6vLFPr/+YrPCnUN0w== +"@nomicfoundation/solidity-analyzer-linux-arm64-gnu@0.1.1": + version "0.1.1" + resolved "https://registry.yarnpkg.com/@nomicfoundation/solidity-analyzer-linux-arm64-gnu/-/solidity-analyzer-linux-arm64-gnu-0.1.1.tgz#dfa085d9ffab9efb2e7b383aed3f557f7687ac2b" + integrity sha512-g4Cv2fO37ZsUENQ2vwPnZc2zRenHyAxHcyBjKcjaSmmkKrFr64yvzeNO8S3GBFCo90rfochLs99wFVGT/0owpg== -"@nomicfoundation/solidity-analyzer-linux-x64-gnu@0.1.0": - version "0.1.0" - resolved "https://registry.yarnpkg.com/@nomicfoundation/solidity-analyzer-linux-x64-gnu/-/solidity-analyzer-linux-x64-gnu-0.1.0.tgz#6877e1da1a06a9f08446070ab6e0a5347109f868" - integrity sha512-lR0AxK1x/MeKQ/3Pt923kPvwigmGX3OxeU5qNtQ9pj9iucgk4PzhbS3ruUeSpYhUxG50jN4RkIGwUMoev5lguw== +"@nomicfoundation/solidity-analyzer-linux-arm64-musl@0.1.1": + version "0.1.1" + resolved "https://registry.yarnpkg.com/@nomicfoundation/solidity-analyzer-linux-arm64-musl/-/solidity-analyzer-linux-arm64-musl-0.1.1.tgz#c9e06b5d513dd3ab02a7ac069c160051675889a4" + integrity sha512-WJ3CE5Oek25OGE3WwzK7oaopY8xMw9Lhb0mlYuJl/maZVo+WtP36XoQTb7bW/i8aAdHW5Z+BqrHMux23pvxG3w== -"@nomicfoundation/solidity-analyzer-linux-x64-musl@0.1.0": - version "0.1.0" - resolved "https://registry.yarnpkg.com/@nomicfoundation/solidity-analyzer-linux-x64-musl/-/solidity-analyzer-linux-x64-musl-0.1.0.tgz#bb6cd83a0c259eccef4183796b6329a66cf7ebd9" - integrity sha512-A1he/8gy/JeBD3FKvmI6WUJrGrI5uWJNr5Xb9WdV+DK0F8msuOqpEByLlnTdLkXMwW7nSl3awvLezOs9xBHJEg== +"@nomicfoundation/solidity-analyzer-linux-x64-gnu@0.1.1": + version "0.1.1" + resolved "https://registry.yarnpkg.com/@nomicfoundation/solidity-analyzer-linux-x64-gnu/-/solidity-analyzer-linux-x64-gnu-0.1.1.tgz#8d328d16839e52571f72f2998c81e46bf320f893" + integrity sha512-5WN7leSr5fkUBBjE4f3wKENUy9HQStu7HmWqbtknfXkkil+eNWiBV275IOlpXku7v3uLsXTOKpnnGHJYI2qsdA== -"@nomicfoundation/solidity-analyzer-win32-arm64-msvc@0.1.0": - version "0.1.0" - resolved "https://registry.yarnpkg.com/@nomicfoundation/solidity-analyzer-win32-arm64-msvc/-/solidity-analyzer-win32-arm64-msvc-0.1.0.tgz#9d4bca1cc9a1333fde985675083b0b7d165f6076" - integrity sha512-7x5SXZ9R9H4SluJZZP8XPN+ju7Mx+XeUMWZw7ZAqkdhP5mK19I4vz3x0zIWygmfE8RT7uQ5xMap0/9NPsO+ykw== +"@nomicfoundation/solidity-analyzer-linux-x64-musl@0.1.1": + version "0.1.1" + resolved "https://registry.yarnpkg.com/@nomicfoundation/solidity-analyzer-linux-x64-musl/-/solidity-analyzer-linux-x64-musl-0.1.1.tgz#9b49d0634b5976bb5ed1604a1e1b736f390959bb" + integrity sha512-KdYMkJOq0SYPQMmErv/63CwGwMm5XHenEna9X9aB8mQmhDBrYrlAOSsIPgFCUSL0hjxE3xHP65/EPXR/InD2+w== -"@nomicfoundation/solidity-analyzer-win32-ia32-msvc@0.1.0": - version "0.1.0" - resolved "https://registry.yarnpkg.com/@nomicfoundation/solidity-analyzer-win32-ia32-msvc/-/solidity-analyzer-win32-ia32-msvc-0.1.0.tgz#0db5bfc6aa952bea4098d8d2c8947b4e5c4337ee" - integrity sha512-m7w3xf+hnE774YRXu+2mGV7RiF3QJtUoiYU61FascCkQhX3QMQavh7saH/vzb2jN5D24nT/jwvaHYX/MAM9zUw== +"@nomicfoundation/solidity-analyzer-win32-arm64-msvc@0.1.1": + version "0.1.1" + resolved "https://registry.yarnpkg.com/@nomicfoundation/solidity-analyzer-win32-arm64-msvc/-/solidity-analyzer-win32-arm64-msvc-0.1.1.tgz#e2867af7264ebbcc3131ef837878955dd6a3676f" + integrity sha512-VFZASBfl4qiBYwW5xeY20exWhmv6ww9sWu/krWSesv3q5hA0o1JuzmPHR4LPN6SUZj5vcqci0O6JOL8BPw+APg== -"@nomicfoundation/solidity-analyzer-win32-x64-msvc@0.1.0": - version "0.1.0" - resolved "https://registry.yarnpkg.com/@nomicfoundation/solidity-analyzer-win32-x64-msvc/-/solidity-analyzer-win32-x64-msvc-0.1.0.tgz#2e0f39a2924dcd77db6b419828595e984fabcb33" - integrity sha512-xCuybjY0sLJQnJhupiFAXaek2EqF0AP0eBjgzaalPXSNvCEN6ZYHvUzdA50ENDVeSYFXcUsYf3+FsD3XKaeptA== +"@nomicfoundation/solidity-analyzer-win32-ia32-msvc@0.1.1": + version "0.1.1" + resolved "https://registry.yarnpkg.com/@nomicfoundation/solidity-analyzer-win32-ia32-msvc/-/solidity-analyzer-win32-ia32-msvc-0.1.1.tgz#0685f78608dd516c8cdfb4896ed451317e559585" + integrity sha512-JnFkYuyCSA70j6Si6cS1A9Gh1aHTEb8kOTBApp/c7NRTFGNMH8eaInKlyuuiIbvYFhlXW4LicqyYuWNNq9hkpQ== + +"@nomicfoundation/solidity-analyzer-win32-x64-msvc@0.1.1": + version "0.1.1" + resolved "https://registry.yarnpkg.com/@nomicfoundation/solidity-analyzer-win32-x64-msvc/-/solidity-analyzer-win32-x64-msvc-0.1.1.tgz#c9a44f7108646f083b82e851486e0f6aeb785836" + integrity sha512-HrVJr6+WjIXGnw3Q9u6KQcbZCtk0caVWhCdFADySvRyUxJ8PnzlaP+MhwNE8oyT8OZ6ejHBRrrgjSqDCFXGirw== "@nomicfoundation/solidity-analyzer@^0.1.0": - version "0.1.0" - resolved "https://registry.yarnpkg.com/@nomicfoundation/solidity-analyzer/-/solidity-analyzer-0.1.0.tgz#e5ddc43ad5c0aab96e5054520d8e16212e125f50" - integrity sha512-xGWAiVCGOycvGiP/qrlf9f9eOn7fpNbyJygcB0P21a1MDuVPlKt0Srp7rvtBEutYQ48ouYnRXm33zlRnlTOPHg== + version "0.1.1" + resolved "https://registry.yarnpkg.com/@nomicfoundation/solidity-analyzer/-/solidity-analyzer-0.1.1.tgz#f5f4d36d3f66752f59a57e7208cd856f3ddf6f2d" + integrity sha512-1LMtXj1puAxyFusBgUIy5pZk3073cNXYnXUpuNKFghHbIit/xZgbk0AokpUADbNm3gyD6bFWl3LRFh3dhVdREg== optionalDependencies: - "@nomicfoundation/solidity-analyzer-darwin-arm64" "0.1.0" - "@nomicfoundation/solidity-analyzer-darwin-x64" "0.1.0" - "@nomicfoundation/solidity-analyzer-freebsd-x64" "0.1.0" - "@nomicfoundation/solidity-analyzer-linux-arm64-gnu" "0.1.0" - "@nomicfoundation/solidity-analyzer-linux-arm64-musl" "0.1.0" - "@nomicfoundation/solidity-analyzer-linux-x64-gnu" "0.1.0" - "@nomicfoundation/solidity-analyzer-linux-x64-musl" "0.1.0" - "@nomicfoundation/solidity-analyzer-win32-arm64-msvc" "0.1.0" - "@nomicfoundation/solidity-analyzer-win32-ia32-msvc" "0.1.0" - "@nomicfoundation/solidity-analyzer-win32-x64-msvc" "0.1.0" - -"@nomiclabs/hardhat-ethers@^2.0.2": - version "2.1.1" - resolved "https://registry.yarnpkg.com/@nomiclabs/hardhat-ethers/-/hardhat-ethers-2.1.1.tgz#3f1d1ab49813d1bae4c035cc1adec224711e528b" - integrity sha512-Gg0IFkT/DW3vOpih4/kMjeZCLYqtfgECLeLXTs7ZDPzcK0cfoc5wKk4nq5n/izCUzdhidO/Utd6ptF9JrWwWVA== + "@nomicfoundation/solidity-analyzer-darwin-arm64" "0.1.1" + "@nomicfoundation/solidity-analyzer-darwin-x64" "0.1.1" + "@nomicfoundation/solidity-analyzer-freebsd-x64" "0.1.1" + "@nomicfoundation/solidity-analyzer-linux-arm64-gnu" "0.1.1" + "@nomicfoundation/solidity-analyzer-linux-arm64-musl" "0.1.1" + "@nomicfoundation/solidity-analyzer-linux-x64-gnu" "0.1.1" + "@nomicfoundation/solidity-analyzer-linux-x64-musl" "0.1.1" + "@nomicfoundation/solidity-analyzer-win32-arm64-msvc" "0.1.1" + "@nomicfoundation/solidity-analyzer-win32-ia32-msvc" "0.1.1" + "@nomicfoundation/solidity-analyzer-win32-x64-msvc" "0.1.1" + +"@nomiclabs/hardhat-docker@^2.0.0": + version "2.0.2" + resolved "https://registry.yarnpkg.com/@nomiclabs/hardhat-docker/-/hardhat-docker-2.0.2.tgz#ae964be17951275a55859ff7358e9e7c77448846" + integrity sha512-XgGEpRT3wlA1VslyB57zyAHV+oll8KnV1TjwnxxC1tpAL04/lbdwpdO5KxInVN8irMSepqFpsiSkqlcnvbE7Ng== + dependencies: + dockerode "^2.5.8" + fs-extra "^7.0.1" + node-fetch "^2.6.0" + +"@nomiclabs/hardhat-ethers@^2.2.3": + version "2.2.3" + resolved "https://registry.yarnpkg.com/@nomiclabs/hardhat-ethers/-/hardhat-ethers-2.2.3.tgz#b41053e360c31a32c2640c9a45ee981a7e603fe0" + integrity sha512-YhzPdzb612X591FOe68q+qXVXGG2ANZRvDo0RRUtimev85rCrAlv/TLMEZw5c+kq9AbzocLTVX/h2jVIFPL9Xg== -"@nomiclabs/hardhat-etherscan@^2.1.8": - version "2.1.8" - resolved "https://registry.yarnpkg.com/@nomiclabs/hardhat-etherscan/-/hardhat-etherscan-2.1.8.tgz#e206275e96962cd15e5ba9148b44388bc922d8c2" - integrity sha512-0+rj0SsZotVOcTLyDOxnOc3Gulo8upo0rsw/h+gBPcmtj91YqYJNhdARHoBxOhhE8z+5IUQPx+Dii04lXT14PA== +"@nomiclabs/hardhat-etherscan@^3.1.7": + version "3.1.7" + resolved "https://registry.yarnpkg.com/@nomiclabs/hardhat-etherscan/-/hardhat-etherscan-3.1.7.tgz#72e3d5bd5d0ceb695e097a7f6f5ff6fcbf062b9a" + integrity sha512-tZ3TvSgpvsQ6B6OGmo1/Au6u8BrAkvs1mIC/eURA3xgIfznUZBhmpne8hv7BXUzw9xNL3fXdpOYgOQlVMTcoHQ== dependencies: "@ethersproject/abi" "^5.1.2" "@ethersproject/address" "^5.0.2" - cbor "^5.0.2" + cbor "^8.1.0" + chalk "^2.4.2" debug "^4.1.1" fs-extra "^7.0.1" - node-fetch "^2.6.0" + lodash "^4.17.11" semver "^6.3.0" + table "^6.8.0" + undici "^5.14.0" "@nomiclabs/hardhat-waffle@^2.0.1": version "2.0.3" @@ -746,21 +901,21 @@ resolved "https://registry.yarnpkg.com/@scure/base/-/base-1.1.1.tgz#ebb651ee52ff84f420097055f4bf46cfba403938" integrity sha512-ZxOhsSyxYwLJj3pLZCefNitxsj093tb2vq90mp2txoYeBqbcjDjqFhyM8eUjq/uFm6zJ+mUuqxlS2FkuSY1MTA== -"@scure/bip32@1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@scure/bip32/-/bip32-1.1.0.tgz#dea45875e7fbc720c2b4560325f1cf5d2246d95b" - integrity sha512-ftTW3kKX54YXLCxH6BB7oEEoJfoE2pIgw7MINKAs5PsS6nqKPuKk1haTF/EuHmYqG330t5GSrdmtRuHaY1a62Q== +"@scure/bip32@1.1.5": + version "1.1.5" + resolved "https://registry.yarnpkg.com/@scure/bip32/-/bip32-1.1.5.tgz#d2ccae16dcc2e75bc1d75f5ef3c66a338d1ba300" + integrity sha512-XyNh1rB0SkEqd3tXcXMi+Xe1fvg+kUIcoRIEujP1Jgv7DqW2r9lg3Ah0NkFaCs9sTkQAQA8kw7xiRXzENi9Rtw== dependencies: - "@noble/hashes" "~1.1.1" - "@noble/secp256k1" "~1.6.0" + "@noble/hashes" "~1.2.0" + "@noble/secp256k1" "~1.7.0" "@scure/base" "~1.1.0" -"@scure/bip39@1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@scure/bip39/-/bip39-1.1.0.tgz#92f11d095bae025f166bef3defcc5bf4945d419a" - integrity sha512-pwrPOS16VeTKg98dYXQyIjJEcWfz7/1YJIwxUEPFfQPtc86Ym/1sVgQ2RLoD43AazMk2l/unK4ITySSpW2+82w== +"@scure/bip39@1.1.1": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@scure/bip39/-/bip39-1.1.1.tgz#b54557b2e86214319405db819c4b6a370cf340c5" + integrity sha512-t+wDck2rVkh65Hmv280fYdVdY25J9YeEUIgn2LG1WM6gxFkGzcksoDiUkWVpVp3Oex9xGC68JU2dSbUfwZ2jPg== dependencies: - "@noble/hashes" "~1.1.1" + "@noble/hashes" "~1.2.0" "@scure/base" "~1.1.0" "@sentry/core@5.30.0": @@ -857,12 +1012,7 @@ dependencies: ethers "^5.0.2" -"@types/async-eventemitter@^0.2.1": - version "0.2.1" - resolved "https://registry.yarnpkg.com/@types/async-eventemitter/-/async-eventemitter-0.2.1.tgz#f8e6280e87e8c60b2b938624b0a3530fb3e24712" - integrity sha512-M2P4Ng26QbAeITiH7w1d7OxtldgfAe0wobpyJzVK/XOb0cUGKU2R4pfAhqcJBXAe2ife5ZOhSv4wk7p+ffURtg== - -"@types/bn.js@*", "@types/bn.js@^5.1.0": +"@types/bn.js@*": version "5.1.0" resolved "https://registry.yarnpkg.com/@types/bn.js/-/bn.js-5.1.0.tgz#32c5d271503a12653c62cf4d2b45e6eab8cebc68" integrity sha512-QSSVYj7pYFN49kW77o2s9xTCwZ8F2xLbjLLSEVh8D2F4JUhZtPAGOFLTD+ffqksBx/u4cE/KImFjyhqCjn/LIA== @@ -876,6 +1026,20 @@ dependencies: "@types/node" "*" +"@types/bn.js@^5.1.0": + version "5.1.1" + resolved "https://registry.yarnpkg.com/@types/bn.js/-/bn.js-5.1.1.tgz#b51e1b55920a4ca26e9285ff79936bbdec910682" + integrity sha512-qNrYbZqMx0uJAfKnKclPh+dTwK33KfLHYqtyODwd5HnXOjnkhc4qgn3BrK6RWyGZm5+sIFE7Q7Vz6QQtJB7w7g== + dependencies: + "@types/node" "*" + +"@types/chai-as-promised@^7.1.3": + version "7.1.5" + resolved "https://registry.yarnpkg.com/@types/chai-as-promised/-/chai-as-promised-7.1.5.tgz#6e016811f6c7a64f2eed823191c3a6955094e255" + integrity sha512-jStwss93SITGBwt/niYrkf2C+/1KTeZCZl1LaeezTlqppAKeoQC7jxyqYuP72sxBGKCIbw7oHgbYssIRzT5FCQ== + dependencies: + "@types/chai" "*" + "@types/chai@*": version "4.3.3" resolved "https://registry.yarnpkg.com/@types/chai/-/chai-4.3.3.tgz#3c90752792660c4b562ad73b3fbd68bf3bc7ae07" @@ -916,9 +1080,9 @@ form-data "^3.0.0" "@types/node@*": - version "18.7.13" - resolved "https://registry.yarnpkg.com/@types/node/-/node-18.7.13.tgz#23e6c5168333480d454243378b69e861ab5c011a" - integrity sha512-46yIhxSe5xEaJZXWdIBP7GU4HDTG8/eo0qd9atdiL+lFpA03y8KS+lkTN834TWJj5767GbWv4n/P6efyTFt1Dw== + version "18.15.12" + resolved "https://registry.yarnpkg.com/@types/node/-/node-18.15.12.tgz#833756634e78c829e1254db006468dadbb0c696b" + integrity sha512-Wha1UwsB3CYdqUm2PPzh/1gujGCNtWVUYF0mB00fJFoR4gTyWTDPjSm+zBF787Ahw8vSGgBja90MkgFwvB86Dg== "@types/node@^10.0.3": version "10.17.60" @@ -947,11 +1111,19 @@ resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.7.0.tgz#ea03e9f0376a4446f44797ca19d9c46c36e352dc" integrity sha512-RI1L7N4JnW5gQw2spvL7Sllfuf1SaHdrZpCHiBlCXjIlufi1SMNnbu2teze3/QE67Fg2tBlH7W+mi4hVNk4p0A== -"@types/qs@^6.2.31", "@types/qs@^6.9.4": +"@types/qs@^6.2.31", "@types/qs@^6.9.7": version "6.9.7" resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.7.tgz#63bb7d067db107cc1e457c303bc25d511febf6cb" integrity sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw== +"@types/readable-stream@^2.3.13": + version "2.3.15" + resolved "https://registry.yarnpkg.com/@types/readable-stream/-/readable-stream-2.3.15.tgz#3d79c9ceb1b6a57d5f6e6976f489b9b5384321ae" + integrity sha512-oM5JSKQCcICF1wvGgmecmHldZ48OZamtMxcGGVICOJA8o8cahXC1zEVAif8iwoc5j8etxFaRFnf095+CDsuoFQ== + dependencies: + "@types/node" "*" + safe-buffer "~5.1.1" + "@types/resolve@^0.0.8": version "0.0.8" resolved "https://registry.yarnpkg.com/@types/resolve/-/resolve-0.0.8.tgz#f26074d238e02659e323ce1a13d041eee280e194" @@ -999,16 +1171,19 @@ "@types/bn.js" "*" "@types/underscore" "*" -"@ungap/promise-all-settled@1.1.2": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz#aa58042711d6e3275dd37dc597e5d31e8c290a44" - integrity sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q== - "@yarnpkg/lockfile@^1.1.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz#e77a97fbd345b76d83245edcd17d393b1b41fb31" integrity sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ== +JSONStream@1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.2.tgz#c102371b6ec3a7cf3b847ca00c20bb0fce4c6dea" + integrity sha512-mn0KSip7N4e0UDPZHnqDsHECo5uGQrixQKnAskOM1BIB8hd7QKbd6il8IPRPudPHOeHiECoCFqhyMaRO9+nWyA== + dependencies: + jsonparse "^1.2.0" + through ">=2.2.7 <3" + abort-controller@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/abort-controller/-/abort-controller-3.0.0.tgz#eaf54d53b62bae4138e809ca225c8439a6efb392" @@ -1115,6 +1290,16 @@ ajv@^6.10.2, ajv@^6.12.3, ajv@^6.6.1, ajv@^6.9.1: json-schema-traverse "^0.4.1" uri-js "^4.2.2" +ajv@^8.0.1: + version "8.12.0" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.12.0.tgz#d1a0527323e22f53562c567c00991577dfbe19d1" + integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA== + dependencies: + fast-deep-equal "^3.1.1" + json-schema-traverse "^1.0.0" + require-from-string "^2.0.2" + uri-js "^4.2.2" + ansi-colors@3.2.3: version "3.2.3" resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-3.2.3.tgz#57d35b8686e851e2cc04c403f1c00203976a1813" @@ -1191,7 +1376,7 @@ antlr4ts@^0.5.0-alpha.4: resolved "https://registry.yarnpkg.com/antlr4ts/-/antlr4ts-0.5.0-alpha.4.tgz#71702865a87478ed0b40c0709f422cf14d51652a" integrity sha512-WPQDt1B74OfPv/IMS2ekXAKkTZIHl88uMetg6q3OTqgFxZ/dxDXI0EWLyZid/1Pe6hTftyg5N7gel5wNAGxXyQ== -anymatch@~3.1.1, anymatch@~3.1.2: +anymatch@~3.1.1: version "3.1.2" resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== @@ -1199,6 +1384,14 @@ anymatch@~3.1.1, anymatch@~3.1.2: normalize-path "^3.0.0" picomatch "^2.0.4" +anymatch@~3.1.2: + version "3.1.3" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" + integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + argparse@^1.0.7: version "1.0.10" resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" @@ -1281,7 +1474,7 @@ asn1.js@^5.2.0: minimalistic-assert "^1.0.0" safer-buffer "^2.1.0" -asn1@~0.2.3: +asn1@^0.2.4, asn1@~0.2.3: version "0.2.6" resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.6.tgz#0d3a7bb6e64e02a90c0303b31f292868ea09a08d" integrity sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ== @@ -1313,7 +1506,12 @@ astral-regex@^1.0.0: resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9" integrity sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg== -async-eventemitter@^0.2.2, async-eventemitter@^0.2.4: +astral-regex@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" + integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== + +async-eventemitter@^0.2.2: version "0.2.4" resolved "https://registry.yarnpkg.com/async-eventemitter/-/async-eventemitter-0.2.4.tgz#f5e7c8ca7d3e46aab9ec40a292baf686a0bafaca" integrity sha512-pd20BwL7Yt1zwDFy+8MX8F1+WCT8aQeKj0kQnTrH9WaeRETlRamVhD0JtRPmrV4GfOJ2F9CvdQkZeZhnh2TuHw== @@ -1349,11 +1547,6 @@ asynckit@^0.4.0: resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== -at-least-node@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" - integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== - atob@^2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" @@ -1376,6 +1569,15 @@ axios@^0.21.1: dependencies: follow-redirects "^1.14.0" +axios@^1.3.4: + version "1.3.6" + resolved "https://registry.yarnpkg.com/axios/-/axios-1.3.6.tgz#1ace9a9fb994314b5f6327960918406fa92c6646" + integrity sha512-PEcdkk7JcdPiMDkvM4K6ZBRYq9keuVJsToxm2zQIM70Qqo2WHTdJZMXcG9X+RmRp2VPNUQC8W1RAGbgt6b1yMg== + dependencies: + follow-redirects "^1.15.0" + form-data "^4.0.0" + proxy-from-env "^1.1.0" + babel-code-frame@^6.26.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b" @@ -1932,7 +2134,7 @@ base@^0.11.1: mixin-deep "^1.2.0" pascalcase "^0.1.1" -bcrypt-pbkdf@^1.0.0: +bcrypt-pbkdf@^1.0.0, bcrypt-pbkdf@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" integrity sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w== @@ -1945,18 +2147,11 @@ bech32@1.1.4: integrity sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ== bigint-crypto-utils@^3.0.23: - version "3.1.8" - resolved "https://registry.yarnpkg.com/bigint-crypto-utils/-/bigint-crypto-utils-3.1.8.tgz#e2e0f40cf45488f9d7f0e32ff84152aa73819d5d" - integrity sha512-+VMV9Laq8pXLBKKKK49nOoq9bfR3j7NNQAtbA617a4nw9bVLo8rsqkKMBgM2AJWlNX9fEIyYaYX+d0laqYV4tw== - dependencies: - bigint-mod-arith "^3.1.0" - -bigint-mod-arith@^3.1.0: - version "3.1.2" - resolved "https://registry.yarnpkg.com/bigint-mod-arith/-/bigint-mod-arith-3.1.2.tgz#658e416bc593a463d97b59766226d0a3021a76b1" - integrity sha512-nx8J8bBeiRR+NlsROFH9jHswW5HO8mgfOSqW0AmjicMMvaONDa8AO+5ViKDUUNytBPWiwfvZP4/Bj4Y3lUfvgQ== + version "3.2.2" + resolved "https://registry.yarnpkg.com/bigint-crypto-utils/-/bigint-crypto-utils-3.2.2.tgz#e30a49ec38357c6981cd3da5aaa6480b1f752ee4" + integrity sha512-U1RbE3aX9ayCUVcIPHuPDPKcK3SFOXf93J1UK/iHlJuQB7bhagPIX06/CLpLEsDThJ7KA4Dhrnzynl+d2weTiw== -bignumber.js@^9.0.0, bignumber.js@^9.0.1: +bignumber.js@^9.0.0: version "9.1.0" resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-9.1.0.tgz#8d340146107fe3a6cb8d40699643c302e8773b62" integrity sha512-4LwHK4nfDOraBCtst+wOWIHbu1vhvAPJK8g8nROd4iuc3PSEjWif/qwbkh8jwCJz6yDBvtU4KPynETgrfh7y3A== @@ -1977,6 +2172,23 @@ bip39@2.5.0: safe-buffer "^5.0.1" unorm "^1.3.3" +bl@^1.0.0: + version "1.2.3" + resolved "https://registry.yarnpkg.com/bl/-/bl-1.2.3.tgz#1e8dd80142eac80d7158c9dccc047fb620e035e7" + integrity sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww== + dependencies: + readable-stream "^2.3.5" + safe-buffer "^5.1.1" + +bl@^4.0.3: + version "4.1.0" + resolved "https://registry.yarnpkg.com/bl/-/bl-4.1.0.tgz#451535264182bec2fbbc83a62ab98cf11d9f7b3a" + integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w== + dependencies: + buffer "^5.5.0" + inherits "^2.0.4" + readable-stream "^3.4.0" + blakejs@^1.1.0: version "1.2.1" resolved "https://registry.yarnpkg.com/blakejs/-/blakejs-1.2.1.tgz#5057e4206eadb4a97f7c0b6e197a505042fc3814" @@ -2156,6 +2368,24 @@ bs58check@^2.1.2: create-hash "^1.1.0" safe-buffer "^5.1.2" +buffer-alloc-unsafe@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz#bd7dc26ae2972d0eda253be061dba992349c19f0" + integrity sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg== + +buffer-alloc@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/buffer-alloc/-/buffer-alloc-1.2.0.tgz#890dd90d923a873e08e10e5fd51a57e5b7cce0ec" + integrity sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow== + dependencies: + buffer-alloc-unsafe "^1.1.0" + buffer-fill "^1.0.0" + +buffer-fill@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/buffer-fill/-/buffer-fill-1.0.0.tgz#f8f78b76789888ef39f205cd637f68e702122b2c" + integrity sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ== + buffer-from@^1.0.0: version "1.1.2" resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" @@ -2201,6 +2431,11 @@ bufferutil@^4.0.1: dependencies: node-gyp-build "^4.3.0" +buildcheck@0.0.5: + version "0.0.5" + resolved "https://registry.yarnpkg.com/buildcheck/-/buildcheck-0.0.5.tgz#5b7c0830b25dc61422032eeb5c18bfcaa9eebb8d" + integrity sha512-jYWpRy8eedl/JZqkOeq0X0bNcaK04hXKhIi4gYsDKZUJWRjJJWViYfsMXO0BJQ40zSLcdLoa+iqe48Kz2PtQag== + busboy@^1.6.0: version "1.6.0" resolved "https://registry.yarnpkg.com/busboy/-/busboy-1.6.0.tgz#966ea36a9502e43cdb9146962523b92f531f6893" @@ -2316,6 +2551,11 @@ caniuse-lite@^1.0.30000844: resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001384.tgz#029527c2d781a3cfef13fa63b3a78a6088e35973" integrity sha512-BBWt57kqWbc0GYZXb47wTXpmAgqr5LSibPzNjk/AWMdmJMQhLqOl3c/Kd4OAU/tu4NLfYkMx8Tlq3RVBkOBolQ== +case@^1.6.3: + version "1.6.3" + resolved "https://registry.yarnpkg.com/case/-/case-1.6.3.tgz#0a4386e3e9825351ca2e6216c60467ff5f1ea1c9" + integrity sha512-mzDSXIPaFwVDvZAHqZ9VlbyF4yyXRuX6IvB06WvPYkqJVO24kX1PPhv9bfpKNFZyxYFmmgo03HUiD8iklmJYRQ== + caseless@^0.12.0, caseless@~0.12.0: version "0.12.0" resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" @@ -2326,13 +2566,19 @@ catering@^2.1.0, catering@^2.1.1: resolved "https://registry.yarnpkg.com/catering/-/catering-2.1.1.tgz#66acba06ed5ee28d5286133982a927de9a04b510" integrity sha512-K7Qy8O9p76sL3/3m7/zLKbRkyOlSZAgzEaLhyj2mXS8PsCud2Eo4hAb8aLtZqHh0QGqLcb9dlJSu6lHRVENm1w== -cbor@^5.0.2: - version "5.2.0" - resolved "https://registry.yarnpkg.com/cbor/-/cbor-5.2.0.tgz#4cca67783ccd6de7b50ab4ed62636712f287a67c" - integrity sha512-5IMhi9e1QU76ppa5/ajP1BmMWZ2FHkhAhjeVKQ/EFCgYSEaeVaoGtL7cxJskf9oCCk+XjzaIdc3IuU/dbA/o2A== +cbor@^8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/cbor/-/cbor-8.1.0.tgz#cfc56437e770b73417a2ecbfc9caf6b771af60d5" + integrity sha512-DwGjNW9omn6EwP70aXsn7FQJx5kO12tX0bZkaTjzdVFM6/7nhA4t0EENocKGx6D2Bch9PE2KzCUf5SceBdeijg== dependencies: - bignumber.js "^9.0.1" - nofilter "^1.0.4" + nofilter "^3.1.0" + +chai-as-promised@^7.1.1: + version "7.1.1" + resolved "https://registry.yarnpkg.com/chai-as-promised/-/chai-as-promised-7.1.1.tgz#08645d825deb8696ee61725dbf590c012eb00ca0" + integrity sha512-azL6xMoi+uxu6z4rhWQ1jbdUhOMhis2PvscD/xjLqNMkv3BPPp2JyyuTHOrf9BOosGpNQ11v6BKv/g57RXbiaA== + dependencies: + check-error "^1.0.2" chai@^4.3.4: version "4.3.6" @@ -2347,6 +2593,14 @@ chai@^4.3.4: pathval "^1.1.1" type-detect "^4.0.5" +chalk@4.1.2, chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + chalk@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" @@ -2367,14 +2621,6 @@ chalk@^2.0.0, chalk@^2.1.0, chalk@^2.4.1, chalk@^2.4.2: escape-string-regexp "^1.0.5" supports-color "^5.3.0" -chalk@^4.0.0, chalk@^4.1.0: - version "4.1.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" - integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - chardet@^0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" @@ -2412,7 +2658,7 @@ chokidar@3.3.0: optionalDependencies: fsevents "~2.1.1" -chokidar@3.5.3, chokidar@^3.4.0: +chokidar@3.5.3, chokidar@^3.4.0, chokidar@^3.5.2: version "3.5.3" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== @@ -2427,7 +2673,7 @@ chokidar@3.5.3, chokidar@^3.4.0: optionalDependencies: fsevents "~2.3.2" -chownr@^1.1.4: +chownr@^1.0.1, chownr@^1.1.1, chownr@^1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== @@ -2472,14 +2718,14 @@ class-utils@^0.3.5: static-extend "^0.1.1" classic-level@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/classic-level/-/classic-level-1.2.0.tgz#2d52bdec8e7a27f534e67fdeb890abef3e643c27" - integrity sha512-qw5B31ANxSluWz9xBzklRWTUAJ1SXIdaVKTVS7HcTGKOAmExx65Wo5BUICW+YGORe2FOUaDghoI9ZDxj82QcFg== + version "1.3.0" + resolved "https://registry.yarnpkg.com/classic-level/-/classic-level-1.3.0.tgz#5e36680e01dc6b271775c093f2150844c5edd5c8" + integrity sha512-iwFAJQYtqRTRM0F6L8h4JCt00ZSGdOyqh7yVrhhjrOpFhmBjNlRUey64MCiyo6UmQHMJ+No3c81nujPv+n9yrg== dependencies: abstract-level "^1.0.2" catering "^2.1.0" module-error "^1.0.1" - napi-macros "~2.0.0" + napi-macros "^2.2.2" node-gyp-build "^4.3.0" clean-stack@^2.0.0: @@ -2640,7 +2886,7 @@ concat-map@0.0.1: resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== -concat-stream@^1.5.1, concat-stream@^1.6.0, concat-stream@^1.6.2: +concat-stream@^1.5.1, concat-stream@^1.6.0, concat-stream@^1.6.2, concat-stream@~1.6.2: version "1.6.2" resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw== @@ -2741,6 +2987,14 @@ cosmiconfig@^5.0.7: js-yaml "^3.13.1" parse-json "^4.0.0" +cpu-features@~0.0.4: + version "0.0.6" + resolved "https://registry.yarnpkg.com/cpu-features/-/cpu-features-0.0.6.tgz#607e82a4d563343f64b7dd90a33f2b1d821214b5" + integrity sha512-Rj33pk//oVNh25YjsBaKtOkXNW7IARYxejWJosJkXqVPpbK+FrdpThPk6f4m3d+CEh2qMlkGx/SFt2Y1XSWN6g== + dependencies: + buildcheck "0.0.5" + nan "^2.17.0" + crc-32@^1.2.0: version "1.2.2" resolved "https://registry.yarnpkg.com/crc-32/-/crc-32-1.2.2.tgz#3cad35a934b8bf71f25ca524b6da51fb7eace2ff" @@ -2847,14 +3101,14 @@ debug@3.2.6: dependencies: ms "^2.1.1" -debug@4, debug@4.3.4, debug@^4.0.1, debug@^4.1.1, debug@^4.3.3: +debug@4, debug@4.3.4, debug@^4.0.1, debug@^4.1.1, debug@^4.3.2, debug@^4.3.3: version "4.3.4" resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== dependencies: ms "2.1.2" -debug@^3.1.0: +debug@^3.1.0, debug@^3.2.6: version "3.2.7" resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== @@ -2890,6 +3144,13 @@ deep-eql@^3.0.1: dependencies: type-detect "^4.0.0" +deep-eql@^4.0.1: + version "4.1.3" + resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-4.1.3.tgz#7c7775513092f7df98d8df9996dd085eb668cc6d" + integrity sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw== + dependencies: + type-detect "^4.0.0" + deep-equal@~1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.1.1.tgz#b5c98c942ceffaf7cb051e24e1434a25a2e6076a" @@ -3021,6 +3282,44 @@ diffie-hellman@^5.0.0: miller-rabin "^4.0.0" randombytes "^2.0.0" +docker-modem@^1.0.8: + version "1.0.9" + resolved "https://registry.yarnpkg.com/docker-modem/-/docker-modem-1.0.9.tgz#a1f13e50e6afb6cf3431b2d5e7aac589db6aaba8" + integrity sha512-lVjqCSCIAUDZPAZIeyM125HXfNvOmYYInciphNrLrylUtKyW66meAjSPXWchKVzoIYZx69TPnAepVSSkeawoIw== + dependencies: + JSONStream "1.3.2" + debug "^3.2.6" + readable-stream "~1.0.26-4" + split-ca "^1.0.0" + +docker-modem@^3.0.0: + version "3.0.8" + resolved "https://registry.yarnpkg.com/docker-modem/-/docker-modem-3.0.8.tgz#ef62c8bdff6e8a7d12f0160988c295ea8705e77a" + integrity sha512-f0ReSURdM3pcKPNS30mxOHSbaFLcknGmQjwSfmbcdOw1XWKXVhukM3NJHhr7NpY9BIyyWQb0EBo3KQvvuU5egQ== + dependencies: + debug "^4.1.1" + readable-stream "^3.5.0" + split-ca "^1.0.1" + ssh2 "^1.11.0" + +dockerode@^2.5.8: + version "2.5.8" + resolved "https://registry.yarnpkg.com/dockerode/-/dockerode-2.5.8.tgz#1b661e36e1e4f860e25f56e0deabe9f87f1d0acc" + integrity sha512-+7iOUYBeDTScmOmQqpUYQaE7F4vvIt6+gIZNHWhqAQEI887tiPFB9OvXI/HzQYqfUNvukMK+9myLW63oTJPZpw== + dependencies: + concat-stream "~1.6.2" + docker-modem "^1.0.8" + tar-fs "~1.16.3" + +dockerode@^3.3.4: + version "3.3.5" + resolved "https://registry.yarnpkg.com/dockerode/-/dockerode-3.3.5.tgz#7ae3f40f2bec53ae5e9a741ce655fff459745629" + integrity sha512-/0YNa3ZDNeLr/tSckmD69+Gq+qVNhvKfAHNeZJBnp7EOP6RGKV8ORrJHkUn20So5wU+xxT7+1n5u8PjHbfjbSA== + dependencies: + "@balena/dockerignore" "^1.0.2" + docker-modem "^3.0.0" + tar-fs "~2.0.1" + doctrine@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" @@ -3124,14 +3423,14 @@ encoding@^0.1.11: dependencies: iconv-lite "^0.6.2" -end-of-stream@^1.1.0: +end-of-stream@^1.0.0, end-of-stream@^1.1.0, end-of-stream@^1.4.1: version "1.4.4" resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== dependencies: once "^1.4.0" -enquirer@^2.3.0: +enquirer@^2.3.0, enquirer@^2.3.6: version "2.3.6" resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d" integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg== @@ -3541,14 +3840,14 @@ ethereum-cryptography@0.1.3, ethereum-cryptography@^0.1.3: setimmediate "^1.0.5" ethereum-cryptography@^1.0.3: - version "1.1.2" - resolved "https://registry.yarnpkg.com/ethereum-cryptography/-/ethereum-cryptography-1.1.2.tgz#74f2ac0f0f5fe79f012c889b3b8446a9a6264e6d" - integrity sha512-XDSJlg4BD+hq9N2FjvotwUET9Tfxpxc3kWGE2AqUG5vcbeunnbImVk3cj6e/xT3phdW21mE8R5IugU4fspQDcQ== + version "1.2.0" + resolved "https://registry.yarnpkg.com/ethereum-cryptography/-/ethereum-cryptography-1.2.0.tgz#5ccfa183e85fdaf9f9b299a79430c044268c9b3a" + integrity sha512-6yFQC9b5ug6/17CQpCyE3k9eKBMdhyVjzUy1WkiuY/E4vj/SXDBbCw8QEIaXqf0Mf2SnY6RmpDcwlUmBSS0EJw== dependencies: - "@noble/hashes" "1.1.2" - "@noble/secp256k1" "1.6.3" - "@scure/bip32" "1.1.0" - "@scure/bip39" "1.1.0" + "@noble/hashes" "1.2.0" + "@noble/secp256k1" "1.7.1" + "@scure/bip32" "1.1.5" + "@scure/bip39" "1.1.1" ethereum-waffle@^3.3.0: version "3.4.4" @@ -3782,7 +4081,7 @@ ethers@^4.0.40: uuid "2.0.1" xmlhttprequest "1.8.0" -ethers@^5.0.1, ethers@^5.0.2, ethers@^5.0.24, ethers@^5.1.3, ethers@^5.5.2: +ethers@^5.0.1, ethers@^5.0.2, ethers@^5.5.2: version "5.7.0" resolved "https://registry.yarnpkg.com/ethers/-/ethers-5.7.0.tgz#0055da174b9e076b242b8282638bc94e04b39835" integrity sha512-5Xhzp2ZQRi0Em+0OkOcRHxPzCfoBfgtOQA+RUylSkuHbhTEaQklnYi2hsWbRgs3ztJsXVXd9VKBcO1ScWL8YfA== @@ -3818,6 +4117,42 @@ ethers@^5.0.1, ethers@^5.0.2, ethers@^5.0.24, ethers@^5.1.3, ethers@^5.5.2: "@ethersproject/web" "5.7.0" "@ethersproject/wordlists" "5.7.0" +ethers@^5.5.3, ethers@^5.6.1, ethers@^5.7.1, ethers@~5.7.2: + version "5.7.2" + resolved "https://registry.yarnpkg.com/ethers/-/ethers-5.7.2.tgz#3a7deeabbb8c030d4126b24f84e525466145872e" + integrity sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg== + dependencies: + "@ethersproject/abi" "5.7.0" + "@ethersproject/abstract-provider" "5.7.0" + "@ethersproject/abstract-signer" "5.7.0" + "@ethersproject/address" "5.7.0" + "@ethersproject/base64" "5.7.0" + "@ethersproject/basex" "5.7.0" + "@ethersproject/bignumber" "5.7.0" + "@ethersproject/bytes" "5.7.0" + "@ethersproject/constants" "5.7.0" + "@ethersproject/contracts" "5.7.0" + "@ethersproject/hash" "5.7.0" + "@ethersproject/hdnode" "5.7.0" + "@ethersproject/json-wallets" "5.7.0" + "@ethersproject/keccak256" "5.7.0" + "@ethersproject/logger" "5.7.0" + "@ethersproject/networks" "5.7.1" + "@ethersproject/pbkdf2" "5.7.0" + "@ethersproject/properties" "5.7.0" + "@ethersproject/providers" "5.7.2" + "@ethersproject/random" "5.7.0" + "@ethersproject/rlp" "5.7.0" + "@ethersproject/sha2" "5.7.0" + "@ethersproject/signing-key" "5.7.0" + "@ethersproject/solidity" "5.7.0" + "@ethersproject/strings" "5.7.0" + "@ethersproject/transactions" "5.7.0" + "@ethersproject/units" "5.7.0" + "@ethersproject/wallet" "5.7.0" + "@ethersproject/web" "5.7.1" + "@ethersproject/wordlists" "5.7.0" + ethjs-unit@0.1.6: version "0.1.6" resolved "https://registry.yarnpkg.com/ethjs-unit/-/ethjs-unit-0.1.6.tgz#c665921e476e87bce2a9d588a6fe0405b2c41699" @@ -4136,10 +4471,10 @@ fmix@^0.1.0: dependencies: imul "^1.0.0" -follow-redirects@^1.12.1, follow-redirects@^1.14.0: - version "1.15.1" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.1.tgz#0ca6a452306c9b276e4d3127483e29575e207ad5" - integrity sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA== +follow-redirects@^1.12.1, follow-redirects@^1.14.0, follow-redirects@^1.15.0: + version "1.15.2" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.2.tgz#b460864144ba63f2681096f274c4e57026da2c13" + integrity sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA== for-each@^0.3.3, for-each@~0.3.3: version "0.3.3" @@ -4176,6 +4511,15 @@ form-data@^3.0.0: combined-stream "^1.0.8" mime-types "^2.1.12" +form-data@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452" + integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.8" + mime-types "^2.1.12" + form-data@~2.3.2: version "2.3.3" resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" @@ -4212,6 +4556,11 @@ fresh@0.5.2: resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" integrity sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q== +fs-constants@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad" + integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== + fs-extra@^0.30.0: version "0.30.0" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-0.30.0.tgz#f233ffcc08d4da7d432daa449776989db1df93f0" @@ -4223,6 +4572,15 @@ fs-extra@^0.30.0: path-is-absolute "^1.0.0" rimraf "^2.2.8" +fs-extra@^10.0.0: + version "10.1.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.1.0.tgz#02873cfbc4084dde127eaa5f9905eef2325d1abf" + integrity sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ== + dependencies: + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^2.0.0" + fs-extra@^4.0.2, fs-extra@^4.0.3: version "4.0.3" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-4.0.3.tgz#0d852122e5bc5beb453fb028e9c0c9bf36340c94" @@ -4241,16 +4599,6 @@ fs-extra@^7.0.0, fs-extra@^7.0.1: jsonfile "^4.0.0" universalify "^0.1.0" -fs-extra@^9.0.0: - version "9.1.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d" - integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== - dependencies: - at-least-node "^1.0.0" - graceful-fs "^4.2.0" - jsonfile "^6.0.1" - universalify "^2.0.0" - fs-minipass@^1.2.7: version "1.2.7" resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.7.tgz#ccff8570841e7fe4265693da88936c55aed7f7c7" @@ -4355,7 +4703,16 @@ get-func-name@^2.0.0: resolved "https://registry.yarnpkg.com/get-func-name/-/get-func-name-2.0.0.tgz#ead774abee72e20409433a066366023dd6887a41" integrity sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig== -get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1: +get-intrinsic@^1.0.2: + version "1.2.0" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.0.tgz#7ad1dc0535f3a2904bba075772763e5051f6d05f" + integrity sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q== + dependencies: + function-bind "^1.1.1" + has "^1.0.3" + has-symbols "^1.0.3" + +get-intrinsic@^1.1.0, get-intrinsic@^1.1.1: version "1.1.2" resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.2.tgz#336975123e05ad0b7ba41f152ee4aadbea6cf598" integrity sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA== @@ -4506,11 +4863,16 @@ got@^7.1.0: url-parse-lax "^1.0.0" url-to-options "^1.0.1" -graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.1.9, graceful-fs@^4.2.0: +graceful-fs@^4.1.11: version "4.2.10" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c" integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== +graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.1.9, graceful-fs@^4.2.0: + version "4.2.11" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" + integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== + growl@1.10.5: version "1.10.5" resolved "https://registry.yarnpkg.com/growl/-/growl-1.10.5.tgz#f2735dc2283674fa67478b10181059355c369e5e" @@ -4550,31 +4912,35 @@ hardhat-deploy-ethers@0.3.0-beta.13: resolved "https://registry.yarnpkg.com/hardhat-deploy-ethers/-/hardhat-deploy-ethers-0.3.0-beta.13.tgz#b96086ff768ddf69928984d5eb0a8d78cfca9366" integrity sha512-PdWVcKB9coqWV1L7JTpfXRCI91Cgwsm7KLmBcwZ8f0COSm1xtABHZTyz3fvF6p42cTnz1VM0QnfDvMFlIRkSNw== -hardhat-deploy@^0.7.10: - version "0.7.11" - resolved "https://registry.yarnpkg.com/hardhat-deploy/-/hardhat-deploy-0.7.11.tgz#93f79dfbb529eeda24ac963e23a19064d536be2f" - integrity sha512-ONLH3NH8Biuhky44KRFyaINVHM8JI4Ihy1TpntIRZUpIFHlz9h3gieq46H7iwdp6z3CqMsOCChF0riUF3CFpmQ== - dependencies: - "@ethersproject/abi" "^5.0.0" - "@ethersproject/abstract-signer" "^5.0.0" - "@ethersproject/address" "^5.0.0" - "@ethersproject/bignumber" "^5.0.0" - "@ethersproject/bytes" "^5.0.0" - "@ethersproject/contracts" "^5.0.0" - "@ethersproject/providers" "^5.0.0" - "@ethersproject/solidity" "^5.0.0" - "@ethersproject/transactions" "^5.0.0" - "@ethersproject/wallet" "^5.0.0" - "@types/qs" "^6.9.4" +hardhat-deploy@^0.11.26: + version "0.11.26" + resolved "https://registry.yarnpkg.com/hardhat-deploy/-/hardhat-deploy-0.11.26.tgz#df2698cbafb575a014be6226e559ef467168cbdd" + integrity sha512-GvnkD8v6q0coCQbwZNeUcO3ab1zz36FKsqzNdm6EcnVoAfXVkFpdA0pgJ7/Rk3+Lv5709xOtbneFOyoukUOhWQ== + dependencies: + "@ethersproject/abi" "^5.7.0" + "@ethersproject/abstract-signer" "^5.7.0" + "@ethersproject/address" "^5.7.0" + "@ethersproject/bignumber" "^5.7.0" + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/constants" "^5.7.0" + "@ethersproject/contracts" "^5.7.0" + "@ethersproject/providers" "^5.7.2" + "@ethersproject/solidity" "^5.7.0" + "@ethersproject/transactions" "^5.7.0" + "@ethersproject/wallet" "^5.7.0" + "@types/qs" "^6.9.7" axios "^0.21.1" - chalk "^4.1.0" - chokidar "^3.4.0" - debug "^4.1.1" - form-data "^3.0.0" - fs-extra "^9.0.0" + chalk "^4.1.2" + chokidar "^3.5.2" + debug "^4.3.2" + enquirer "^2.3.6" + ethers "^5.5.3" + form-data "^4.0.0" + fs-extra "^10.0.0" match-all "^1.2.6" murmur-128 "^0.2.1" qs "^6.9.4" + zksync-web3 "^0.14.3" hardhat-gas-reporter@^1.0.4: version "1.0.8" @@ -4590,30 +4956,31 @@ hardhat-log-remover@^2.0.2: resolved "https://registry.yarnpkg.com/hardhat-log-remover/-/hardhat-log-remover-2.0.2.tgz#6014fe2c515ced1e0eaa7a4d854e37695aaac61a" integrity sha512-TvEWOisQmZUZ7Mlb7s4XYS/MxgZzjFJSjDI8v3uTcrD6aaXy1QtomW6D6WNsISEWtwwRlSntOGpHQwFjrz2MCw== -hardhat-tracer@^1.0.0-alpha.5: - version "1.0.0-alpha.6" - resolved "https://registry.yarnpkg.com/hardhat-tracer/-/hardhat-tracer-1.0.0-alpha.6.tgz#4545a772930567cad4620ee9448cb76e89b07b02" - integrity sha512-QXKEJPaCDU0P7ZNHvFuGQoKLZ9+uma3ASAoPjhHr4CYwgIHcronVPZ7zkztRc7LhDbKFffIuoh0jEQWGgR6Neg== +hardhat-tracer@^2.2.2: + version "2.2.2" + resolved "https://registry.yarnpkg.com/hardhat-tracer/-/hardhat-tracer-2.2.2.tgz#10a791381774cd526a70cdcc48167e0d1b14ebd9" + integrity sha512-+zZnVy24XgB/sksczP914Ar0HuYhSqAu2dgelVL3+xetLq7gLDAr3N28V4T1sCRM97oJ1PLx0iHzFV1OvYn0Yw== dependencies: - ethers "^5.0.24" + chalk "^4.1.2" + ethers "^5.6.1" -hardhat@^2.12.7: - version "2.12.7" - resolved "https://registry.yarnpkg.com/hardhat/-/hardhat-2.12.7.tgz#d8de2dc32e9a2956d53cf26ef4cd5857e57a3138" - integrity sha512-voWoN6zn5d8BOEaczSyK/1PyfdeOeI3SbGCFb36yCHTJUt6OIqLb+ZDX30VhA1UsYKzLqG7UnWl3fKJUuANc6A== +hardhat@^2.14.0: + version "2.14.0" + resolved "https://registry.yarnpkg.com/hardhat/-/hardhat-2.14.0.tgz#b60c74861494aeb1b50803cf04cc47865a42b87a" + integrity sha512-73jsInY4zZahMSVFurSK+5TNCJTXMv+vemvGia0Ac34Mm19fYp6vEPVGF3sucbumszsYxiTT2TbS8Ii2dsDSoQ== dependencies: "@ethersproject/abi" "^5.1.2" "@metamask/eth-sig-util" "^4.0.0" - "@nomicfoundation/ethereumjs-block" "^4.0.0" - "@nomicfoundation/ethereumjs-blockchain" "^6.0.0" - "@nomicfoundation/ethereumjs-common" "^3.0.0" - "@nomicfoundation/ethereumjs-evm" "^1.0.0" - "@nomicfoundation/ethereumjs-rlp" "^4.0.0" - "@nomicfoundation/ethereumjs-statemanager" "^1.0.0" - "@nomicfoundation/ethereumjs-trie" "^5.0.0" - "@nomicfoundation/ethereumjs-tx" "^4.0.0" - "@nomicfoundation/ethereumjs-util" "^8.0.0" - "@nomicfoundation/ethereumjs-vm" "^6.0.0" + "@nomicfoundation/ethereumjs-block" "5.0.1" + "@nomicfoundation/ethereumjs-blockchain" "7.0.1" + "@nomicfoundation/ethereumjs-common" "4.0.1" + "@nomicfoundation/ethereumjs-evm" "2.0.1" + "@nomicfoundation/ethereumjs-rlp" "5.0.1" + "@nomicfoundation/ethereumjs-statemanager" "2.0.1" + "@nomicfoundation/ethereumjs-trie" "6.0.1" + "@nomicfoundation/ethereumjs-tx" "5.0.1" + "@nomicfoundation/ethereumjs-util" "9.0.1" + "@nomicfoundation/ethereumjs-vm" "7.0.1" "@nomicfoundation/solidity-analyzer" "^0.1.0" "@sentry/node" "^5.18.1" "@types/bn.js" "^5.1.0" @@ -4903,9 +5270,9 @@ immediate@~3.2.3: integrity sha512-RrGCXRm/fRVqMIhqXrGEX9rRADavPiDFSoMb/k64i9XMk8uH4r/Omi5Ctierj6XzNecwDbO4WuFbDD1zmpl3Tg== immutable@^4.0.0-rc.12: - version "4.1.0" - resolved "https://registry.yarnpkg.com/immutable/-/immutable-4.1.0.tgz#f795787f0db780183307b9eb2091fcac1f6fafef" - integrity sha512-oNkuqVTA8jqG1Q6c+UglTOD1xhC1BtjKI7XkCXRkZHrN5m18/XsnUp8Q89GkQO/z+0WjonSvl0FLhDYftp46nQ== + version "4.3.0" + resolved "https://registry.yarnpkg.com/immutable/-/immutable-4.3.0.tgz#eb1738f14ffb39fd068b1dbe1296117484dd34be" + integrity sha512-0AOCmOip+xgJwEVTQj1EfiDDOkPmuyllDuTuEX+DDXUgapLAsBIfkg3sxCYyCEA8mQqZrrxPUGjcOQ2JS3WLkg== import-fresh@^2.0.0: version "2.0.0" @@ -5355,6 +5722,11 @@ isurl@^1.0.0-alpha5: has-to-string-tag-x "^1.2.0" is-object "^1.0.1" +js-sdsl@^4.1.4: + version "4.4.0" + resolved "https://registry.yarnpkg.com/js-sdsl/-/js-sdsl-4.4.0.tgz#8b437dbe642daa95760400b602378ed8ffea8430" + integrity sha512-FfVSdx6pJ41Oa+CF7RDaFmTnCaFhua+SNYQX74riGOpl96x+2jQCqEfQ2bnXu/5DPCqlRuiqyvTJM0Qjz26IVg== + js-sha3@0.5.7, js-sha3@^0.5.7: version "0.5.7" resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.5.7.tgz#0d4ffd8002d5333aabaf4a23eed2f6374c9f28e7" @@ -5452,6 +5824,11 @@ json-schema-traverse@^0.4.1: resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== +json-schema-traverse@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" + integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== + json-schema@0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.4.0.tgz#f7de4cf6efab838ebaeb3236474cbba5a1930ab5" @@ -5507,6 +5884,11 @@ jsonify@~0.0.0: resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" integrity sha512-trvBk1ki43VZptdBI5rIlG4YOzyeH/WefQt5rj1grasPn4iiZWKet8nkgc4GlsAylaztn0qZfUYOiTsASJFdNA== +jsonparse@^1.2.0: + version "1.3.1" + resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280" + integrity sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg== + jsprim@^1.2.2: version "1.4.2" resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.2.tgz#712c65533a15c878ba59e9ed5f0e26d5b77c5feb" @@ -5525,16 +5907,7 @@ keccak@3.0.1: node-addon-api "^2.0.0" node-gyp-build "^4.2.0" -keccak@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/keccak/-/keccak-3.0.2.tgz#4c2c6e8c54e04f2670ee49fa734eb9da152206e0" - integrity sha512-PyKKjkH53wDMLGrvmRGSNWgmSxZOUqbnXwKL9tmgbFYA1iAYqW21kfR7mZXV0MlESiefxQQE9X9fTa3X+2MPDQ== - dependencies: - node-addon-api "^2.0.0" - node-gyp-build "^4.2.0" - readable-stream "^3.6.0" - -keccak@^3.0.2: +keccak@^3.0.0, keccak@^3.0.2: version "3.0.3" resolved "https://registry.yarnpkg.com/keccak/-/keccak-3.0.3.tgz#4bc35ad917be1ef54ff246f904c2bbbf9ac61276" integrity sha512-JZrLIAJWuZxKbCilMpNz5Vj7Vtb4scDG3dMXLOsbzBmQGyjwE61BbW7bJkfKKCShXiQZt3T6sBgALRtmd+nZaQ== @@ -5803,6 +6176,11 @@ lodash.assign@^4.0.3, lodash.assign@^4.0.6: resolved "https://registry.yarnpkg.com/lodash.assign/-/lodash.assign-4.2.0.tgz#0d99f3ccd7a6d261d19bdaeb9245005d285808e7" integrity sha512-hFuH8TY+Yji7Eja3mGiuAxBqLagejScbG8GbG0j6o9vzn0YL14My+ktnqtZgFTosKymC9/44wP6s7xyuLfnClw== +lodash.truncate@^4.4.2: + version "4.4.2" + resolved "https://registry.yarnpkg.com/lodash.truncate/-/lodash.truncate-4.4.2.tgz#5a350da0b1113b837ecfffd5812cbe58d6eae193" + integrity sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw== + lodash@4.17.20: version "4.17.20" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52" @@ -6142,6 +6520,11 @@ mixin-deep@^1.2.0: for-in "^1.0.2" is-extendable "^1.0.1" +mkdirp-classic@^0.5.2: + version "0.5.3" + resolved "https://registry.yarnpkg.com/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz#fa10c9115cc6d8865be221ba47ee9bed78601113" + integrity sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A== + mkdirp-promise@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/mkdirp-promise/-/mkdirp-promise-5.0.1.tgz#e9b8f68e552c68a9c1713b84883f7a1dd039b8a1" @@ -6176,11 +6559,10 @@ mnemonist@^0.38.0: obliterator "^2.0.0" mocha@^10.0.0: - version "10.0.0" - resolved "https://registry.yarnpkg.com/mocha/-/mocha-10.0.0.tgz#205447d8993ec755335c4b13deba3d3a13c4def9" - integrity sha512-0Wl+elVUD43Y0BqPZBzZt8Tnkw9CMUdNYnUsTfOM1vuhJVZL+kiesFYsqwBkEEuEixaiPe5ZQdqDgX2jddhmoA== + version "10.2.0" + resolved "https://registry.yarnpkg.com/mocha/-/mocha-10.2.0.tgz#1fd4a7c32ba5ac372e03a17eef435bd00e5c68b8" + integrity sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg== dependencies: - "@ungap/promise-all-settled" "1.1.2" ansi-colors "4.1.1" browser-stdout "1.3.1" chokidar "3.5.3" @@ -6317,6 +6699,11 @@ mute-stream@0.0.7: resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" integrity sha512-r65nCZhrbXXb6dXOACihYApHw2Q6pV0M3V0PSxd74N0+D8nzAdEAITq2oAjA1jVnKI+tGvEBUpqiMh0+rW6zDQ== +nan@^2.16.0, nan@^2.17.0: + version "2.17.0" + resolved "https://registry.yarnpkg.com/nan/-/nan-2.17.0.tgz#c0150a2368a182f033e9aa5195ec76ea41a199cb" + integrity sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ== + nano-json-stream-parser@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/nano-json-stream-parser/-/nano-json-stream-parser-0.1.2.tgz#0cc8f6d0e2b622b479c40d499c46d64b755c6f5f" @@ -6344,10 +6731,10 @@ nanomatch@^1.2.9: snapdragon "^0.8.1" to-regex "^3.0.1" -napi-macros@~2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/napi-macros/-/napi-macros-2.0.0.tgz#2b6bae421e7b96eb687aa6c77a7858640670001b" - integrity sha512-A0xLykHtARfueITVDernsAWdtIMbOJgKgcluwENp3AlsKN/PloyO10HtmoqnFAQAcxPkgZN7wdfPfEd0zNGxbg== +napi-macros@^2.2.2: + version "2.2.2" + resolved "https://registry.yarnpkg.com/napi-macros/-/napi-macros-2.2.2.tgz#817fef20c3e0e40a963fbf7b37d1600bd0201044" + integrity sha512-hmEVtAGYzVQpCKdbQea4skABsdXW4RUh5t5mJ2zzqowJS2OyXZTU1KhDVFhx+NlWZ4ap9mqR9TcDO3LTTttd+g== natural-compare@^1.4.0: version "1.4.0" @@ -6398,14 +6785,14 @@ node-fetch@~1.7.1: is-stream "^1.0.1" node-gyp-build@^4.2.0, node-gyp-build@^4.3.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.5.0.tgz#7a64eefa0b21112f89f58379da128ac177f20e40" - integrity sha512-2iGbaQBV+ITgCz76ZEjmhUKAKVf7xfY1sRl4UiKQspfZMH2h06SyhNsnSVy50cwkFQDGLyif6m/6uFXHkOZ6rg== + version "4.6.0" + resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.6.0.tgz#0c52e4cbf54bbd28b709820ef7b6a3c2d6209055" + integrity sha512-NTZVKn9IylLwUzaKjkas1e4u2DLNcV4rdYagA4PWdPwW87Bi7z+BznyKSRwS/761tV/lzCGXplWsiaMjLqP2zQ== -nofilter@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/nofilter/-/nofilter-1.0.4.tgz#78d6f4b6a613e7ced8b015cec534625f7667006e" - integrity sha512-N8lidFp+fCz+TD51+haYdbDGrcBWwuHX40F5+z0qkUjMJ5Tp+rdSuAkMJ9N9eoolDlEVTf6u5icM+cNKkKW2mA== +nofilter@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/nofilter/-/nofilter-3.1.0.tgz#c757ba68801d41ff930ba2ec55bab52ca184aa66" + integrity sha512-l2NNj07e9afPnhAhvgVrCD/oy2Ai1yfLpuo3EpiO1jFTsB4sFz6oIfAfSZyQzVpkZQ9xS8ZS5g1jCBgq4Hwo0g== normalize-package-data@^2.3.2: version "2.5.0" @@ -6459,11 +6846,16 @@ object-copy@^0.1.0: define-property "^0.2.5" kind-of "^3.0.3" -object-inspect@^1.12.0, object-inspect@^1.9.0, object-inspect@~1.12.2: +object-inspect@^1.12.0, object-inspect@~1.12.2: version "1.12.2" resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.2.tgz#c0641f26394532f28ab8d796ab954e43c009a8ea" integrity sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ== +object-inspect@^1.9.0: + version "1.12.3" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.3.tgz#ba62dffd67ee256c8c086dfae69e016cd1f198b9" + integrity sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g== + object-is@^1.0.1: version "1.1.5" resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.5.tgz#b9deeaa5fc7f1846a0faecdceec138e5778f53ac" @@ -6579,6 +6971,11 @@ optionator@^0.8.2: type-check "~0.3.2" word-wrap "~1.2.3" +ordinal@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/ordinal/-/ordinal-1.0.3.tgz#1a3c7726a61728112f50944ad7c35c06ae3a0d4d" + integrity sha512-cMddMgb2QElm8G7vdaa02jhUNbTSrhsgAGUz1OokD83uJTwSUn+nKoNoKVVaRa08yF6sgfO7Maou1+bgLd9rdQ== + os-homedir@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" @@ -6980,6 +7377,11 @@ proxy-addr@~2.0.7: forwarded "0.2.0" ipaddr.js "1.9.1" +proxy-from-env@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2" + integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== + prr@~1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" @@ -7055,6 +7457,14 @@ pull-window@^2.1.4: dependencies: looper "^2.0.0" +pump@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/pump/-/pump-1.0.3.tgz#5dfe8311c33bbf6fc18261f9f34702c47c08a954" + integrity sha512-8k0JupWme55+9tCVE+FS5ULT3K6AbgqrGa58lTT49RpyfwwcGedHqaC5LlQNdEAumn/wFsu6aPwkuPMioy8kqw== + dependencies: + end-of-stream "^1.1.0" + once "^1.3.1" + pump@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" @@ -7085,13 +7495,20 @@ qs@6.10.3: dependencies: side-channel "^1.0.4" -qs@^6.4.0, qs@^6.7.0, qs@^6.9.4: +qs@^6.4.0: version "6.11.0" resolved "https://registry.yarnpkg.com/qs/-/qs-6.11.0.tgz#fd0d963446f7a65e1367e01abd85429453f0c37a" integrity sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q== dependencies: side-channel "^1.0.4" +qs@^6.7.0, qs@^6.9.4: + version "6.11.1" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.11.1.tgz#6c29dff97f0c0060765911ba65cbc9764186109f" + integrity sha512-0wsrzgTz/kAVIeuxSjnpGC56rzYtr6JT/2BwEvMaPhFIoYa1aGO8LbzuU1R0uUYQkLpWBTOj0l/CLAJB64J6nQ== + dependencies: + side-channel "^1.0.4" + qs@~6.5.2: version "6.5.3" resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.3.tgz#3aeeffc91967ef6e35c0e488ef46fb296ab76aad" @@ -7136,7 +7553,7 @@ range-parser@~1.2.1: resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== -raw-body@2.5.1, raw-body@^2.4.1: +raw-body@2.5.1: version "2.5.1" resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.5.1.tgz#fe1b1628b181b700215e5fd42389f98b71392857" integrity sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig== @@ -7146,6 +7563,16 @@ raw-body@2.5.1, raw-body@^2.4.1: iconv-lite "0.4.24" unpipe "1.0.0" +raw-body@^2.4.1: + version "2.5.2" + resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.5.2.tgz#99febd83b90e08975087e8f1f9419a149366b68a" + integrity sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA== + dependencies: + bytes "3.1.2" + http-errors "2.0.0" + iconv-lite "0.4.24" + unpipe "1.0.0" + read-pkg-up@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02" @@ -7186,7 +7613,20 @@ readable-stream@^2.0.0, readable-stream@^2.0.5, readable-stream@^2.2.2, readable string_decoder "~1.1.1" util-deprecate "~1.0.1" -readable-stream@^3.0.6, readable-stream@^3.6.0: +readable-stream@^2.3.0, readable-stream@^2.3.5: + version "2.3.8" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.8.tgz#91125e8042bba1b9887f49345f6277027ce8be9b" + integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.3" + isarray "~1.0.0" + process-nextick-args "~2.0.0" + safe-buffer "~5.1.1" + string_decoder "~1.1.1" + util-deprecate "~1.0.1" + +readable-stream@^3.0.6: version "3.6.0" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== @@ -7195,7 +7635,16 @@ readable-stream@^3.0.6, readable-stream@^3.6.0: string_decoder "^1.1.1" util-deprecate "^1.0.1" -readable-stream@~1.0.15: +readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.5.0, readable-stream@^3.6.0: + version "3.6.2" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967" + integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + +readable-stream@~1.0.15, readable-stream@~1.0.26-4: version "1.0.34" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c" integrity sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg== @@ -7364,7 +7813,7 @@ require-from-string@^1.1.0: resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-1.2.1.tgz#529c9ccef27380adfec9a2f965b649bbee636418" integrity sha512-H7AkJWMobeskkttHyhTVtS0fxpFLjxhbfMa6Bk3wimP7sdPRGL3EyCg3sAQenFfAe+xQ+oAc85Nmtvq0ROM83Q== -require-from-string@^2.0.0: +require-from-string@^2.0.0, require-from-string@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== @@ -7734,6 +8183,15 @@ slice-ansi@^2.1.0: astral-regex "^1.0.0" is-fullwidth-code-point "^2.0.0" +slice-ansi@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b" + integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ== + dependencies: + ansi-styles "^4.0.0" + astral-regex "^2.0.0" + is-fullwidth-code-point "^3.0.0" + snapdragon-node@^2.0.1: version "2.1.1" resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" @@ -7913,6 +8371,11 @@ spdx-license-ids@^3.0.0: resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.12.tgz#69077835abe2710b65f03969898b6637b505a779" integrity sha512-rr+VVSXtRhO4OHbXUiAF7xW3Bo9DuuF6C5jH+q/x15j2jniycgKbxU09Hr0WqlSLUs4i4ltHGXqTe7VHclYWyA== +split-ca@^1.0.0, split-ca@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/split-ca/-/split-ca-1.0.1.tgz#6c83aff3692fa61256e0cd197e05e9de157691a6" + integrity sha512-Q5thBSxp5t8WPTTJQS59LrGqOZqOsrhDGDVm8azCqIBjSBd7nd9o2PM+mDulQQkh8h//4U6hFZnc/mul8t5pWQ== + split-string@^3.0.1, split-string@^3.0.2: version "3.1.0" resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" @@ -7925,6 +8388,17 @@ sprintf-js@~1.0.2: resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== +ssh2@^1.11.0: + version "1.11.0" + resolved "https://registry.yarnpkg.com/ssh2/-/ssh2-1.11.0.tgz#ce60186216971e12f6deb553dcf82322498fe2e4" + integrity sha512-nfg0wZWGSsfUe/IBJkXVll3PEZ//YH2guww+mP88gTpuSU4FtZN7zu9JoeTGOyCNx2dTDtT9fOpWwlzyj4uOOw== + dependencies: + asn1 "^0.2.4" + bcrypt-pbkdf "^1.0.2" + optionalDependencies: + cpu-features "~0.0.4" + nan "^2.16.0" + sshpk@^1.7.0: version "1.17.0" resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.17.0.tgz#578082d92d4fe612b13007496e543fa0fbcbe4c5" @@ -8197,6 +8671,17 @@ table@^5.2.3: slice-ansi "^2.1.0" string-width "^3.0.0" +table@^6.8.0: + version "6.8.1" + resolved "https://registry.yarnpkg.com/table/-/table-6.8.1.tgz#ea2b71359fe03b017a5fbc296204471158080bdf" + integrity sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA== + dependencies: + ajv "^8.0.1" + lodash.truncate "^4.4.2" + slice-ansi "^4.0.0" + string-width "^4.2.3" + strip-ansi "^6.0.1" + tape@^4.6.3: version "4.16.0" resolved "https://registry.yarnpkg.com/tape/-/tape-4.16.0.tgz#18310f57b71c0ac21b3ef94fe5c16033b3d6362b" @@ -8218,6 +8703,50 @@ tape@^4.6.3: string.prototype.trim "~1.2.6" through "~2.3.8" +tar-fs@~1.16.3: + version "1.16.3" + resolved "https://registry.yarnpkg.com/tar-fs/-/tar-fs-1.16.3.tgz#966a628841da2c4010406a82167cbd5e0c72d509" + integrity sha512-NvCeXpYx7OsmOh8zIOP/ebG55zZmxLE0etfWRbWok+q2Qo8x/vOR/IJT1taADXPe+jsiu9axDb3X4B+iIgNlKw== + dependencies: + chownr "^1.0.1" + mkdirp "^0.5.1" + pump "^1.0.0" + tar-stream "^1.1.2" + +tar-fs@~2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/tar-fs/-/tar-fs-2.0.1.tgz#e44086c1c60d31a4f0cf893b1c4e155dabfae9e2" + integrity sha512-6tzWDMeroL87uF/+lin46k+Q+46rAJ0SyPGz7OW7wTgblI273hsBqk2C1j0/xNadNLKDTUL9BukSjB7cwgmlPA== + dependencies: + chownr "^1.1.1" + mkdirp-classic "^0.5.2" + pump "^3.0.0" + tar-stream "^2.0.0" + +tar-stream@^1.1.2: + version "1.6.2" + resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-1.6.2.tgz#8ea55dab37972253d9a9af90fdcd559ae435c555" + integrity sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A== + dependencies: + bl "^1.0.0" + buffer-alloc "^1.2.0" + end-of-stream "^1.0.0" + fs-constants "^1.0.0" + readable-stream "^2.3.0" + to-buffer "^1.1.1" + xtend "^4.0.0" + +tar-stream@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-2.2.0.tgz#acad84c284136b060dc3faa64474aa9aebd77287" + integrity sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ== + dependencies: + bl "^4.0.3" + end-of-stream "^1.4.1" + fs-constants "^1.0.0" + inherits "^2.0.3" + readable-stream "^3.1.1" + tar@^4.0.2: version "4.4.19" resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.19.tgz#2e4d7263df26f2b914dee10c825ab132123742f3" @@ -8274,7 +8803,7 @@ through2@^2.0.3: readable-stream "~2.3.6" xtend "~4.0.1" -through@^2.3.6, through@~2.3.4, through@~2.3.8: +"through@>=2.2.7 <3", through@^2.3.6, through@~2.3.4, through@~2.3.8: version "2.3.8" resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg== @@ -8298,6 +8827,11 @@ tmp@0.1.0: dependencies: rimraf "^2.6.3" +to-buffer@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/to-buffer/-/to-buffer-1.1.1.tgz#493bd48f62d7c43fcded313a03dcadb2e1213a80" + integrity sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg== + to-fast-properties@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.3.tgz#b83571fa4d8c25b82e231b06e3a3055de4ca1a47" @@ -8533,9 +9067,9 @@ underscore@1.9.1: integrity sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg== undici@^5.14.0: - version "5.20.0" - resolved "https://registry.yarnpkg.com/undici/-/undici-5.20.0.tgz#6327462f5ce1d3646bcdac99da7317f455bcc263" - integrity sha512-J3j60dYzuo6Eevbawwp1sdg16k5Tf768bxYK4TUJRH7cBM4kFCbf3mOnM/0E3vQYXvpxITbbWmBafaDbxLDz3g== + version "5.21.2" + resolved "https://registry.yarnpkg.com/undici/-/undici-5.21.2.tgz#329f628aaea3f1539a28b9325dccc72097d29acd" + integrity sha512-f6pTQ9RF4DQtwoWSaC42P/NKlUjvezVvd9r155ohqkwFNRyBKM3f3pcty3ouusefNRyM25XhIQEbeQ46sZDJfQ== dependencies: busboy "^1.6.0" @@ -9322,3 +9856,8 @@ yocto-queue@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== + +zksync-web3@^0.14.3: + version "0.14.3" + resolved "https://registry.yarnpkg.com/zksync-web3/-/zksync-web3-0.14.3.tgz#64ac2a16d597464c3fc4ae07447a8007631c57c9" + integrity sha512-hT72th4AnqyLW1d5Jlv8N2B/qhEnl2NePK2A3org7tAa24niem/UAaHMkEvmWI3SF9waYUPtqAtjpf+yvQ9zvQ==