Destination Vault rewards are not added to idleIncrease when info.totalAssetsPulled > info.totalAssetsToPull
In the `_withdraw` function, Destination Vault rewards will be first recorded in `info.IdleIncrease` by `info.idleIncrease += _baseAsset.balanceOf(address(this)) - assetPreBal - assetPulled;`.\\nBut when `info.totalAssetsPulled` > info.totalAssetsToPull, `info.idleIncrease` is directly assigned as `info.totalAssetsPulled` - info.totalAssetsToPull, and `info.totalAssetsPulled` is `assetPulled` without considering Destination Vault rewards.\\n```\\n                uint256 assetPreBal = _baseAsset.balanceOf(address(this));\\n                uint256 assetPulled = destVault.withdrawBaseAsset(sharesToBurn, address(this));\\n\\n                // Destination Vault rewards will be transferred to us as part of burning out shares\\n                // Back into what that amount is and make sure it gets into idle\\n                info.idleIncrease += _baseAsset.balanceOf(address(this)) - assetPreBal - assetPulled;\\n                info.totalAssetsPulled += assetPulled;\\n                info.debtDecrease += totalDebtBurn;\\n\\n                // It's possible we'll get back more assets than we anticipate from a swap\\n                // so if we do, throw it in idle and stop processing. You don't get more than we've calculated\\n                if (info.totalAssetsPulled > info.totalAssetsToPull) {\\n                    info.idleIncrease = info.totalAssetsPulled - info.totalAssetsToPull;\\n                    info.totalAssetsPulled = info.totalAssetsToPull;\\n                    break;\\n                }\\n```\\n\\nFor example,\\n```\\n                    // preBal == 100 pulled == 10 reward == 5 toPull == 6\\n                    // idleIncrease = 115 - 100 - 10 == 5\\n                    // totalPulled(0) += assetPulled == 10 > toPull\\n                    // idleIncrease = totalPulled - toPull == 4 < reward\\n```\\n\\nThe final `info.idleIncrease` does not record the reward, and these assets are not ultimately recorded by the Vault.
`info.idleIncrease = info.totalAssetsPulled - info.totalAssetsToPull;` -> `info.idleIncrease += info.totalAssetsPulled - info.totalAssetsToPull;`
The final `info.idleIncrease` does not record the reward, and these assets are not ultimately recorded by the Vault.\\nMeanwhile, due to the `recover` function's inability to extract the `baseAsset`, this will result in no operations being able to handle these Destination Vault rewards, ultimately causing these assets to be frozen within the contract.
```\\n                uint256 assetPreBal = _baseAsset.balanceOf(address(this));\\n                uint256 assetPulled = destVault.withdrawBaseAsset(sharesToBurn, address(this));\\n\\n                // Destination Vault rewards will be transferred to us as part of burning out shares\\n                // Back into what that amount is and make sure it gets into idle\\n                info.idleIncrease += _baseAsset.balanceOf(address(this)) - assetPreBal - assetPulled;\\n                info.totalAssetsPulled += assetPulled;\\n                info.debtDecrease += totalDebtBurn;\\n\\n                // It's possible we'll get back more assets than we anticipate from a swap\\n                // so if we do, throw it in idle and stop processing. You don't get more than we've calculated\\n                if (info.totalAssetsPulled > info.totalAssetsToPull) {\\n                    info.idleIncrease = info.totalAssetsPulled - info.totalAssetsToPull;\\n                    info.totalAssetsPulled = info.totalAssetsToPull;\\n                    break;\\n                }\\n```\\n